掌握如何移植Qt/Embedded
GUI库到ARM平台,深入学习应用Qt/Embedded进行嵌入式GUI开发的要点,包括信号与槽、对
象模型、事件机制、国际化、进程间通信等,并应用Qt/Embedded完成一个嵌入式GUI开发的实践项目。Qt/Embedded是基于Qt的目前最流行的嵌入式GUI和应用程序开发的工具包,它可运行多
种嵌入式设备上基于C++进行开发,主要运行在嵌入式Linux系统上,并且需要C++编译器的支持,并为嵌入式应用程序提供Qt的标准API。本课程要求学员能独立移植Qt/Embedded库到嵌入 式Linux平台。
六、Android移植与开发
移植掌握Android软件平台的移植,并熟悉Android平台的框架、掌握Android平台编程的基本概念与要点,并开发基于 Android的实践项目。Android 是Google开发的基于Linux平台的开源手机平台操作系统。,是目前最热门的嵌入式开发的研究领域,它包括操作系统、用户界面和应用程序等软件,而且不存
在任何以往阻碍移动产业创新的专有权障碍。Android平台是现在和将来手机操作系统的发展方向之一。
本课程要求学员能独立移植Android软件到嵌入式Linux平台。包括摩托罗拉、三星、 LG、T-Mobile、中国移动等在内的各大厂商和运行商都正在展开Android的研发工作。
七、项目开发实践
完成一个完整的实际移植项目,基于ARM9+Linux 2.6平台,包括U-boot、kernel,根文件系统以及GUI库移植。该项目
在开课后提前布置给学员,学员在学习过程中就可以陆续实现该项目,通过该项目的实现情况,可以衡量学员掌握嵌入式Linux系统移植的实际水平。
第三阶段(6周)《嵌入式Linux驱动/内核开发》
嵌入式Linux内核驱动开发第一品牌
本阶段实训课程针对计算机、电子类相关专业,已经掌握嵌入式Linux应用开发以及熟悉嵌入式Linux系统移植 的学生。通过该课程学习,
至少能掌握以下核心技能:
√ 掌握Linux内核模块、内核Makefile、Kconfig的组成原理;
√ 掌握Linux设备驱动模型、Linux中断子系统实现原理;
√ 掌握Linux内核打印调试技术和KDB调试技术;
√ 学会看懂芯片手册(datasheet)、电路原理图;
√ 独立编写字符设备驱动:编写基于ARM的GPIO驱动控制按键、LED等外部设备;
√ 独立编写基于ARM芯片Framebuffer设备驱动、触摸屏设备驱动;
√ 独立编写基于ARM芯片NandFlash芯片驱动程序;
√ 独立编写基于ARM芯片DM9000网卡驱动程序;
√ 完成一个实际应用的ARM嵌入式Linux系统的ov9650摄像头设备驱动开发项目,ov9650摄像头以被广泛应用与安防监控、手机摄像头等领域,属于典型的嵌入式设备
驱动。
具体内容安排:
一、Linux驱动/内核开发基础
掌握Linux内核开发的基础知识,包括内核/驱动开发的特点(如不能访问C库、没有内存保护、同步与并发等),基本
的内核调试技术(printk, oops, gdb/kdb/kgdb等),基于Linux内核的打印调试技术和KDB调试技术。Linux内核调试是内核/驱动开发人员必须要掌握的基本技能。本课程要求学员熟练 Linux内核的多种调试技术模块的开发、编译、加载及卸载,Linux设备驱动模型,驱动程序与硬件、内核(通过虚拟文件系统)及应用程序(通过系统调用)如何交互。
二、字符设备驱动开发
ARM芯片的GIPO控制驱动实现,基于嵌入式Linux2.6内核的字符设备驱动开发,Linux中断子系统的实现过程。针对具体
的实际应用字符设备驱动进行编程学习。本课程要求学员掌握Linux字符设备驱动开发的基本��识,能够独立编写控制硬件外设的字符设备驱动程序。
三、Framebuffer驱动、触摸屏驱动开发
ARM嵌入式Linux下Framebuffer驱动开发,针对嵌入式设备上的LCD驱动进行编程学习,触摸屏设备驱动的代码实现。本
课程要求学员掌握Linux的Framebuffer设备驱动、触摸屏设备驱动开发的基本知识,能够独立编写LCD显示设备、触摸屏驱动程序。
四、块设备驱动开发
基于ARM嵌入式Linux2.6内核的块设备驱动开发,针对具体的实际应用块设备驱动(NandFlash设备驱动)进行编程学习
,掌握Nandflash控制器的硬件接口。本课程要求学员掌握Linux块设备驱动开发的基本知识,能够独立编写块设备驱动程序。
五、网络设备驱动开发