驱动学习计划参考

最近在网上看到一个培训班的课程安排,虽然时间上有点不现实,但是学习的方向倒是可以参考参考。
以此来督促自己,系统搭建好后,后面驱动的移植、开发学习应该需要尽快落实了。

时间     课程大纲

第一天
学习目标     

    通过本课学习,学员可以从用户设备I/O编程角度深入了解设备驱动的原理;通过了解字符设备驱动框架和具体硬件设备I/O操作,能够进行字符设备驱动开发;了解linux2.6内核的设备模型及掌握udev的使用。
9:00
|
12:00     

1. LINUX字符设备驱动程序开发
    1.1 LINUX字符设备驱动基础
    1.2 字符设备驱动程序实现框架与典型驱动分析
    1.3 用户空间与内核空间的数据传输
    1.4 同步、互斥、阻塞、睡眠机制
    1.5 Linux-2.6设备模型与sysfs文件系统
    1.6 udev与devfs文件系统
13:00
|
16:00     

【实验】
    1、驱动开发编程环境与内核配置、编译
    2、编写模块化字符设备驱动程序与测试
    3、如何为内核程序传递参数
    4、在驱动代码中加入创建proc结点方法
    5、蜂鸣器驱动程序编写与测试
    6、编写驱动实现包含等待队列、信号量、fifo等功能
    7、学会利用udev和sysfs文件系统动态创建设备结点

第二天
学习目标     

    通过本课学习,学员可以掌握在基本字符设备驱动的基础上增加复杂的内核机制;了解1inux内核中断子系统的实现原理,掌握linux中断处理程序编写方法;掌握内核延时机制及内存管理机制。
9:00
|
12:00     2. 设备驱动中常用的内核机制
    2.1 Poll和select操作
    2.2 异步通知机制
    2.3 1inux内核中断子系统
    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转换实验

第三天
学习目标     

    通过本课学习,学员可以明白Linux中块设备驱动的特点及框架,独立分析Linux中大部分块设备的驱动方法,并熟悉MTD设备驱动的特点与框架,具备MTD Nand Flash驱动程序开发的能力。通过实验,学员还可以掌握IDE、Ramdisk驱动移植方法。
9:00
|
12:00     

3. LINUX块设备驱动程序开发
    3.1 块设备及其驱动的特点
    3.2 块设备驱动程序中两个关键结构体GEN_DISK与REQUEST
    3.3 块设备驱动程序的注册与请求处理
    3.4 MTD设备的特点以及与块设备的关系
    3.5 MTD设备驱动的框架及关键结构体分析
    3.6 S3C2410(S3C2440)中的NAND FLASH控制器分析
    3.7 S3C2410(S3C2440) NAND FLASH MTD驱动分析
13:00
|
16:00     

【实验】
    1、编写简单的块设备驱动程序
    2、实现RAMDISK驱动
    3、IDE硬盘的驱动移植
    4、移植S3C2410 闪存控制器驱动
    5、配置MTD内核选项
    6、移植嵌入式文件系统

第四天
学习目标     

    网络设备是嵌入式产品开发,特别是基于网络的产品开发中最重要的内容之一。通过本课学习,学员可以深入理解Linux网络驱动程序中有关套接字(socket)、套接字缓冲区(sk_buff)等概念,了解网络驱动程序的数据交换过程。通过实际的动手操作,学员将掌握如何移植或编写具体网卡的驱动程序,并在此基础上实现更为高级的网络功能。了解MMC/SD卡的物理及电气特性,熟悉相关的工作协议,并在此基础上能够移植或编写Linux下的 MMC/SD控制器的驱动程序。
9:00
|
12:00     

4. LINUX网络设备驱动程序开发
    4.1 OSI网络参考模型
    4.2 套接字(SOCKET)简介
    4.3 套接字缓冲区(SK_BUFF)
    4.4 NET_DEVICE结构分析
    4.5 数据包传送与接收
    4.6 网络驱动的中断处理
    4.7 网络设备驱动程序的基本实现
5. LINUX下MMC/SD卡驱动开发
    5.1 嵌入式系统中几种常见存储介质的比较(NOR/NAND FLASH、CF、MMC/SD)
    5.2 MMC/SD卡物理及电气规范简介
    5.3 MMC/SD卡工作中的关键命令及关键结构信息
    5.4 S3C2410(S3C2440)中MMC/SDHOST控制器分析
    5.5 LINUX中MMC/SD存储卡驱动程序结构分析
    5.6 S3C2410(S3C2440)中MMC/SD HOST控制器的驱动实现
