《嵌入式程序设计与驱动开发》教学大纲
《嵌入式程序设计与驱动开发》理论课教学大纲 —、课程基本信息 课程名称 嵌入式程序设计与驱动开发 英文名称 Embedded Program Design 课程代码 XXI1069 先修课程 课程性质 专业课 嵌入式系统基础 嵌入式操作系统 修读性质 选修 学时/学分 48(32+16)/2. 5(2+0. 5) 考核方式 考查 开课学院 信息 适应专业 电子信息工程 编制时间 2015. 11. 20 课程教材与学习资源 参考教材 《嵌入式Linux应用程序开发标准教程(第2版)》,人民邮电出 版社,2009年 教学参考资料 《嵌入式系统原理与接口技术》,贾智平张瑞华编,清华大学 出版社,2009年 《嵌入式Linux程序设计案例与实验教程》,俞辉编著,机械 工业出版社,2009年 二、课程目标与任务 本课程的教学目的是:使学生获得嵌入式程序设计的方法和计算机系统设备 及设备驱动的基本概念,掌握Linux环境下的程序设计和设备驱动程序设计的基 本方法,为进一步研究内核模式程序设计方法打下基础。 本课程的任务是系统地讲授Linux环境下的嵌入式程序设计的方法和设备 驱动程序设计的基本方法,讲授计算机系统的设备驱动概念,研究操作系统内核 对设备的管理。 三、课程主要内容、要求及学时分配 序号 主要内容 基本要求 学时分 配 1 Linux使用和Linux软 件开发 (1) 知识点 第一章Linux的各种安 装方法 第二章Linux的基本使 用方法 第三章Linux的C语言 开发方法 (2) 教学重点 第四章Linux的虚拟机 安装方法 第五章Linux的启动过 程 第六章Linux的命令行 使用方法 第七章Linux的C语言 编译方法 第八章Makefile的编写 方法 (3) 教学难点 第九章Linux的磁盘分 区方法 第十章Linux的启动过 程及原理 第 章Linux的服务 程序的制作 第十二章Gcc的开关条 件 了解Linux操作系统的安装方 法。 掌握Linux的文件系统。 了解Linux的常用命令使用方 法 理解Linux的启动过程 掌握Linux服务的原理及使用 方法 了解Linux C语言环境 掌握gcc编译器 掌握makefile规则 8+ 2 2 Linux的嵌入式系统 开发及内核裁剪 (1)知识点 第十三章交叉编译 第十四章NFS的配置 第十五章嵌入式软件的 编译及安装流程 第十六章嵌入式系统的 掌握交叉编译技术 了解TFTP, NFS原理和配置方法 掌握嵌入式Linux应用软件开发流 程 掌握 Bootloader, U-boot 的原理 及安装 8+ 4 启动原理及实现方法 第十七章Linux内核的 裁剪及编译方法 (2) 教学重点 第十八章萩入式软件的 编译流程 第十九章Bootloader的 移植方法 第二十章Linux内核的 裁剪方法 (3) 教学难点 第二十一章成功搭建自 己的交叉编译平台 掌握Linux内核的编译方法及裁剪 方法 3 Linux字符设备驱动 程序开发 (1) 知识点 第二十二章Linux的设 备驱动模型 第二十三章 Linux 的字 符设备驱动原理 第二十四章阻塞/非阻塞 的I/O驱动原理 第二十五章Linux的中 断程序的原理 第二十六章中断程序的 编写方法 (2) 教学重点 第二十七章字符设备的 驱动原理; 第二十八章阻塞/非阻塞 的驱动原理 第二十九章Linux的中 断系统的特点 第三十章Linux的中断 程序的实现 (3) 教学难点 第三十一章字符设备驱 动的编写 第三十二章Linux的中 断系统的实现原理 掌握Linux 2. 6的设备驱动模型与 SYSFS文件系统 掌握Linux字符设备的驱动原理 掌握字符设备驱动程序的实现框 架与典型驱动分析 了解阻塞与非阻塞I/O设计 了解Linux的中断子系统 掌握Linux的中断处理程序编写 8+ 4 4 Linux块设备驱动程 序开发 (1) 知识点 第三十三章Linux的块 设备驱动原理 第三十四章Linux的块 设备驱动的实现 第三十五章典型块设备 的驱动实现 (2) 教学重点 第三十六章块设备的驱 动原理 第三十七章块设备的驱 动实现方法 (3) 教学难点 第三十八章理解块设备 的特征 第三十九章NAND FLASH 设备的驱动分析 了解Linux的块设备及其驱动的特 点 掌握块设备驱动中的关键结构体 GEN_DISK 与 REQUEST 掌握MTD设备的特点以及与块设备 的关系 掌握 S3C2410CS3C2440)中的 NAND FLASH控制器分析和驱动分析 4+ 4 5 Linux网络设备驱动 程序开发 (1) 知识点 第四十章Linux的网络 设备驱动原理 第四 章Socket的通 信原理 第四十二章网络设备驱 动实现中的中断处理 方法 第四十三章网络设备的 驱动程序实现方法 (2) 教学重点 第四十四章Socket的通 信原理 第四十五章Socket的实 现方法 第四十六章网络设备的 驱动程序实现方法 (3) 教学难点 第四十七章Socket的原 理 掌握0SI网络参考模型 掌握Socket原理 了解数据包传送与接收原理 了解网络驱动的中断处理 掌握网络设备驱动程序的基本实 现 4+ 2 第四十八章Socket的实 现方法 四、主要教学组织形式与方法手段 为了提高学生对于嵌入式程序设计的认识,并针对高年级学生对专业知识相 对丰富的特点,本门课程应采取以实际开发案例为主、强化学生的动手能力、共 同开发、共同调研的教学方法,力求使学生对于嵌入式系统程序开发有一个直接 的认识,掌握驱动程序的开发流程。 1. 组织形式 采用教学为主,结合实际系统演示为辅,强化学生软件开发的能力的培养。 结合适当的课外调研课题,加强学生对嵌入式系统应用方向有一个直接的感受。 2. 教学方法 在本门课程中,应充分应用软件开发的操作能力,进行小组合作,实际编码, 共同解决问题,课外研发,鼓励学生加入实际的开发项目。 3. 教学手段 在教学手段上,应充分应用多媒体技术对实际应用案例展示,运用实际的编 程环境进行代码编写和调试。 五、课程考核和成绩评定 平时考核 (40%) 考核方式 考勤(含课堂表现) 平时作业 报告 实验 所占比例(%) 10 10 10 10 结业考核 (60%) 考核方式 卷面考试(闭卷) 所占比例(%) 60 《嵌入式程序设计与驱动开发》实验课教学大纲 —、课程基本信息 课程名称 嵌入式程序设计与驱动开发 英文名称 Embedded Program Design 课程代码 XXI1069 课程性质