第一阶段 Linux操作和编程基础
主要介绍Linux的基本命令和基础编程知识,包括Linux的文件操作和目录操作命令,VI编辑器,GCC编译器,GDB调试器和Make项目管理工具等知识。
第二阶段 嵌入式C语言编程基础
主要介绍在嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点,以复习串讲和实例分析的形式,重点介绍包括函数与程序结构,指针、数组和链表,库函数的使用等知识。
第三阶段 Linux上C强化编程训练
主要包括整数算法训练,递归和栈编程训练,位操作训练,指针训练,字符串训练和常用C库函数编程接口实践,强化学员对Linux下基本编程开发的理解和编码调试的能力。
第四阶段 Linux环境高级编程及项目开发编程实践
主要包括系统编程(信号/系统调用/管道/FIFO/消息队列/共享内存等),文件I/O编程(文件描述符/文件读写接口/原子操作/阻塞与非阻塞IO等,多任务和多线程编程(进程标识/ 用户标识/fork与vfork/多线程概念/线程同步等),网络编程(网络基本概念/套接口编程/网络字节次序/Client/Server结构/UDP编程);掌握Linux下Socket编程的开发流程,熟悉网络编程的调用接口函数和相关数据结构,使学员初步具备在Linux上进行系统编程开发的能力。同时综合之前所学内容和编程技术,以小组为单位进行一个团队合作项目的开发,考核内容包括文件I/O编程,多线程编程,网络编程和项目文档编写。
第五阶段 嵌入式处理器体系结构及编程实践
主要介绍ARM体系结构及其基本编程知识,包括指令分类,寻址方式、指令集、存储系统、异常中断处理、汇编语言以及C\C++和汇编语言的混合编程等知识。同时结合ARM嵌入式开发板硬件设计原理和基本硬件设计流程,分析各种外设的工作原理和驱动机制,并自己动手实践完成一个ARM开发板上的编程大作业。
第六阶段 嵌入式Linux开发基础及高级应用
主要介绍嵌入式Linux开发应用程序的基本流程和知识,包括嵌入式Linux基本概念和开发流程、Bootloader工作原理、内核裁减配置和交叉编译、根文件系统制作、网络编程以及图形界面和数据库开发等知识。同时独立完成一个基于嵌入式Linux GUI的应用编程大作业。
第七阶段 嵌入式 Linux驱动理论及驱动程序开发实践
主要介绍嵌入式Linux上驱动程序开发规范,包括设备驱动程序概念、字符设备驱动程序、块设备与网络设备、网卡驱动以及常用嵌入式设备驱动开发等知识。同时独立实现两种嵌入式设备驱动程序的编写,包括驱动模块的调试和加载以及完整的项目开发文档的编写。
第八阶段 嵌入式Linux项目团队开发实践锻炼
主要包括设计并实现一个真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。要求学员建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。
学习内容 | 掌握程度 | |||
掌握多种编程语言 | C 语言 | 精通 |
|
|
| ARM 汇编语言 |
| 熟悉 |
|
| C++ 语言 |
| 熟悉 |
|
掌握 Linux 高级编程 | 文件操作 | 精通 |
|
|
| 进程/线程 | 精通 |
|
|
掌握两种嵌入式实时操作系统 | Linux | 精通 |
|
|
| uCLinux | 精通 |
|
|
掌握两种处理器体系结构 | ARM 体系结构 | 精通 |
|
|
| MIPS 体系结构 | 精通 |
|
|
掌握ARM核处理器 | Samsung S3C4510 | 精通 |
|
|
| Samsung S3C2410 | 精通 |
|
|
掌握一种 MIPS 核处理器 | MIPS Godson 龙芯 |
| 熟悉 |
|
| MIPS Godson 龙芯 |
| 熟悉 |
|
掌握两种硬件设计工具 | Candence PCB |
|
| 了解 |
| Protel |
|
| 了解 |
掌握两种Linux下编辑软件 | VI | 精通 |
|
|
| EMACS |
|
| 了解 |
掌握两种串口通讯工具 | 超级终端 (Windows) |
| 熟悉 |
|
| MiniCOM (Linux) |
| 熟悉 |
|
掌握三种 Flash 烧写工具 | Flash Programmer (GUI) |
| 熟悉 |
|
| JFlash 烧写软件及原理 | 精通 |
|
|
| SJF系列烧写软件及原理 | 精通 |
|
|
掌握两种调试工具 | JTAG 在线调试器 |
| 熟悉 |
|
| SkyEye 仿真调试工具 |
| 熟悉 |
|
掌握两种集成开发环境 | ARM ADS | 精通 |
|
|
| K-Develop IDE |
| 熟悉 |
|
CVS/SVN |
| 熟悉 |
| |
掌握嵌入式 Linux整体开发流程 |
|
| 熟悉 |
|
GNU 交叉编译器使用 | Cross-compiler-gcc/g++ | 精通 |
|
|
| Linux Makefile 组织结构 | 精通 |
|
|
Bootloader 启动代码 | u-Boot | 精通 |
|
|
| RedBoot |
| 熟悉 |
|
内核编译 | 配置参数设置 | 精通 |
|
|
| 内核调试 |
| 熟悉 |
|
文件系统 | JFFS2 文件系统 | 精通 |
|
|
| NFS 文件系统 | 精通 |
|
|
| ROMFS 文件系统 | 精通 |
|
|
| EXT2 文件系统 |
| 熟悉 |
|
| YAFF 文件系统 |
|
| 了解 |
设备驱动程序 | Linux设备驱动 | 精通 |
|
|
| 串口/GPIO | 精通 |
|
|
| 网卡设备驱动 | 精通 |
|
|
| USB设备驱动 |
| 熟悉 |
|
嵌入式图形系统 | MiniGUI | 精通 |
|
|
| QT/Embedded |
| 熟悉 |
|
| MicroWIN |
|
| 了解 |
嵌入式数据库系统 | SQLLite | 精通 |
|
|
嵌入式应用程序开发 | 网络通讯应用开发 | 精通 |
|
|
| 数据库存储应用开发 |
| 熟悉 |
|
| 多媒体应用开发 |
| 熟悉 |
|
| 图形用户界面开发 | 精通 |
|
|
| Shell 编程技巧 |
| 熟悉 |
|
【说明】 |