1、C语言
嵌入式Linux工程师的学习需要具备一定的C语言基本,C语言是嵌入式领域最大也是最主要的编程语言,通过超级多的编程实例要点理解C语言的基本编程以及超级编程知识。包括:基础资料类别、数组、指针、结构体、链表、文件操作、队列、栈等。
2、Linux基本
Linux操作面板系统的概念、安装途径,仔细知道Linux下的目录结构、基础命令、写器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell Makefile脚本编编辑等知识,嵌入式研究环境的搭建。
3、Linux系统编程
要点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、信息队列、共享内存、signal、信号量等),同时与互斥对共享资源采访控制等严重知识,主要提高对Linux应用研究的理解和代码调试的力量。
4、Linux互联网编程
电脑互联网在嵌入式Linux系统应用研究过程中使用非常广泛,通过Linux互联网进步、TCP/IP协议、socket编程、TCP互联网编程、UDP互联网编程、Web编程研究等方面入手,全面知道Linux互联网应用软件程序研究。要点学习互联网编程有关API,熟练把握TCP协议服务器的编程途径和并发服务器的实现,知道编程技术及实现途径。
5、资料结构与算法
资料结构及算法在嵌入式底层驱动、通信协议、及各种引擎研究中会获得超级多的应用,对其把握的好坏直接波及程序的效率、简洁及健壮性。此阶段的学习要要点理解资料结构与算法的基本内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。
6、C++ 、QT
C++是Linux应用研究主要语言之一,本阶段要点把握面向对象编程的基础思想以及C++的严重内容。图形窗口编程是嵌入式研究中非常严重的一个环节。由于QT有着跨平台、面向对象、多姿多彩API、接受2D/3D渲染、接受XML、多华语等厉害功能,在嵌入式领域的GUI研究中获得了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编编辑GUI程序,并移植QT应用软件程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、消息与槽机制的应用、鼠标、键盘及绘图事情处理及文件处理的应用。
7、Cortex A8 、Linux 平台研究
通过基于ARM Cortex-A8处理s5pv210知道芯片手册的基础浏览技术,把握s5pv210系统资源、时钟控制器、电源管理、不正常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader讲解、生产与原理解析、根文件系统生产以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己生产的Linux系统,集成部署Linux系统整个流程。同一时间知道Android操作面板系统研究流程。Android系统是基于Linux平台的开源操作面板系统,该平台由操作面板系统、中间件、玩家窗口和应用应用组成,是第一个为移动终端制造的真正开放和完全的移动应用,目前它的应用不再局限于移动终端,还包括资料电视、机顶盒、PDA等花钱类电子业务。
8、驱动研究
驱动程序设计是嵌入式Linux研究事情中严重的一部分,也是比较困难的一部分。本阶段的学习要熟悉Linux的内核机制、驱动程序与玩家级应用软件程序的接口,把握系统对设备的并发操作。熟悉所研究硬件的事情原理,具备ARM硬件接口的基本知识,熟悉ARM Cortex-A8处理器s5pv210各资源、把握Linux设备驱动原理框架,熟悉工程中常见Linux超级字符设备、块设备、互联网设备、USB设备等驱动研究,在事情中能独立胜任底层驱动研究。
无数人总是会疑问,到底是学驱动好还是学应用好?
其实这种问题很简单,学驱动or学应用完整凭你个体兴趣去选择。毕竟驱动和应用是相辅相成的,之中并没有一个界限,有底层经验,再去做应用,你会感觉很踏实。有了应用经验,你再知道底层,很快就可以组成一个团队。
↓点一下浏览原文就可以观就这样看