【一、驱动移植课程背景】

       2010年中秋、国庆将至,喜迎双节,举国同庆!值此,北京亚嵌教育中心特此推出黄金周“嵌入式Linux驱动+内核移植专题班”!7天的时间,可以去旅游、可以在家休息,还可以快速充电!
       此课程聚集亚嵌的优质师资,结合广大嵌入式爱好者最关心也是最难以掌握的驱动、内核移植技术难点,通过老师经验性的讲授和大量的实操训练,7天的时间,让您不再为驱动开发、系统移植而发愁!

【二、课程概况如下: 】

【三、课程大纲如下:】

【第一部分   嵌入式linux驱动开发部分 】


课程安排

课程内容

理论部分

3学时

Linux驱动程序开发基础

1. 驱动程序与模块概念
◆ Linux设备驱动的概念
◆ Platform device模型介绍
◆ 模块的概念
◆ 模块的构建、编译和加载
2.字符设备驱动程序
◆ 字符设备驱动程序概念
◆ 主设备号和次设备号
◆ fs_operation结构分析
◆ 驱动程序调试技术简单介绍
3. 中断处理
◆ 中断机制
◆ softirq机制

3学时

Linux块设备驱动程序开发

1 Linux块设备驱动程序概要
◆ 块设备驱动程序的特点和工作原理
◆ 块设备驱动的设备文件接口概念
◆ 块设备驱动的文件系统接口概念
2. Linux块设备驱动程序实现要素分析
◆ 块设备驱动的注册接口(register_blkdev等)
◆ 块设备驱动操作接口(open,release,ioctl等)
◆ 块设备驱动的request队列和request操作

块设备代码分析

代码分析(vdisk.c)
◆ vdisk.c的注册接口
◆ vdisk.c的open,release,ioctl
◆ vdisk.c的request队列和request操作

3学时

LCD Framebuffer设备驱动程序开发

Framebuffer设备驱动
◆ Framebuffer驱动程序原理,结构分析、及数据结构
◆ Framebuffer驱动程序设计

3学时

网络设备驱动程序开发

1. 网卡设备介绍
◆ 常见网卡
◆ 网卡芯片所实现的协议层功能
◆ cs8900网卡芯片手册导读
◆ cs8900网卡硬件电路分析
2. Linux网络驱动结构
◆ Linux TCPIP网络结构概述
◆ Linux网络设备结构
3. 网卡设备介绍
◆ 常见网卡
◆ 网卡芯片所实现的协议层功能
◆ cs8900网卡芯片手册导读
◆ cs8900网卡硬件电路分析

3学时

USB设备原理

1. usb 概念介绍
2. usb host/client分类说明
3. usb 地址端点的使用
4. usb 四种传输类型及其作用
5. usb 协议实现及其详解
6. usb 设备即插即用过程

实验部分

3学时

第一部分驱动基础实验

实验一:模块的构建、编译和装载,hello world模块的实现
实验二:Platform device模型实验
实验三:GPIO按键实验——使用中断机制访问

3学时

第二部分块设备驱动实验

实验一: 修改vdisk.c支持多个设备
实验二: 在实验一基础上为vdisk.c添加字符设备接口实现
(实现open,close,ioctl,read,write,lseek方法)

3学时

第三部分 Framebuffer实验

实验一:LCD Framebuffer——通过mmap操作fb设备
实验二:LCD Framebufferr——通过mmap显示图片

【第二部分   嵌入式linux移植部分 】


课程安排

课程内容

理论部分
共9学时

3学时

嵌入式系统移植

  • 嵌入式系统移植基本概念
  • Bootloader移植
  • 操作系统移植
  • 应用程序移植

Bootloader移植

1. U-boot简介和架构分析
2. U-boot代码要点分析
3. 实现自己的bootloader

3学时

Arm Linux核心移植架构分析

1. Linux的中断结构
2. Linux的定时器
3. Linux的设备地址映射
4. Linux基本I/O(serial或显示)
5. Linux的初试化

Linux核心的初试化代码分析(ARM平台)

1. 汇编中初始化,核心初始化pgd,虚拟空间的切换
2. 内存和硬件的初始化
3. 中断和定时器的初始化
4. 设备驱动的初始化
5. 根文件系统的挂载
6. init进程的启动

3学时

Linux核心的编译和链接结构分析

1. Linux核心的makefile和Kconfig结构分析
2. Linux核心的链接脚本分析

Linux核心的平台相关层代码分析

1. ARM平台相关层代码结构(arm)
2. S3C2410的平台相关层代码结构(plat-S3C24xx)
3. S3C2410板级相关层代码结构(mach-S3C2410)

Linux核心移植

1. 和板级移植相关的代码和数据结构
2. 和平台级移植相关的代码和数据结构

实验部分
共9学时

3学时

第一部分实验

实验一:构建、编译和装载自己的bootloader
实验二:x-modem功能的实现
实验三:启动Linux代码的实现

3学时

第二部分实验

实验一:编译和配置Linux核心(S3C2410平台)
实验二:修改Linux的启动logo
实验三:在Bootloader实验的基础上修改核心启动参数
实验四:实现ramdisk的挂载
实验五:实现一个简单的init进程

3学时

第三部分实验

实验一:S3C2410板级移植实验
实验二:S3C2410平台级移植实验

    亚嵌金牌讲师李明老师谈亚嵌教育实训教学的理念和方法,点击查看详细

 

北京亚嵌教育       全国免费咨询电话:400-650-3060        地址:北京市海淀区中关村北二条乙五号(赛特瑞科技楼二层)