求知
文章
文库
Lib
视频
iPerson
课程
认证
咨询
工具
讲座
Model Center
Code
会员
找课
开班计划
|
技术学院
|
管理学院
|
嵌入式学院
|
机械
|
军工学院
|
定向培养
|
专家指导
|
角色培养
电话
English
成功案例
品质保证
成功案例
知名某轨 “ReWorks中
塞默菲舍 《嵌入式软件架构设
某水声通 嵌入式Linux应
广汽研究 ARM处理器体系架
联合汽微 嵌入式软件架构设计
某全球知 Linux内核和系
广汽研究 嵌入式软件架构设计
更多...
相关课程
UML +RoseRealtime+嵌入式
C++嵌入式系统开发
嵌入式白盒测试
手机软件测试
嵌入式软件测试
嵌入式操作系统VxWorks
更多...
全部课程
>
嵌入式开发
Linux BSP和驱动深入剖析
821 次浏览
56 次
宋老师
知名嵌入式系统专家,2008~2009年度十大畅销书、十大原创图书《Linux设备驱动开发详解》作者
时间地点:
北京、上海、深圳根据报名开班
课程费用:
5000元/人
报公开课
要内训
企业内训:
可以根据企业需求,定制内训,详见
内训学习手册
认证方式:
培训前了解能力模型。 培训后进行能力评测:
在线考试
能力分析,给出学习建议
合格者颁发证书,作为职业技能资格证明
本课程详解 Linux 内核编程的并发、同步、中断、定时器、内存、 DMA 和 cache 等问题,结合实例讲解 Linux 驱动各种设备驱动架构、 I/O 模型以及 Linux 的移植、设备树代码的编写等。
本课程的布局安排是,每天上课约 4 小时,实验约 2 小时。要求学员亲自在电脑和电路板上进行实验。
培训目标:
内核编程主要API深入剖析
定时器
中断
Linux内核模块
Linux内核的调试
Linux设备驱动模型
设备驱动并发控制与I/O模型
Linux复杂设备驱动
将Linux移植到一个新的SoC或电路板
设备树(Device Tree)
培训对象:
Linux开发者(熟练地使用Linux,在Linux上从事开发)
学员基础:
了解Linux开发知识,具备一定的Linux开发经验
授课方式:
定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训
内容:2天
第一章 内核编程
1.板卡介绍和使用
2.Bootloader 、 kernel 、文件系统构成
3. 怎么更新板子里的东西
第 1 节 内核编程主要 API 深入剖析
1 同步与并发 (atomic, spinlock,mutex,completion 深入理解 )
2 等待队列
3 内核延时
4 内存申请和释放
5 用作 DMA 的内存
6 内存屏障与寄存器访问
第 2 节 定时器
1 内核定时器 tick
2 tickless
3 高精度定时器 hrtimer
第 3 节 中断
1 中断顶底半部
2 软中断
3 tasklet
4 工作队列
5 threaded_irq
6 多核中断 affinity 及软中断负载均衡
第 4 节 Linux 内核模块
1 内核模块 init 和 exit
2 输入参数
3 输出参数
4 模块的 license 与 GPL
第 5 节 Linux 内核的调试
1 printk
2 Oops 和 panic
3 initcall_debug
4 电源管理 suspend/resume debug
5 earlyprintk 与 low level debug
6 proc 和 sys
7 grabserial
8 soft 和 hard lockup
9 内核的源码级调试
10 内核模块的源码级调试
11 ftrace
第二章 设备驱动
第 1 节 Linux 设备驱动模型
1 Linux 设备分类
2 Sys ,总线、设备、驱动和 class
3 热插拔
4 电源管理
5 udev
第 2 节 设备驱动并发控制与 I/O 模型
1 Linux 字符设备驱动结构
2 Linux 设备驱动中的并发控制
3 Linux 设备驱动中的阻塞与非阻塞 I/O
4 Linux 多路复用 I/O
5 Signal IO 与 AIO
6 用户空间 I/O 与多线程设计原则
第 3 节 Linux 复杂设备驱动
1 设备驱动分层框架
2 设备驱动的面向对象设计
3 platform 驱动
4 基于 I2C/SPI/USB 等总线的驱动
5 块设备驱动与块 I/O 调度
6 网络设备驱动
案例分析
1 input 子系统
2 LCD 子系统
3 DM9000 网卡
4 ADI 网卡
5 vmem_disk
第三章 Linux移植和BSP构建
第 1 节 将 Linux 移植到一个新的 SoC 或电路板
1 OS timer
2 L2 cache
3 early_printk
4 clk tree
5 GPIO
6 pinmux
7 IRQ chip
8 DMA
9 MACH_INIT
10 社区维护
第 2 节 设备树 (Device Tree)
1 用一个假设的简单电路板从头到尾构建一个 dts 文件
2 dts 编译为 dtb ,与 dtb 反编译为 dts
3 machine 级的匹配
4 driver 和 device 级的匹配
5 基地址、中断、 gpio 、时钟、 reset 、 pinmux 等常规属性
6 dts 节点自定义属性
7 启动过程中 dtb 的读取与展开
8 i2c, spi 子节点的展开
9 dts 的分级与 dtsi
10 dt binding 文档
报公开课
要内训
821 次浏览
56 次
其他人还看了课程
嵌入式Linux 内核原理与系统搭建
755 次浏览
Linux内核进程、内存和I/O
923 次浏览
Linux BSP和驱动深入剖析
821 次浏览
FPGA应用设计初级
651 次浏览
ARM处理器体系架构与编程
1439 次浏览
最新活动计划
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
LLM大模型应用与项目构建 12-26
[特惠]
UML和EA进行系统分析设计 12-20[线上]
数据建模方法与工具 12-3[北京]
SysML建模专家 1-16[北京]