对思科实施嵌入式Linux培训

简介:

2010年初对思科实施嵌入式Linux开发培训,感谢思科员工的支持。
第一天
_________________________________________________________________
课程一: 动手构建一个嵌入式Linux系统
_________________________________________________________________

   1.
      进入嵌入式Linux的精彩世界

1.1 Linux的特点、版本演进与发展方向
1.2 嵌入式Linux系统组成
1.3 开发环境构建
1.3.1 安装设置ARM工具链
1.3.2 安装设置NFS文件系统
1.3.3 安装设置SSH服务
1.3.3 安装设置TFTP服务
1.4 GNU工具链和GDB调试
1.4.1 常用GNU工具的使用
1.4.2 使用gdb调试器

   2.
      构建Linux Bootloader

2.1 编译和运行U-Boot
2.2 U-Boot移植

   3.
      内核编译与配置

3.1 内核配置Kconfig和Makefile
3.2 内核编译
3.2 在内核中新增和修改程序

   4.
      构建文件系统

4.1 文件系统组成
4.2 Busybox编译与配置
4.3 加入C库
4.4 加入应用程序
4.4.1 编写一个应用程序
4.4.2 使用NFS服务
4.4.3 使用TFTP服务
第二天
第5章 让系统映像更小
5.1 内核裁剪
5.2 文件系统裁剪
5.2.1 C库裁剪
5.2.2 应用程序裁剪
_________________________________________________________________
课程二: Linux内核和内核开发技术(驱动开发必备的内核知识)
_________________________________________________________________
第6章 成为一个Linux内核开发者
6.1 patch和邮件列表
6.2官方源代码演进
6.3 商业发行版版本维护
6.4 源代码与项目管理工具
6.5 内核代码检查和check-in
第7章 Linux内核工作机理
7.1 内核总体结构
7.2 进程管理
7.3 内存管理
7.4 文件系统
7.5 系统调用
第8章 Linux内核编程
8.1 内核编程主要API
8.1.1 同步与并发
8.1.2 等待队列
8.1.3 内核延时
8.1.4 内存申请和释放
8.2 定时器
8.3 中断顶底半部
8.3.1 软中断
8.3.2 tasklet
8.3.3 工作队列
8.3.4 threaded_irq
8.4 Linux内核线程
8.5 IO与内存访问
8.6 DMA与cache一致性
第9章 Linux内核模块开发
9.1 内核模块组成
9.2 编写一个内核模块
9.3 加载和卸载内核模块
9.4 内核模块进入文件系统
第三天
第10章 Linux内核调试方法
10.1 printk
10.2 oops和panic
10.3 内核debug选项
10.4 gdb、kgdb和kdb
10.5 使用仿真器
_________________________________________________________________
课程三: Linux设备驱动开发(驱动原理、软件架构与设备实例)
_________________________________________________________________
第11章 Linux字符设备驱动结构
11.1 Linux字符设备驱动结构
11.2 globalmem虚拟设备实例描述
11.3 globalmem设备驱动
11.3.1加载与卸载设备驱动
11.3.2打开与释放函数
11.3.3读写函数
11.3.4 seek函数
11.3.5 ioctl函数
11.4 globalmem驱动的编译与加载
11.5 globalmem驱动在用户空间的验证
第12章 Linux设备驱动中的并发控制
12.1并发控制的概念
12.2何时需要并发控制
12.3自旋锁
12.3.1自旋锁的概念
12.3.2自旋锁相关数据结构与函数
12.4信号量
12.4.1信号量的概念
12.4.2信号量与同步
12.4.3信号量与互斥
12.4.4信号量相关数据结构与函数
12.5增加并发控制后的globalmem驱动
12.5.1在globalmem驱动中增加并发控制
12.5.2在用户空间验证globalmem设备的并发控制
第13章 Linux设备驱动中的阻塞与非阻塞I/O
13.1阻塞与非阻塞I/O
13.2 poll操作的概念
13.3何时需要poll操作
13.4等待队列waitqueues
13.5 Linux poll操作相关数据结构与函数
13.5.1应用程序中的poll相关数据结构与函数
13.5.2设备驱动中的poll相关数据结构与函数
13.6支持poll操作的globalmem驱动
13.6.1在globalmem驱动中增加poll操作
13.6.2在用户空间验证globalmem设备的poll
第14章 Linux设备驱动中的异步通知
14.1异步通知的概念
14.2何时需要异步通知
14.3 Linux异步通知相关数据结构与函数
14.4支持异步通知的globalmem驱动
14.4.1在globalmem驱动中增加异步通知
14.4.2在用户空间验证globalmem的异步通知
第15章 硬件和综合因素:中断、IO访问、驱动分层结构
15.1 以触摸屏驱动为例剖析IO访问
15.2 以触摸屏驱动为例剖析中断的使用
15.3 以音频驱动为例剖析剖析DMA的使用
15.4 范举多个驱动子系统剖析Linux驱动的框架结构

