《嵌入式Linux定向学习》课程大纲

第一阶段适合Linux开发零基础学员,目的是掌握嵌入式Linux应用开发基本技能,能编写实际有用的嵌入式Linux应用软件;第二阶段适合已经具备嵌入式Linux基本开发能力的学员,目的是掌握嵌入式Linux系统移植关键技术(BootLoader、Kernel、根文件系统、QT、Android等);第三阶段适合已经具备嵌入式Linux基本开发能力的学员,目的是掌握嵌入式Linux内核/驱动开发技术(按键加LED控制、LCD设备、触摸屏设备、网卡设备、NandFlash设备、摄像头设备等驱动)。

第一阶段(5周)《嵌入式Linux应用开发》

本阶段实训课程针对计算机、电子类相关专业,嵌入式Linux开发零基础学员量身设计,该课程是嵌入式Linux应用开发的入 门课程,也是嵌入式Linux工程师必须要掌握的基本技能。本阶段的学习目标:

√ 掌握Linux下Vi/GCC/GDB/Makefile等常用开发工具

√ 掌握Linux下的指针、结构体、数据结构等编程技能

√ 掌握嵌入式Linux系统下的文件操作编程

√ 掌握嵌入式Linux系统下的网络应用编程

√ 掌握嵌入式Linux系统下的串口应用编程

√ 掌握嵌入式Linux系统下IPC编程

√ 掌握嵌入式Linux系统下的C++开发

√ 独立完成一个嵌入式Linux应用工业控制应用开发项目


一、Linux开发环境

熟悉Linux系统的安装、常用命令、SHELL编程,掌握Linux下Vi/GCC/GDB/Makefile等常用开发工具,理解编译和链接的过程,区分静态链接/静态库与动态链接/动态库各自的优缺点。

C语言的嵌入式开发强化

深入学习嵌入式开发中应用C语言所需要掌握的重点和难点,包括指针(尤其是字符串指针、函数指针等疑难点)、内存
分配(分清堆、栈和全局内存,理解堆、栈和栈帧的工作原理)、位运算、结构体和联合体等,并结合重要的数据结构知识,如链表、队列、树等来讲解C语言。熟悉Linux下所用的AT&T汇编
语言

二、系统高级C编程

掌握Linux系统环境中的高级C语言编程,包括进程与线程、进程间通信(管道、命名管道、共享内存、消息队列、信号
等)、文件I/O编程、串口编程、网络编程(包括TCP/IP协议、socket编程、HTTP协议和WEB服务器编程等)。

三、C++语言的嵌入式开发强化

掌握嵌入式开发中所需要掌握的C++的重点和难点,包括构造函数/析构函数与内存管理、继承与虚函数、C++对象模型、 面向对象分析与设计(OOD)及设计模式基础知识等。

四、项目开发实践

独立完成一个嵌入式Linux应用开发项目,基于Linux 2.6平台,该项目在开课后提前布置给学员,综合了第一阶段学习
内容中的各个要点,学员在学习过程中就可以陆续实现该项目。通过该项目的实现情况,可以衡量学员掌握嵌入式Linux应用开发的实际水平。

第二阶段(6周)《嵌入式Linux系统移植》

本阶段实训课程针对计算机、电子类相关专业,并且已经掌握第一阶段内容的学员,通过该课程学习使得学员能够掌握嵌入式Linux系统移植与开发的核心内容。
本阶段学习目标:

√ 掌握ARM体系结构,基于X86/ARM平台下的Linux内核升级

√ 掌握U-boot、Linux内核的嵌入式平台移植

√ 掌握根文件系统概念,学会移植Cramfs/Yaffs文件系统

√ 掌握移植Qt/Embedded GUI库的移植与嵌入式GUI编程

√ 掌握Android软件平台的移植与软件开发

√ 独立完成一个实际移植项目,包括U-boot、kernel,根文件系统以及GUI库移植

具体内容安排

一、ARM体系结构

掌握ARM体系结构介绍及其基本编程方法ARM指令,包括ARM体系处理器结构,指令分类寄存器,寻址方式、汇编指令集
及伪指令、存储系统、异常中断处理、汇编语言与C语言混合编程等知识。

二、Bootloader移植与开发

掌握如何移植U-boot到ARM平台,并掌握U-boot的具体工作原理与应用;同时通过学习Bootloader的工作原理,学习如
何开发用于ARM的简单Bootloader。

三、内核移植

基于X86/ARM平台升级Linux内核,包括配置、编译、安装Linux内核。Linux内核配置,内核编译和安装Linux内核是嵌 入式Linux系统移植工程师必须要掌握的基本技能。本课程通过实际操作使学员完全掌握升级Linux内核技能。移植Linux 2.6 内核到ARM平台。

四、根文件系统移植

根文件系统概念,移植Jffs2文件系统。根文件系统是嵌入式Linux的重要组成部分,Jffs2文件系统是被广泛应用于嵌
入式Linux系统的一种文件系统。本课程不仅要求学员理解根文件系统的概念,而且要掌握移植Jffs2文件系统的方法。

五、Qt/Embedded移植与开发

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25919.html