1、嵌入式软件开发教学大纲 一、课程概况所属专业:计算机科学与技术开课单位:数学计算机科学学院 课程类型:专业方向课程课程代码:07492090开课学期:6学分:2 学时:课堂讲授16+实验核心课程:否32+课外自主3 拟使用教材: 陈文智.嵌入式软件开发.北京:高等教育出版社.20152国内(外)现有教材: [1]周立功.ARM嵌入式系统软件开发实例(一).北京:北京航空航天大学 出版社.2004.1 [2]何先波,李薇,罗建.嵌入式系统软件开发技术实验教程.北京:清华大学 出版社.2011.7 [3]姜先刚,袁祖刚.嵌入式Linux系统开发教程.北京:电子工业出版社.2016.
2、8 学习参考资料 [1]何坚.嵌入式软件开发技术.北京:科学出版社.2014.9 [2]华清远见嵌入式学院 [3]华清创客学院. [4]嵌入式培训I . :〃 l/qianrenshi.html#bbdss-qrs二、课程描述 本课程为计算机科学与技术专业嵌入式系统与物联网方向课程。学习嵌入式 软件开发的基本知识、方法和技术,内容包括:嵌入式软件开发概述,嵌入式软 件开发环境,嵌入式软件编程,嵌入式软件调试,Boot Loader程序设计,嵌入 式系统级软件设计(包含嵌入式操作系统内核设计、嵌入式文件系统设计、嵌入 式驱动程序设计和嵌入式数据库设计),嵌入式GUI及应用程序设计
3、嵌入式程 序代码优化,嵌入式软件测试,以及嵌入式应用程序创新设计。 学 时:2学时。 教学方法:演示法/讲授/现场指导。 实验类型:设计性实验。 实验八:嵌入式程序代码优化 (授课时间:第六学期第十四周) 教学目标:掌握嵌入式程序代码优化方法。 主要内容:嵌入式程序代码优化。 学 时:2学时。 教学方法:演示法/讲授/现场指导。 实验类型:验证性实验。 实验九:嵌入式软件测试 (授课时间:第六学期第十五周) 教学目标:掌握嵌入式软件测试方法。 主要内容:嵌入式软件测试工具使用。 学 时:2学时。 教学方法:演示法/讲授/现场指导。 实验类型:验证性实验。 实验
4、十:嵌入式应用程序创新设计 (授课时间:第六学期第十六周) 教学目标:完成嵌入式应用程序创新设计。 主要内容:设计一个嵌入式应用系统。 学 时:4学时。 教学方法:演示法/讲授/现场指导。 实验类型:设计性实验。 1、课程教学中可随嵌入式软件开发技术的开展进行内容调整。 2、可适当布置课外自主学习内容。. 三、课程目标 了解嵌入式软件的组成要素与结构,掌握嵌入式软件开发的思想和方法,掌 握嵌入式软件开发的过程和技巧,熟练使用相关嵌入式软件开发工具,具备初步 分析问题和解决问题的能力,能够从事嵌入式软件开发。 四、教学要求 依据本课程的性质、目的及任务,教学基本要求是紧扣多
5、媒体教学、课后答 疑、实验几个主要环节,要求学生系统地了解、熟悉和掌握嵌入式软件开发基本 方法,能开发嵌入式软件系统。 五、考核方式及要求 为实现课程教学目标,本门课程采用过程性考核和期末考核结合的方式进行 考核。过程性考核占总成绩70%,其中:考勤占10%,随机点到,每人不少于3 次,其中无故缺席1次,按无考勤成绩计算;课程实验9次,占70%,实验时间 和内容根据教学进度由教师安排;课程作业3次,按批改成绩折算,占20%。期 末考核占总成绩30%,完成一个嵌入式应用系统设计,为开卷考试。 六、课程内容课堂教授 第一章:嵌入式软件开发概述(授课时间:第六学期第一周) 教学目标:了解嵌
6、入式系统的历史与现状、嵌入式系统的特点和应用领域和开展 方向;掌握嵌入式软件的组成与特点;了解嵌入式软件的开展趋势; 掌握嵌入式软件开发流程和嵌入式软件的开发管理。 教学重点:嵌入式软件的组成与特点;嵌入式软件开发流程和嵌入式软件的开发 管理。 教学难点:嵌入式软件的组成。 学 时:课堂教学1学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1)嵌入式系统概述;(2)嵌入式软件的组成与特点; (3)嵌入式软件的开展趋势;(4)嵌入式软件开发流程; (5)嵌入式软件的开发管理。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:完成嵌入式软件的组成与特点,嵌入式软件开发流
7、程和嵌入式软件的 开发管理等知识点练习题。 第二章:嵌入式软件开发环境(授课时间:第六学期第二周至第三周) 教学目标:了解嵌入式软件开发特点和嵌入式软件开发模式;掌握宿主机环境、 目标机环境和交叉编译工具链。 教学重点:交叉编译工具链。 教学难点:交叉编译工具链。 学 时:课堂教学2学时,课外自主学习时间不少于1学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1)嵌入式软件开发模式;(2)宿主机环境; (3)目标机环境;(4)交叉编译工具链。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:完成嵌入式软件开发模式、交叉编译工具链等知识点练习题。 第三章:嵌入式
8、软件编程(授课时间:第六学期第四周至第五周) 教学目标:了解嵌入式汇编语言基础、嵌入式高级编程知识,掌握嵌入式开发工 程;了解嵌入式汇编编程技术;掌握嵌入式高级编程技术;掌握高级 语言与汇编语言混合编程。 教学重点:嵌入式开发工程;嵌入式高级编程技术;高级语言与汇编语言混合编 程。 教学难点:高级语言与汇编语言混合编程。 学 时:课堂教学2学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1)嵌入式编程基础;(2)嵌入式汇编编程技术; (3)嵌入式高级编程技术;(4)高级语言与汇编语言混合编程。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:完成嵌入式开发工程,嵌入
9、式高级编程技术,高级语言与汇编语言混 合编程等知识点练习题。 第四章:嵌入式软件调试 (授课时间:第六学期第六周) 教学目标:了解GDB调试器;掌握GDB远程调试、KGDB内核调试、网络调 试工具tcpdump; 了解典型嵌入式集成开发环境。 教学重点:GDB远程调试;KGDB内核调试;网络调试工具tcpdump。 教学难点:GDB远程调试;KGDB内核调试;网络调试工具tcpdump。 学 时:课堂教学1学时,课外自主学习时间不少于1学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1)GDB调试器;(2)远程调试; (3)内核调试;(4)网络调试; (5)典型嵌入
10、式集成开发环境。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:完成GDB远程调试,KGDB内核调试,网络调试工具tcpdump等知 识点练习题。 第五章:BootLoader程序设计(授课时间:第六学期第七周) 教学目标:理解Boot Loader基础知识;了解Boot Loader典型结构;掌握Boot Loader基本设计。 教学重点:Boot Loader基础知识;Boot Loader基本设计。 教学难点:Boot Loader基本设计。 学 时:课堂教学1学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1) Boot Loader基础知识;Boot
11、Loader 典型结构; (2) Boot Loader 基本设计。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:完成Boot Loader基础知识等知识点练习题。 第六章:嵌入式系统级软件设计 (授课时间:第六学期第八周至第九周) 教学目标:理解嵌入式操作系统内核设计;掌握嵌入式文件系统设计、嵌入式驱 动程序设计;了解嵌入式数据库设计。 教学重点:嵌入式操作系统内核设计;嵌入式文件系统设计、嵌入式驱动程序设 计。 教学难点:嵌入式操作系统内核设计。 学 时:课堂教学2学时,课外自主学习时间不少于1学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1)嵌入式
12、操作系统内核设计;(2)嵌入式文件系统设计; (3)嵌入式驱动程序设计;(4)嵌入式数据库设计。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:完成嵌入式操作系统内核设计,嵌入式文件系统设计,嵌入式驱动程 序设计等知识点练习题。 第七章:嵌入式GUI及应用程序设计(授课时间:第六学期第十周至第十一周) 教学目标:了解嵌入式GUI设计需求和嵌入式GUI设计原那么;掌握嵌入式GUI 体系结构设计;了解基于主流GUI的应用程序设计。 教学重点:嵌入式GUI体系结构设计。 教学难点:嵌入式GUI体系结构设计。 学 时:课堂教学1学时,课外自主学习时间不少于1学时。 教学方法:讲
13、授法、演示法、讨论法。 主要内容:(1)嵌入式GUI设计概述;(2)嵌入式GUI体系结构设计; (3)基于主流GUI的应用程序设计。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:完成嵌入式GUI体系结构设计等知识点练习题。 第八章:嵌入式程序代码优化 (授课时间:第六学期第十二周) 教学目标:了解嵌入式程序代码优化基本方法。 教学重点:嵌入式程序代码优化基本方法。 教学难点:嵌入式程序代码优化基本方法。 学 时:课堂教学1学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1)嵌入式程序代码优化概述;(2)提高代码效率; (3)减少代码尺寸;(4)有效使用
14、内存; (5)降低代码能耗。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:完成嵌入式程序代码优化基本方法等知识点练习题。 第九章:嵌入式软件测试 (授课时间:第六学期第十三周至第十四周) 教学目标:了解嵌入式软件测试基础知识;掌握静态测试技术、白盒测试技术、 黑盒测试技术等嵌入式软件测试技术;了解测试与分析工具。 教学重点:嵌入式软件测试技术。 教学难点:嵌入式软件测试技术。 学 时:课堂教学2学时,课外自主学习时间不少于1学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1)嵌入式软件测试基础;(2)嵌入式软件测试技术; (3)测试与分析工具。 学习方
15、法:听讲记录,小组讨论,上网调研。 课后作业:完成嵌入式软件测试技术等知识点练习题。 第十章:嵌入式应用程序创新设计(授课时间:第六学期第十五至第十六周) 教学目标:掌握设计任务和设计过程。 教学重点:设计过程。 教学难点:设计过程。 学 时:课堂教学1学时。 教学方法:讲授法、演示法、讨论法。 主要内容:(1)设计任务;(2)设计过程。 学习方法:听讲记录,小组讨论,上网调研。 课后作业:。 实验 实验一:建立开发团队和制定管理规范 (授课时间:第六学期第一周至第二周) 教学目标:学会建立开发团队和制定管理规范。 主要内容:建立开发团队和制定管理规范。 学 时:
16、2学时。 教学方法:演示法/讲授/现场指导。 实验类型:演示性实验。 实验二:开发环境构建 (授课时间:第六学期第三周至第四周) 教学目标:掌握开发环境构建方法。 主要内容:开发环境构建。 学 时:2学时。 教学方法:演示法/讲授/现场指导。 实验类型:验证性实验。 实验三:嵌入式软件编程技术 (授课时间:第六学期第五周至第六周) 教学目标:掌握嵌入式软件编程技术。 主要内容:汇编和C语言等嵌入式软件编程技术。 学 时:2学时。 教学方法:演示法/讲授/现场指导。 实验类型:验证性实验。 实验四:调试技术演练 (授课时间:第六学期第七周至第八周) 教学目标:掌握
17、调试技术。 主要内容:调试技术演练。 学 时:2学时。 教学方法:演示法/讲授/现场指导。 实验类型:验证性实验。 实验五:设计与实现Boot Loader (授课时间:第六学期第九周至第十周) 教学目标:掌握Boot Loader设计与实现方法。 主要内容:设计与实现Boot Loader。 学 时:2学时。 教学方法:演示法/讲授/现场指导。 实验类型:验证性实验。 实验六:嵌入式操作系统内核与驱动程序 (授课时间:第六学期第十一周至第十二周) 教学目标:掌握嵌入式操作系统内核与驱动程序编制方法。 主要内容:编制嵌入式操作系统内核与驱动程序。 学 时:4学时。 教学方法:演示法/讲授/现场指导。 实验类型:综合性实验。 实验七:嵌入式GUI应用设计 (授课时间:第六学期第十三周) 教学目标:掌握嵌入式GUI应用设计。 主要内容:嵌入式GUI应用设计。