第四天
第16章 Linux块设备驱动
16.1块设备的I/O操作特点
16.2 Linux块设备驱动结构
16.3块设备驱动注册与注销
16.4块设备的打开与释放
16.5块设备驱动的ioctl函数
16.6块设备I/O请求队列
16.6.1请求队列的概念
16.6.2请求队列的相关数据结构与函数
16.6.3请求队列的保护机制
16.7块设备的读写流程
16.8实例:硬盘设备驱动
第17章 Linux Ethernet设备驱动
17.1 Linux网络设备驱动结构
17.2网络设备驱动注册与注销
17.3网络设备初始化
17.4网络设备打开与释放
17.5数据发送流程
17.6数据接收流程
17.7网络连接状态
17.8参数设置和统计数据
17.9实例:CS8900网卡设备驱动
第18章 Linux PCI设备驱动
18.1 PCI的I/O空间、存储空间和配置空间
18.2 Linux PCI设备驱动架构
18.3 PCI设备驱动注册与注销
18.4 PCI设备初始化
18.5 PCI设备的probe
18.6 PCI设备打开与释放
18.7 PCI设备数据读写与控制
18.8 PCI设备驱动中断处理
18.8实例:NE2000 PCI网卡驱动
_________________________________________________________________
课程四: Linux内核移植(BSP构建)
_________________________________________________________________
第19章 Linux BSP构建
19.1 BSP的组成部分
19.2 plat/mach各组件的实现
19.2.1 内核节拍
19.2.2中断管理
19.2.3 时钟
19.2.4 GPIO
19.2.5 DMA
19.2.6 IO内存映射
19.3设备与资源
19.3.1 platform device、resource和plarform data

19.3.2 uart/spi/i2c等设备板级resource





 本文转自 21cnbao 51CTO博客,原文链接:http://blog.51cto.com/21cnbao/272157,如需转载请自行联系原作者


相关文章
|
17天前
|
JSON 机器人 Linux
推荐一款嵌入式Linux开源框架与封装-cpp-tbox
推荐一款嵌入式Linux开源框架与封装-cpp-tbox
48 3
|
1月前
|
Linux 开发工具 git
Linux嵌入式系统中如何使用U-Boot实例
Linux嵌入式系统中如何使用U-Boot实例
26 0
|
1月前
|
Linux Android开发
嵌入式linux中Framebuffer 驱动程序框架分析
嵌入式linux中Framebuffer 驱动程序框架分析
26 0
|
1月前
|
Linux C语言 SoC
嵌入式linux总线设备驱动模型分析
嵌入式linux总线设备驱动模型分析
32 1
|
1月前
|
Linux
嵌入式linux系统设备树实例分析
嵌入式linux系统设备树实例分析
34 0
|
5天前
|
Linux 编译器 测试技术
嵌入式 Linux 下的 LVGL 移植
嵌入式 Linux 下的 LVGL 移植
|
18天前
|
Linux
嵌入式Linux系统(NUC980)tf卡出错处理errors=remount-ro改为errors=continue
嵌入式Linux系统(NUC980)tf卡出错处理errors=remount-ro改为errors=continue
7 1
|
18天前
|
安全 Linux
嵌入式Linux系统关闭串口调试信息的输出
嵌入式Linux系统关闭串口调试信息的输出
13 1
|
18天前
|
Linux 编译器 网络安全
嵌入式Linux移植dropbear
嵌入式Linux移植dropbear
16 3
|
18天前
|
存储 Ubuntu Linux
制作一个嵌入式Linux的应用程序升级文件
制作一个嵌入式Linux的应用程序升级文件
12 2