一、嵌入式C语言
C语言是嵌入式领域最主要的编程语言,重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等
.
二、Linux基础
Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器、VI编译器、GCC调试器、GDB和Make项目管理工具,Shell Makefile脚本编写等知识,嵌入式开发环境的搭建
.
三、Linux系统编程
重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信,同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力
.
四、Linux网络编程
Linux系统应用开发过程中使用非常广泛计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发
.
五、数据结构与算法
数据结构及算法在嵌入式底层驱动、通信协议及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容
.
六、C++、QT
C++是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。
.
七、Cortex A8、Linux平台开发
通过基于ARM Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作,集成部署Linux系统整个流程。
.
八、驱动开发
驱动程序设计是嵌入式Linux开发工作中重要的一部分,本阶段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。