该课程由猎学网审核,享受猎学网报名、支付保障
【课程详情】
时间华嵌课程大纲
天学习目标
通过本课学习,学员可以从用户设备I/0编程角度深入了解设备驱动的原理;通过了解字符设备驱动框架和具体硬件设备I/0操作,能够进行字符设备驱动开发;了解linux2.6内核的设备模型及掌握udev的使用。
9:00|12:001.LINUX字符设备驱动程序开发1.1LINUX字符设备驱动基础1.2字符设备驱动程序实现框架与典型驱动分析
1.3用户空间与内核空间的数据传输1.4同步、互斥、阻塞、睡眠机制1.5Linux-2.6设备模型与sysfs文件系统1.6
udev与devfs文件系统
13:00|16:00【实验】1、驱动开发编程环境与内核配置、编译2、编写模块化字符设备驱动程序与测试3、如何为内核程序传递参数
4、在驱动代码中加入创建proc结点方法5、蜂鸣器驱动程序编写与测试6、编写驱动实现包含等待队列、信号量、fifo等功能
7、学会利用udev和sysfs文件系统动态创建设备结点
第2天学习目标
通过本课学习,学员可以掌握在基本字符设备驱动的基础上增加复杂的内核机制;了解1inux内核中断子系统的实现原理,掌握linux中断处理程序编写方法;掌握内核延时机制及内存管理机制。
9:00|12:002.设备驱动中常用的内核机制2.1Poll和select操作2.2异步通知机制2.31inux内核中断子系统
2.4中断处理程序编写2.5驱动程序上/下半部处理与延缓执行机制2.6内核定时器与延迟机制2.7内核内存管理机制
13:00|16:00【实验】1、编写驱动实现包含等待队列、信号量、fifo等功能2、编写驱动实现包含poll功能
3、编写驱动实现包含异步通知功能4、编写秒表字符设备,掌握定时器用法5、编写驱动实现tasklet功能6、编写驱动实现工作队列功能7、按键中断实验
8、A/D转换实验
第3天学习目标
通过本课学习,学员可以明白Linux中块设备驱动的特点及框架,独立分析Linux中大部分块设备的驱动方法,并熟悉M设备驱动的特点与框架,具备MNand
Flash驱动程序开发的能力。通过实验,学员还可以掌握IDE、Ramdisk驱动移植方法。
9:00|12:003.LINUX块设备驱动程序开发3.1块设备及其驱动的特点3.2
块设备驱动程序中两个关键结构体GEN_DISK与REQUEST3.3块设备驱动程序的注册与请求处理3.4M设备的特点以及与块设备的关系3.5
M设备驱动的框架及关键结构体分析3.6S3C2410(S3C2440)中的NANDFLASH控制器分析3.7S3C2410(S3C2440)NAND
FLASHM驱动分析
13:00|16:00【实验】1、编写简单的块设备驱动程序2、实现RAMDISK驱动3、IDE硬盘的驱动移植4、移植S3C2410
闪存控制器驱动5、配置M内核选项6、移植嵌入式文件系统
第4天学习目标
网络设备是嵌入式产品开发,特别是基于网络的产品开发中最重要的内容之1。通过本课学习,学员可以深入理解Linux网络驱动程序中有关套接字(socket)、套接字缓冲区(sk_buff)等概念,了解网络驱动程序的数据交换过程。通过实际的动手操作,学员将掌握如何移植或编写具体网卡的驱动程序,并在此基础上实现更为高级的网络功能。了解MMC/SD卡的物理及电气特性,熟悉相关的工作协议,并在此基础上能够移植或编写Linux下的MMC/SD控制器的驱动程序。
9:00|12:004.LINUX网络设备驱动程序开发4.10SI网络参考模型4.2套接字(S0CKET)简介4.3
套接字缓冲区(SK_BUFF)4.4_DEVICE结构分析4.5数据包传送与接收4.6网络驱动的中断处理4.7网络设备驱动程序的基本实现5.
LINUX下MMC/SD卡驱动开发5.1嵌入式系统中几种常见存储介质的比较(N0R/NANDFLASH、CF、MMC/SD)5.2
MMC/SD卡物理及电气规范简介5.3MMC/SD卡工作中的关键命令及关键结构信息5.4S3C2410(S3C2440)中MMC/SDH0ST控制器分析
5.5LINUX中MMC/SD存储卡驱动程序结构分析5.6S3C2410(S3C2440)中MMC/SDH0ST控制器的驱动实现
13:00|16:00【实验】1、编写简单的虚拟以太网卡驱动程序2、移植并编写CS8900A网卡驱动程序
3、移植并编写DM9000网卡驱动程序4、配置网络参数,测试网卡驱动程序行为5、MMC/SD协议分析
6、在LINUX源码中加入针对ARM平台的MMC/SD主控制器驱动的支持
第5天学习目标
通过本课学习,学员可掌握嵌入式Linux显示驱动程序的开发方法,理解嵌入式Linux图形驱动程序实现机制,能够移植或编写嵌入式显示控制器驱动程序,并完成针对各种LCD硬件的定制。
9:00|12:006.LINUX帧缓冲驱动程序开发6.1帧缓冲显示技术6.2帧缓冲驱动程序显示原理6.3帧缓冲驱动程序的数据结构
6.4帧缓冲驱动程序的API6.5帧缓冲驱动程序的基本实现6.6使用高级图形库7.触摸屏驱动开发7.1触摸屏工作原理7.2
S3C2410触摸屏控制器工作原理7.3触摸屏驱动程序编写
13:00|16:00【实验】1、熟悉FRAMEBUFFER驱动的结构2、熟悉FRAMEBUFFER中的重要数据结构
3、编写S3C2410彩色LCD控制器驱动程序4、编写测试程序控制屏幕显示5、编译高级图形库例子,显示图形6、熟悉触屏驱动程序7、写触屏测试代码
第6天学习目标掌握USB通讯规范及拓扑结构中的主机控制器、HUB、USB设备的工作流程;掌握S3C2410USB
device控制器的工作原理;在S3C2410开发板上编写usbtransfer固件程序,结合PC机上windows环境下的DNW软件,实现基于usb的文件下载功能。通过Linux下USB驱动开发内容的学习,学员将深入理解Linux内核USB子系统,掌握USB驱动程序编写技术。经过学习后的学员能够移植或编写USB主机0HCI和设备驱动程序,通过对usbtransfer设备的驱动编程,实现在linux环境下的文件下载功能(替换DNW的下载功能)。
9:00|12:008.LINUX下USB驱动开发基础8.1USB规范介绍8.2USB主机控制器8.3USBHUB8.4
USB设备状态8.5USB描述符8.6USB请求8.7USB通讯数据格式8.8S3C2410USBdevice控制器8.9
编写usbtransfer固件程序9.LINUX下USB驱动高级开发9.1LinuxUSB驱动层次9.2LinuxUSB主机控制器驱动介绍
9.3LinuxUSBHUB驱动介绍9.4LinuxUSB设备驱动程序9.5编写usbtransfer设备驱动程序9.6
编写usbtransfer设备应用程序
13:00|16:00【实验】1、在开发板上烧写并测试USB固件程序2、usbtransfer固件程序分析与编写
3、使用usbview工具观察USB设备4、使用sysfs分析USB层次结构5、LINUX下编写usbtransfer设备驱动实现USB下载
请联系网站客服,了解详细的课程信息~
优质、便捷、省心
顾问将于24小时内联系您!