课程知识点 | 具体课程掌握知识点 | 与知识点相关的项目 | 与知识点相关的作业与实验 |
bootloader编程 | 1、Linux启动代码分析 4、启动代码的搬移过程 5、启动代码的初始化流程 6、bootloader简介和架构分析 7、boot常用命令 8、设置u-boot环境变量 9、配置编译u-boot 10、bootloader代码解析及使用 12、添加/修改bootloader功能模块 | USB视频监控项目和IP | 实验: 1、添加u-boot新命令 2、移植u-boot-1.3.4 3、修改Linux的启动logo 4、修改核心启动参数 5、添加硬件检测功能模块 |
字符驱动 | 1、字符设备驱动程序实现框架 2、典型驱动分析 3、用户空间与内核空间的数据传输 4、同步、互斥、阻塞、睡眠机制 5、Linux-2.6设备模型与sysfs文件系统 6、udev与devfs文件系统 7、fs_operation结构分析 8、中断机制 9、softirq机制 | 实验: 1、驱动开发编程环境与内核配置、编译 2、LED驱动程序设计 3、蜂鸣器驱动程序编写与测试 |
| 1、Poll和select操作 2、异步通知机制 3、1inux内核中断子系统 4、中断处理程序编写 5、驱动程序上/下半部处理与延缓执行机制 6、内核定时器与延迟机制 7、内核内存管理机制 8、ioctl型驱动 9、阻塞型驱动程序设计 | 实验: 2、串口驱动程序设计 5、编写驱动实现包含poll功能 7、驱动的测试程序编写 |
块设备驱动 | 1、块设备驱动程序的特点和工作原理 2、块设备驱动程序中两个关键结构体GEN_DISK与REQUEST 3、块设备驱动的设备文件接口概念 4、块设备驱动的文件系统接口概念 5、MTD设备的特点以及与块设备的关系 6、MTD设备驱动的框架及关键结构体分析 7、S3C2440中的NANDFLASH控制器驱动分析 8、块设备驱动的注册接口(register_blkdev)等 9、块设备驱动操作接口(open,release,ioctl等) 10、块设备驱动的request队列和request操作 | 实验: 1、实现RAMDISK驱动 2、移植S3C2410闪存控制器驱动 3、配置MTD内核选项 4、修改vdisk.c支持多个设备 5、移植嵌入式文件系统 代码分析(vdisk.c) 1、vdisk.c的注册接口 2、vdisk.c的open,release,ioctl 3、vdisk.c的request队列和request操作 |
LCDframebuffer设备驱动程序开发 | 1、液晶/触摸屏工作原理 2、S3C2440液晶、触摸屏控制器工作原理 3、LCD屏驱动程序编写 4、framebuffer帧缓冲显示技术 5、帧缓冲驱动程序原理 6、帧缓冲驱动程序的数据结构及结构分析 7、帧缓冲驱动程序的API 8、帧缓冲驱动程序的基本实现 9、使用高级图形库 | 实验 1、熟悉frameBUFFER驱动的结构 2、熟悉frameBUFFER中的重要数据结构 3、编写S3C2440彩色LCD控制器驱动程序 4、编写测试程序控制屏幕显示 6、熟悉触屏驱动程序 7、写触屏测试代码 |
网络设备驱动程序开发 | 1、常见网卡 2、网卡芯片所实现的协议层功能 3、cs8900网卡芯片手册导读 4、cs8900网卡硬件电路分析 5、LinuxTCPIP网络结构概述 6、套接字(S0CKET)简介 7、套接字缓冲区(SK_BUFF) 8、数据包传送与接收 9、_DEVICE结构分析 10、网络驱动的中断处理 11、网络设备驱动程序的基本实现 12、Linux网络设备结构 | 实验: 1、编写简单的虚拟以太网卡驱动程序 2、移植并编写CS8900A网卡驱动程序 3、cs8900与DM9000网卡驱动程序对比 4、配置网络参数,测试网卡驱动程序行为 |
USB设备原理 | 1.USB规范介绍 2.usbhost/client分类说明 3.usb四种传输类型及其作用 4.USB设备状态 5.USB描述符 6.USB请求 7.USB通讯数据格式 8.usb地址端点的使用 9.S3C2440USBdevice控制器 10.usb协议实现及其详解 11.编写usbtransfer固件程序 12.usb设备即插即用过程 | 实验: 在开发板上烧写并测试USB固件程序usbtransfer固件程序分析与编写使用usbview工具观察USB设备使用sysfs分析USB层次结构LINUX下编写usbtransfer设备驱动实现USB下载 1、USB摄像头采集实验 |