嵌入式软硬件设计与实践课程教学大纲
一、课程基本信息
课程编号:AS33111
课程名称:嵌入式软硬件设计与实践
英文名称:Embedded System Hardware Design and Software Development
课程学时:32 讲课学时:24 实验学时:8 上机学时: 0习题学时:0
课程学分:2
开课单位:航天学院智能控制与系统研究所
授课对象:控制科学与工程系本科生
开课学期:春季
先修课程:计算机基础、数字电路与逻辑技术、电子电路知识、C语言程序设计、操作系统
二、课程目标
本课程是嵌入式系统开发的综合教程, 是嵌入式系统方向高级课程。通过本课程的学习,使学生深入了解嵌入式技术的理论、知识,较为深入地掌握基于ARM处理器的应用设计方法和ARM应用系统的开发方法及手段,并应用嵌入式系统设计方法解决实际应用问题。
本课程分成两大部分来讲授。第一部分侧重ARM硬件平台和体系结构的介绍,第二部分侧重嵌入式系统设计方法及操作系统和驱动程序的介绍,并给出若干嵌入式开发应用实例。具备不同软硬件基础的学生通过本课程的学习,均能熟悉并掌握嵌入式系统原理和应用的设计开发能力,并达到如下基本要求:
课程目标1.了解嵌入式系统的定义与组成,嵌入式微处理器体系结构,嵌入式系统结构设计、接口设计、程序设计等,掌握嵌入式系统的核心思想、基本理论和设计方法;
课程目标2.掌握ARM处理器与系统核心模块的接口功能分析与选型、ARM体系结构设计的理论和方法,具有基本的嵌入式原理图与模块交互设计的方案设计能力,以及分析和解决实际项目问题的创新思维和创新设计能力;
课程目标3.掌握汇编语言和C语言的编程设计方法,获得嵌入式系统实际开发的基本训练;
课程目标4.熟练嵌入式系统的交叉编译开发与移植方法,分析嵌入式系统的自底层硬件至高层软件的启动流程,掌握嵌入式系统软件及操作系统开发能力,具备利用嵌入式开发技术解决实际工程项目的能力;
课程目标5.在具体项目应用实例分析和设计中培养和锻炼学生的嵌入式系统设计能力,对所学的知识的综合运用能力以及团队合作解决问题的能力。
三、课程目标与毕业要求对应关系
毕业要求 | 毕业要求具体描述 | 课程目标 |
1.工程知识 | 能运用工程基础和专业知识对复杂工程问题中的系统解决方案进行技术实现和性能检验 | 课程目标1 |
3.设计/开发解决方案 | 能够把对系统的总体性能指标或功能要求分解到各个单元,为器件选型提供依据 | 课程目标2 |
4.研究 | 能够分析与解释实验或仿真结果,并为系统设计方案的改进及优化提供合理有效的建议 | 课程目标3 |
5.使用现代工具 | 能够运用现代软硬件开发、测试与分析工具对复杂系统进行分析、设计与实现 | 课程目标4 |
9. 个人和团队 | 能运用工程基础和专业知识对复杂工程问题中的系统解决方案进行技术实现和性能检验 | 课程目标5 |
注:毕业要求参照附件(工程教育认证通用标准之毕业要求),从中选取课程目标支撑的毕业要求条目。
四、课程目标与课程内容对应关系
序号 | 教学内容 | 教学要求 | 学时 | 教学方式 | 对应课程 目标 |
1 | 嵌入式硬件系统概述 (1)嵌入式系统的应用领域和发展趋势 (2)嵌入式硬件系统的组成 (3)主流的嵌入式微处理器概述 | 1.了解本课程研究的对象、内容及特点 2.了解嵌入式系统技术的发展过程、现状以及未来发展前景; 3.了解嵌入式硬件系统的组成 | 2 | 讲授 | 课程目标1 |
2 | ARM嵌入式微处理器 (1)ARM CPU发展历史 (2)典型ARM CPU Core体系结构 (3)ARM编程模型,ARM架构指令体系与指令集 | 1. 掌握典型ARM CPU Core 体系结构 2. 掌握ARM编程模型方法,处理器与系统核心模块的接口功能分析与选型 3. 掌握 ARM 指令集概念与指令体系,熟悉 Thumb 指令集的使用 | 2 | 讲授 | 课程目标1 课程目标2 |
3 | S3C2400系列嵌入式微处理器系统 (1)SOC的概念与典型结构 (2)S3C2400结构 (3)S3C2400嵌入式系统硬件介绍 | 1. 了解嵌入式微处理器的片内总线 2.掌握嵌入式微处理器的片内外设 3.掌握S3C2400嵌入式系统硬件和常用核心模块 | 2 | 讲授 | 课程目标1 课程目标2 |
4 | ARM 裸机开发流程 (1)汇编指令集概述 (2)ARM 裸机程序开发流程 (3)嵌入式系统原理图设计与分析 | 1.掌握基本汇编命令 2.掌握ARM裸机开发流程 3.掌握嵌入式系统原理图设计 4. 能编程实现ARM裸机程序配置核心寄存器和核心模块 | 6+2 | 讲授+实验 | 课程目标1 课程目标2 课程目标3 |
5 | 嵌入式系统移植流程 (1)嵌入式系统的典型启动过程 (2)Boot loader 启动引导过程 (3)Linux 内核的交叉编译移植与启动流程分析 (3)文件系统的结构分析与制作挂载 |
3.掌握嵌入式系统的交叉编译与移植步骤,利用交叉编译工具链完成U-Boot 、Linux Kernel、File System的系统移植实验 | 6+4 | 讲授+实验 | 课程目标3 课程目标4 课程目标5 |
6 | 嵌入式系统应用程序设计 (1)Linux 操作系统概述 (2)Linux 的常用命令 (3)Linux 下的软件开发流程 (4)Linux 驱动加载流程与驱动开发流程 | 1. 掌握Linux 操作系统,学习 Linux 常用命令 2.掌握 Linux 下的软件开发流程,学习基本的编辑、编译、调试、运行流程。 3.了解 Linux 驱动加载流程与基本方法,编写 Linux 驱动实现嵌入式应用 | 6+2 | 讲授+实验 | 课程目标3 课程目标4 课程目标5 |
五、课程教学方法
1.采用PPT课件与上机实践相结合的形式进行授课,利用PPT课件向学生展示嵌入式的基本理论、关键方法与体系结构框图以及实际工业应用实例,利用上机实践对嵌入式设计方案进行编程设计实践。
2.采用启发式教学,并通过课堂讨论和习题答疑与学生产生互动,从而激发学生的主观能动性和学习热情,培养学生发现问题、分析问题和解决问题的能力。
3. 利用工业应用实例分析,将理论学习和工程实践相结合,培养他们利用嵌入式知识和先进编程开发工具,运用创新思维和方式方法,进行项目需求分析、技术方案制定与论证和最终功能实现的能力。
六、课程考核方法
考核环节 | 所占分值 | 考核与评价细则 | 对应课程目标 |
随堂考试 | 20 | (1)主要考核学生对基本理论的理解和基本方法的掌握程度; (2)进行4次随堂测试,每次测试按5分制进行单独评分,取4次测试成绩总和作为此环节的最终成绩。 | 课程目标1 课程目标2 |
实验报告1 | 40 | 考核嵌入式系统的编译和调试,提交移植过程总结报告 | 课程目标4 课程目标5 |
实验报告2 | 40 | 考核嵌入式系统的软件开发能力,提交程序设计流程和代码 | 课程目标3 课程目标5 |
七、主要教材与参考书
1. 《ARM体系结构与编程》,杜春雷 编著,清华大学出版社,2003
2. 《嵌入式Linux应用开发完全手册》,韦东山 编著,人民邮电出版社,2008
3. 《Linux设备驱动程序》,科波特 编著,魏永明等翻译,中国电力出版社,2006
4. 《构建嵌入式LINUX系统》, Karim Yagbmour编著,中国电力出版社,2004
大纲撰写人: 于金泳 刘雨 大纲审核人:
附件:
毕业要求
(摘自工程教育认证通用标准)
专业必须有明确、公开的毕业要求,毕业要求应能支撑培养目标的达成。专业应通过评价证明毕业要求的达成。专业制定的毕业要求应完全覆盖以下内容:
1.工程知识:能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题。
2.问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析复杂工程问题,以获得有效结论。
3.设计/开发解决方案:能够设计针对复杂工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。
4.研究:能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。
5.使用现代工具:能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。
6.工程与社会:能够基于工程相关背景知识进行合理分析,评价专业工程实践和复杂工程问题解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任。
7.环境和可持续发展:能够理解和评价针对复杂工程问题的专业工程实践对环境、社会可持续发展的影响。
8.职业规范:具有人文社会科学素养、社会责任感,能够在工程实践中理解并遵守工程职业道德和规范,履行责任。
9.个人和团队:能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色。
10.沟通:能够就复杂工程问题与业界同行及社会公众进行有效沟通和交流,包括撰写报告和设计文稿、陈述发言、清晰表达或回应指令。并具备一定的国际视野,能够在跨文化背景下进行沟通和交流。
11.项目管理:理解并掌握工程管理原理与经济决策方法,并能在多学科环境中应用。
12.终身学习:具有自主学习和终身学习的意识,有不断学习和适应发展的能力。