13:00
|
16:00     

【实验】
    1、编写简单的虚拟以太网卡驱动程序
    2、移植并编写CS8900A网卡驱动程序
    3、移植并编写DM9000网卡驱动程序
    4、配置网络参数,测试网卡驱动程序行为
    5、MMC/SD协议分析
    6、在LINUX源码中加入针对ARM平台的MMC/SD主控制器驱动的支持

第五天
学习目标     

    通过本课学习,学员可掌握嵌入式Linux显示驱动程序的开发方法,理解嵌入式Linux图形驱动程序实现机制,能够移植或编写嵌入式显示控制器驱动程序,并完成针对各种LCD硬件的定制。
9:00
|
12:00     

6. LINUX帧缓冲驱动程序开发
    6.1 帧缓冲显示技术
    6.2 帧缓冲驱动程序显示原理
    6.3 帧缓冲驱动程序的数据结构
    6.4 帧缓冲驱动程序的API
    6.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、写触屏测试代码

第六天
学习目标     

    掌握USB通讯规范及拓扑结构中的主机控制器、HUB、USB设备的工作流程;掌握S3C2410 USB device控制器的工作原理;最后在S3C2410开发板上编写usbtransfer固件程序,结合PC机上windows环境下的DNW软件,实现基于usb的文件下载功能。通过Linux下USB驱动开发内容的学习,学员将深入理解Linux内核USB子系统,掌握USB驱动程序编写技术。经过学习后的学员能够移植或编写 USB主机OHCI和设备驱动程序,最后通过对usbtransfer设备的驱动编程,实现在linux环境下的文件下载功能(替换DNW的下载功能)。
9:00
|
12:00     

8. LINUX下USB驱动开发基础
    8.1 USB规范介绍
    8.2 USB主机控制器
    8.3 USB HUB
    8.4 USB设备状态
    8.5 USB描述符
    8.6 USB请求
    8.7 USB通讯数据格式
    8.8 S3C2410 USB device控制器
    8.9 编写usbtransfer固件程序
9. LINUX下USB驱动高级开发
    9.1 Linux USB驱动层次
    9.2 Linux USB主机控制器驱动介绍
    9.3 Linux USB HUB驱动介绍
    9.4 Linux USB 设备驱动程序
    9.5 编写usbtransfer设备驱动程序
    9.6 编写usbtransfer设备应用程序
13:00
|
16:00     

【实验】
    1、在开发板上烧写并测试USB固件程序
    2、usbtransfer固件程序分析与编写
    3、使用usbview工具观察USB设备
    4、使用sysfs分析USB层次结构
    5、LINUX下编写usbtransfer设备驱动实现USB下载
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水资源是人类社会的宝贵财富,在生活、工农业生产中是不可缺少的。随着世界人口的增长及工农业生产的发展,需水量也在日益增长,水已经变得比以往任何时候都要珍贵。但是,由于人类的生产和生活,导致水体的污染,水质恶化,使有限的水资源更加紧张。长期以来,油类物质(石油类物质和动植物油)一直是水和土壤中的重要污染源。它不仅对人的身体健康带来极大危害,而且使水质恶化,严重破坏水体生态平衡。因此各国都加强了油类物质对水体和土壤的污染的治理。对于水中油含量的检测,我国处于落后阶段,与国际先进水平存在差距,所以难以满足当今技术水平的要求。为了取得具有代表性的正确数据,使分析数据具有与现代测试技术水平相应的准确性和先进性,不断提高分析成果的可比性和应用效果,检测的方法和仪器是非常重要的。只有保证了这两方面才能保证快速和准确地测量出水中油类污染物含量,以达到保护和治理水污染的目的。开展水中油污染检测方法、技术和检测设备的研究,是提高水污染检测的一条重要措施。通过本课题的研究,探索出一套适合我国国情的水质污染现场检测技术和检测设备,具有广泛的应用前景和科学研究价值。 本课题针对我国水体的油污染,探索一套检测油污染的可行方案和方法,利用非分散红外光度法技术,开发研制具有自主知识产权的适合国情的适于野外便携式的测油仪。利用此仪器,可以检测出被测水样中亚甲基、甲基物质和动植物油脂的污染物含量,为我国众多的环境检测站点监测水体的油污染状况提供依据。
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值