Linux内核、驱动深度剖析与编程4天线下课(送驱动书+双核ARM板) 11月15-18日上海见
来源:互联网 发布:htc数据连接已断开 编辑:程序博客网 时间:2024/04/27 21:07
一、课程介绍:
本课程详解Linux内核的组成、编程环境搭建、调试方法,并深度剖析内核的进程调度、内存管理、文件系统等子系统,后深入分析内核编程的并发、同步、中断、定时器、内存、DMA和cache等问题,最后结合实例讲解Linux驱动架构、I/O模型以及底层BSP的开发。
配合一套ARM V7-A架构的多核电路板进行实验,该电路板会配套赠送。另外,本课程也配套赠送畅销书《Linux设备驱动开发详解:基于最新的Linux4.0内核》一本。
本课程的布局安排是,每天上课约4小时,实验约2小时。
二、课程内容
第一天
第1章 进入Linux的精彩世界
1.1 Linux的特点、版本演进与发展方向
1.2 GNU与GPL
1.3 Linux系统组成、启动流程
1.4 开发环境构建
1.5 GNU工具链
1.6 文件系统组成
第2章 Linux内核进程调度
2.1 进程生命周期
2.2 进程调度算法
2.3 进程调度时机
2.4 Linux实时性
2.5 SMP、CPU热插拔与负载均衡
2.6 Cgroups
【实验课】
第二天
第3章 Linux内核内存管理
3.1 MMU系统
3.2 page与zone
3.3 buddy系统
3.4 slab、kmalloc
3.5 进程的内存消耗
3.6 page cache与swap
3.7 内存泄露剖析
第4章 Linux内核文件系统
4.1 虚拟文件系统
4.2 inode、dentry、file和superblock
4.3文件系统与block层
【实验课】
第三天
第5章 内核编程主要API剖析
5.1 同步与并发
5.2 等待队列
5.3 内核延时
5.4 内存申请和释放
5.5 定时器与高精度定时器
5.6 中断顶底半部
5.6.1 软中断
5.6.2 tasklet
5.6.3 工作队列
5.6.4 threaded_irq
5.7 中断及软中断负载均衡
5.8 Linux内核线程
5.9 IO与内存访问
5.10 DMA与cache一致性
第6章 Linux内核模块
6.1 内核模块init和exit
6.2 输入参数
6.3 输出参数
第7章 Linux内核调试方法
7.1 printk
7.2 Oops和panic
7.3 initcall_debug
7.4 suspend/resume debug
7.5 earlyprintk与low level debug
7.6 使用仿真器
7.7 proc和sys
7.8 grabserial
7.8 soft和hard lockup
第8章 Linux设备驱动模型
8.1 Linux设备分类
8.2 Sys,总线,设备和驱动
8.3 热插拔
8.4 电源管理
8.5 udev
【实验课】
第四天
第9章 设备驱动并发控制与I/O模型
9.1 Linux字符设备驱动结构
9.2 Linux设备驱动中的并发控制
9.3 Linux设备驱动中的阻塞与非阻塞I/O
9.4 Linux多路复用I/O
9.5 SignalIO与AIO
9.6 用户空间I/O与多线程设计原则
9.7 C10K问题
第10章 Linux复杂设备驱动
10.1 设备驱动分层框架
10.2 platform驱动
10.3 基于I2C/SPI/USB等总线的驱动
10.4 块设备驱动与块I/O调度
10.5 网络设备驱动
第11章 将Linux移植到一个新的SoC
11.1 early_printk
11.2 L2 cache
11.3 OS timer
11.4 clk tree
11.5 GPIO
11.6 pinmux
11.7 IRQ chip
11.8 DMA
11.9 MACH_INIT
11.10 设备树(device tree)
11.11 社区维护
【实验课】
三、主讲老师: 宋宝华老师。
四、主办单位:
中国高科技产业化研究会信号处理专家委员会
北京中际赛威文化发展有限公司
北京中际孚歌科技有限公司
北京中际荣威科技有限公司
五、研修时间:
2017年11月15-18日
六、研修地点:
上海(具体地点及路线图详见报到通知)
七、收费标准:
4800元/人,含课时费、教材、开发板、上课期间午餐等
八、报名咨询:010-64113137
联系报名
联系人:邴杰 手机:18611266160 扫描二维码加联系人微信
- Linux内核、驱动深度剖析与编程4天线下课(送驱动书+双核ARM板) 11月15-18日上海见
- 本年度最后一期,2017年11月15日上海--Linux内核、驱动深度剖析与编程
- 《Linux系统编程与调试调优技术》四天线下课程--2017年10月25日上海开班
- 《Linux系统编程与调试调优》四天线下课程--2018年1月17-20日上海
- ARM,linux内核,驱动
- ARM内核驱动-字符驱动编程模型
- Linux驱动学习体会(2012年12月4日)
- Linux + ARM驱动开发环境配置(内核配置与编译)
- linux内核外驱动编程
- Linux内核驱动模块编程
- ARM Linux驱动的编译(2.6内核)
- ARM-Linux内核驱动加载过程思路
- 4月27日顶尖Windows内核技术大师David A. Solomon与您相约上海
- [ARM-LINUX]移植2.6.31.12内核到立宇泰ARMSYS2440开发板之LCD驱动+触摸屏驱动
- 11月9日晚7点在线课堂:Flex 4与服务器端通信方式深度剖析
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】深入剖析Linux内核定时器实现机制
- 8月15日现场聆听专家深度剖析嵌入式Linux三大应用领域
- 浅谈linux驱动(3)-linux系统下led驱动2012年02月21日 23:13:52
- Redis命令学习
- Discuz!数据库操作DB类和C::t类介绍
- Python在win系统下对文件操作时文件路径问题
- Error: JAVA_HOME is not set and could not be found 启动hadoop报错
- 技术面试技巧
- Linux内核、驱动深度剖析与编程4天线下课(送驱动书+双核ARM板) 11月15-18日上海见
- 分数化小数保留多位(思路)
- 51nod 1004:n^n的末位数字
- Recyclerview+okhttp+拦截器+ImageLoader
- git bash修改远程仓库地址
- JavaScript高级程序设计–DMO节点变化
- Linux 基础命令(十四)—— 文本处理三剑客之AWK
- 安卓更新ui的几种方式
- 牛栏(Floyd)