:
:
:
:
:
:
:
:
第八阶段:嵌入式Linux设备驱动开发
课程 |
内容 |
嵌入式Linux设备驱动开发 |
内核及内核编程:内核源码目录结构,内核组成,内核空间与用户空间,内核编译,Kconfig和Makefile,内核引导 |
内核模块:内核模块程序结构,模块加载与卸载,模块使用计数,模块编译 | |
文件系统与设备文件:Linux文件操作,Linux文件系统,Devfs设备文件系统,Udev设备文件系统 | |
字符设备驱动:Linux字符设备驱动结构(cdev与file_opration),字符设备驱动实例,在用户空间验证字符设备驱动 | |
并发控制:并发与竞态的概念,中断屏蔽,原子操作,自旋锁,信号量,互斥体 | |
阻塞与非阻塞I/O:等待队列,轮询操作 | |
异步通知与异步I/O:异步通知编程,AIO与设备驱动 | |
中断与时钟:中断申请、释放、使能、屏蔽,底半部机制,中断共享,内核定时器,内核延时 | |
内存与I/O访问:内存空间与I/O空间,内存管理单元MMU,I/O端口与I/O内存访问,I/O内存映射,DMA编程 | |
设备驱动调试:printk,proc文件系统,Oops,KGDB | |
设备驱动的移植:增加设备驱动可移值性,移植demo驱动、范例驱动,将2.4核驱动移植到2.6核 | |
字符设备驱动实例:按键驱动,触摸屏驱动,NVRAM驱动,看门狗驱动 | |
块设备驱动程序实例:RamDisk驱动,IDE硬盘设备驱动 | |
终端设备驱动实例:UART设备驱动 | |
IIC总线设备驱动实例:S3C2440 IIC设备驱动 | |
网络设备驱动实例:CS8900网卡设备驱动 | |
音频设备驱动实例:OSS音频设备驱动,ALSA音频设备驱动 | |
LCD设备驱动实例:S3C2440 LCD设备驱动 | |
FLASH设备驱动实例:MTD编程,NOR Flash驱动,NAND Flash驱动,Flash文件系统 | |
USB主机与设备驱动实例:USB串口驱动,USB键盘驱动 | |
PCI设备驱动实例:PCI总线与PCI设备,PCI设备驱动结构,主板声卡设备驱动 |
第九阶段:嵌入式软件架构设计
课程 |
内容 |
嵌入式软件架构 |
架构概念:软件架构解释,子系统、框架与架构,软件架构作用 |
架构设计方法与过程:架构设计5视图法,从概念架构到实际架构,软件架构设计过程(需求分析、用例设计、领域建模,架构关键需求,概念性架构,细化架构,架构验证) | |
| |
UML嵌入式设计 |
组件化设计:软、硬件整合设计,嵌入式系统组件化,组件的依赖,组件化软件,对象建模语言UML,UML开发工具,从UML到C,从UML到C++,以C编写面向对象程序 |
组件的沟通:“数据交换”沟通法,“消息传递”沟通法,设计实例(需求分析、组件规划、类设计、对象定义、用例分析、对象协作) | |
Whole-Part结构:组件化与Whole-Part,Whole-Part结构(组合/部分、容器/内容、集合/成员),UML表示Whole-Part,软件Whole-Part结构设计
设计实例 | |
组件状态变化:组件的行为,状态与行为,状态转换,状态转换触发行为,状态设计
设计实例 | |
Use Case:设计Use Case,分解Use Case,Use Case模型角色,描述Use Case,Use Case表达功能,Use Case之间的关系,设计实例 | |
组件的活动:活动图,活动分配,UML表达组件的活动,设计实例 | |
设计模式:设计模式的概念,常用设计模式(Façade、Chain Of Responsibility,State…),UML表示设计模式
设计实例 |