广州linux系统块设备驱动开发培训班

    2023-06-30发布, 次浏览 收藏 置顶 举报
  • 授课时间:

    业余时间,全天班

  • 授课对象:

    想学嵌入式的学员

  • 网报价格:电询    课程原价:电询
  • 咨询热线:400-998-6158
  • 授课地址:广州海珠区
  • 课程详情

  • 机构简介
  • 地图信息
  • 预约试听

linux系统块设备驱动开发培训

开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中 是设备驱动,嵌入式系统中驱动程序更为重要,几乎每一个嵌入式系统都是从驱动程序员手中调试出来的。然而面对巨大的市场需求,国内很难找到一家专门系统培训Linux驱动工程师的培训机构,因为培训难度大,对老师的经验和知识面要求高,大部分培训机构的课程仅仅对Linux 浅尝即止,难以达到培养 Linux 高水平人才的目的。 嵌入式linux驱动培训是华清远见的金牌课程,本课程融合了讲师多年的项目开发经验,这些经验无疑是学员短期内提升驱动开发水平有效的捷径。

课程目标
驱动程序开发是嵌入式Linux项目中工作量大的一部分内容,开发出高质量的驱动程序是项目成功的关键。随着产品上市周期的缩短,市场对于驱动程序开发 人员的要求也在日益增加。 本课程旨在培养具备开发Linux下驱动程序的人才,采用理论教学与实验相结合的方式,系统地介绍Linux下设备驱动程序开发过程。通过本课程的 学习,学员可以掌握Linux下字符设备、块设备、网络设备、framebuffer设备、sd卡等驱动程序、usb驱动的开发,同时掌握嵌入式Linux的系统开发和分析方法。
入学要求
学员学习本课程应具备下列基础知识:
◆ 熟练使用Linux操作系统,如学员具有一定的Linux内核阅读经验,效果会更好;
◆ 熟悉C语言,熟悉指针、结构体等概念;

◆ 了解接口电路和数字电路的知识,好具有电路设计经验。


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

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

13:00
|
16:00

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

第二天
学习目标 通过本课习,学员可以掌握在基本字符设备驱动的基础上增加复杂的内核机制;了解1inux内核中断子系统的实现原理,掌握linux中断处理程序编写方法;掌握内核延时机制及内存管理机制。熟悉基于Cortex-A9 4核处理器的FS4412平台。
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、编写驱动实现包含poll功能
2、编写驱动实现包含异步通知功能
3、编写秒表字符设备,掌握定时器用法
4、编写驱动实现tasklet功能
5、编写驱动实现工作队列功能
6、FS4412平台上按键中断实验
7、FS4412平台上A/D转换实验

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

3.LINUX块设备驱动程序开发
3.1 块设备及其驱动的特点
3.2 两个关键结构体GEN_DISK与REQUEST
3.3 块设备驱动程序的注册与请求处理
3.4 EXYNOS4412上的eMMC控制器简介

13:00
|
16:00

实验:
1、编写简单的块设备驱动程序
2、实现RAMDISK驱动
3、FS4412上完成eMMC驱动

第四天
学习目标 学员可以:深入理解Linux网络驱动程序中有关套接字(socket)、套接字缓冲区(sk_buff)等概念,了解网络驱动程序的数据交换过程。通过实际的动手操作,学员将掌握如何移植或编写具体网卡的驱动程序,并在此基础上实现更为*的网络功能。
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. I2C驱动子系统开发
6. SPI驱动子系统开发

13:00
|
16:00

实验:
1、编写简单的虚拟以太网卡驱动程序
2、移植并编写DM9000网卡驱动程序
3、配置网络参数,测试网卡驱动程序行为

第五天
学习目标 通过对Linux帧缓冲内容的学习,学员可掌握嵌入式Linux显示驱动程序的开发方法,理解嵌入式Linux图形驱动程序实现机制,能够移植或编写嵌入式显示控制器驱动程序,并完成针对各种LCD硬件的定制。
掌握电容触摸屏工作原理,能够移植或编写触摸屏驱动程序。
9:00
|
12:00

7.LINUX帧缓冲驱动程序开发
7.1 帧缓冲显示技术
7.2 帧缓冲驱动程序显示原理
7.3 帧缓冲驱动程序的数据结构
7.4 帧缓冲驱动程序的API
7.5 帧缓冲驱动程序的基本实现
7.6 使用*图形库
8.电容触摸屏驱动开发
8.1 电容触摸屏驱动程序编写

13:00
|
16:00

实验:
1、熟悉FRAMEBUFFER驱动的结构
2、熟悉FRAMEBUFFER中的重要数据结构
3、编写EXYNOS4412彩色LCD控制器驱动程序
4、编写测试程序控制屏幕显示
5、编译*图形库例子,显示图形
6、熟悉触屏驱动程序
7、编写触屏测试代码

第六天
学习目标 掌握USB通讯规范及拓扑结构中的主机控制器、HUB、USB设备的工作流程;掌握EXYNOS4412 USB device控制器的工作原理。
通过Linux下USB Host驱动和USB Gadget开发内容的学习,学员将深入理解Linux内核USB子系统,掌握USB驱动程序编写技术。经过学习后的学员能够移植或编写USB Host和USB Gadget设备驱动程序。
9:00
|
12:00

9.LINUX下USB驱动开发基础
9.1 USB规范介绍
9.2 USB主机控制器
9.3 USB HUB
9.4 USB设备状态
9.5 USB描述符
9.6 USB请求
9.7 USB通讯数据格式
9.8 EXYNOS4412 USB device控制器
9.9 编写usbtransfer固件程序
10.LINUX下USB驱动*开发
10.1 Linux USB驱动层次
10.2 Linux USB主机控制器驱动介绍
10.3 Linux USB HUB驱动介绍
10.4 Linux USB 设备驱动程序
10.5 Linux USB Host设备驱动程序
10.6 Linux USB Gadget设备驱动程序
11.Linux下其它*设备驱动简单介绍
11.1 PCI/PCIE设备驱动介绍
11.2 V4L2摄像头驱动介绍
11.3 MTD Flash驱动介绍

13:00
|
16:00

实验:
1、使用usbview工具观察USB设备
2、使用sysfs分析USB层次结构
3、LINUX下编写USB Host设备驱动
4、LINUX下编写USB Gadget设备驱动


更多培训课程,学习资讯,课程优惠等学校信息,请进入 广州海珠区嵌入式培训广州白云区单片机培训 网站详细了解,免费咨询电话:400-998-6158

预约试听
  • 姓名: *
  • 性别:
  • 手机号码: *
  • QQ:
  • 微信:
  • 其它说明:
  • 验证码: *  看不清,请点击刷新
相关课程