适合人群:

熟练使用C语言并了解Linux/Unix系统编程者

你将会学到:

学习linux内核的组织结构,提供的编写驱动的机制,学习利用内核的子系统编写驱动的框架流程,并编写常见设备的驱动,比如:LCD、触摸屏、三轴加速传感器、键盘、灯、数据采集之模拟信号的抽样等。这里会通过实战方式,一边讲一边写代码的授课方式,一步步带你成为底层高级linux驱动工程师。

课程简介:

学习单元

1.基于移动终端的智能家居控制系统

2.基于移动终端的智能大棚控制系统

预期职位

高级linux驱动开发工程师(8K~30K/月)

开发平台

推荐ubuntu 17.04 (64位)

目标平台

基于Exynos4412的ARM开发板

板子型号友善之臂tiny4412,配置了1506核心板,1G运行内存,4G的EMMC800×480的LCD屏及5点触控触摸屏。

核心内容

1. 学习bootloader的命令、环境变量设置、内核的裁剪配置编译、文件系统的制作;

2. Bootloader、内核、文件系统的烧写;

3. linux内核的目录组织及功能、Makefile、Kconfig的作用及编写;

4. 内核源码的查看工具及方式、设备驱动的分类、字符设备驱动的编写;

5. 学习非阻塞型IO、阻塞型IO、异步IO、IO复用等驱动接口;

6. 学习内核的中断的机制、中断共享、中断的上下半部等;

7. 学习GPIO子系统、INPUT子系统的代码框架及编程接口,编写驱动流程;

8. 学习驱动模型、platform总线、spi总线、i2c总线的代码框架及驱动编写流程;

9. 学习内核延时、定时器、高精度定时器;设备树、同步机制、内核线程等技术;

10. 学习驱动程序的调试技术、proc文件的生成技术点、内核数据结构等;

11. 学习常见设备如网卡、USB、声卡等驱动的移植过程。

课程目录:

    01.内核驱动开发概述.mp4
    02.内核源码查看方法.mp4
    03.内核和文件系统的烧写.mp4
    04.根文件系统的制作.mp4
    05.内核编译组织结构.mp4
    06.Kconfig文件语法.mp4
    07.Kconfig文件语法.mp4
    08.Kconfig和Makefile之间的关系.mp4
    09.系统调用函数实现的本质.mp4
    10.内核中实现并添加亮灭led的系统调用函数.mp4
    11.应用层测试内核中添加的系统调用函数实现led的亮灭.mp4
    12.驱动模块的编写技术.mp4
    13.驱动模块的编写技术.mp4
    14.系统调用和驱动模块的串讲.mp4
    15.内核双向循环链表的思想机制.mp4
    16.内核操作双向循环链表的接口精讲及应用实例.mp4
    17.内核中动态申请内存空间的接口.mp4
    18.设备驱动的分类、设备文件和内核驱动之间的关联.mp4
    19.古老的字符设备驱动注册接口及代码实例.mp4
    20.系统调用和内核驱动之间的调用过程.mp4
    21.LED字符设备驱动.mp4
    22.LED之字符设备驱动的第二种注册方式及app编写.mp4
    23.一套驱动支持多个设备的内核缓存设备驱动编写技术.mp4
    24.内核缓存设备驱动的测试app编写.mp4
    25.小节复习.mp4
    26.内核缓存设备驱动之进程阻塞.mp4
    27.内核缓存设备驱动之IO复用poll接口实现.mp4
    28.poll驱动接口之应用层select测试.mp4
    29.poll驱动接口之应用层poll测试.mp4
    30.poll驱动接口之应用层epoll测试.mp4
    31.混杂字符设备驱动注册方法之led驱动.mp4
    32.高级字符设备驱动之ioctl接口实现led操作.mp4
    33.利用gpio子系统操作led驱动.mp4
    34.小节复习.mp4
    35.内核中断请求接口.mp4
    36.双边沿触发按键中断注册.mp4
    37.中断共享.mp4
    38.中断下半部之tasklet实现机制.mp4
    39.中断下半部之workqueue实现机制.mp4
    40.定制linux内核的启动logo.mp4
    41.应用层互斥锁的使用.mp4
    42.应用层自旋锁的使用.mp4
    43.避免死锁.mp4
    44.内核加锁机制之信号量.mp4
    45.内核加锁机制之互斥锁和自旋锁.mp4
    46.自旋锁解决进程和中断之间的竞争.mp4
    47.自旋锁解决进程和中断下半部之间的竞争.mp4
    48.原子操作.mp4
    49.获取鼠标键盘触摸屏等输入设备数据app编写.mp4
    50.利用input子系统编写功能键设备驱动.mp4
    51.input子系统关于单点触控触摸屏数据的上报.mp4
    52.input子系统关于多点触控触摸屏数据的上报.mp4
    53.驱动模型思想机制及涉及接口.mp4
    54.驱动模型之总线、设备、驱动思想.mp4
    55.platform总线机制.mp4
    56.小节复习.mp4
    57.platform总线匹配规则实例.mp4
    58.platform之资源获取实例.mp4
    59.SOC各种控制器的设备对象和驱动对象之组织框架.mp4
    60.pwm驱动蜂鸣器驱动.mp4
    61.测试蜂鸣器驱动之app.mp4
    62.小节复习.mp4
    63.adc控制器的内核驱动框架结构.mp4
    64.基于ADC的定位器电压值抽样驱动及app编写.mp4
    65.I2C控制器的内核驱动框架分析.mp4
    66.5点触控触摸屏驱动编写一.mp4
    67.5点触控触摸屏驱动编写二.mp4
    68.基于I2C控制器的从机驱动扩展.mp4
    69.为5点触控触摸屏驱动编写Kconfig.mp4
    70.操作LCD之frambuffer的APP程序一.mp4
    71.操作LCD之frambuffer的APP程序二.mp4
    72.内核获取bootloader的bootargs环境变量.mp4
    73.LCD驱动框架分析一.mp4
    74.LCD驱动框架分析二.mp4
    75.proc文件创建之LED驱动.mp4
    76.proc文件创建之内核缓存设备驱动.mp4
    77.proc文件系统之可读写文件的创建.mp4
    78.内核系统时间的获取.mp4
    79.复习一.mp4
    80.复习二.mp4
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。