| 课程名称 | ARM嵌入式基础 | ||||
| 英文名称 | The Foundation of ARM Processor | ||||
| 课程编号 | |||||
| 适用专业 | 软件技术(嵌入式应用) | ||||
| 课程性质 | 专业课 | ||||
| 总学时 | 学分 | 4 | |||
| 考核办法 | 考试 | ||||
| 先修课程: | 单片机原理 | ||||
| 开课系部(单位) | 计算机系 嵌入式教研室 | ||||
| 编写者 | 杨宗德 | 编写时间 | 2009-6-26 | ||
| 审核者 | 赵 | 审核时间 | 2009-6-29 | ||
| 系教学指导委员会 | 审核时间 | 2009-6-29 | |||
二、
ARM嵌入式基础是一门介绍ARM处理器原理及接口驱动程序开发的课程。在内容上涉及嵌入式系统的基本概念、ADS开发工具、嵌入式系统定义、处理器系统结构、ARM汇编程序设计、ADS开发工具、C与汇编程序混合编程、ADS映像文件结构及加载技术、ARM异常中断处理及程序设计、嵌入式系统启动代码分析、嵌入式系统接口及驱动程序开发 、 C/OS-II 操作系统在ARM处理器上的移植。学生学习完本课程之后,能够理解ARM处理器体系结构、初步掌握ARM编程方法,初步掌握基于ARM的32嵌入式系统的开发流程,了解S3C2410处理器的基本接口技术,从而为后续更高阶课程的学习打下基础。
三、课程教学目标
四、
1.知识目标
(1)了解嵌入式系统定义,处理器系统结构,嵌入式开发流程;
(2)了解ARM指令集,掌握A ARM汇编程序设计,ADS开发工具,C与汇编程序混合编程;
(3)掌握ADS映像文件结构及加载技术;
(4)掌握ARM异常中断处理及程序设计
(5)掌握嵌入式系统启动代码分析
(6)掌握嵌入式系统接口及驱动程序开发
(7)基本掌握uC/OS-II 操作系统在ARM处理器上的移植
(8) 熟练使用式的开发工具和开发平台
2.能力目标
(1)能够编写简章的ARM汇编程序,能够阅读的较复杂的ARM汇编程序;
(2)能够编写简章的无操作系统驱动程序,能够读懂较复杂的驱动程序;
(3)能够熟练的使用实验室的ARM实验平台,并能从事简单的嵌入式ARM程序开发;
(4) 能够编写简单的嵌入式系统驱动程序;
(5) 在老师指导下,能够完成小型的的嵌入式项目开发。
五、授课内容和学时安排
六、
每周4学时,共学时。
1.教学内容(打 * 号为重点讲授部分)。表中学时分配学时为:讲课学时+实验学时。
| 教学单元 | 学时 | 主要内容 |
| 嵌入式处理器基础 | 2 | 介绍什么是嵌入式系统、嵌入式系统的特点及分类、嵌入式系统的应用、常用嵌入式微处理器/操作系统及其特点,嵌入式系统开发流程。 |
| 2 | ARM概述、ARM体系结构及分类、ARM寄存器结构、ARM处理器核结构。 | |
| ARM程序设计 | 4 | ADS开发工具、ARM处理器工作模式及寄存器介绍、ARM寻址方式 |
| 12 | ARM指令集、伪指令基本介绍 | |
| 6 | C语言内嵌汇编语言程序开发 | |
| 6 | C程序与汇编程序的相互调用,APCS标准 | |
| ARM可执行程序结构及装载技术 | 8 | ADS开发环境程序设计步骤、ARM映像文件的组成,ARM可执行程序装载过程、启动代码分析 |
| ARM中断处理 | 8 | ARM中断类型及处理方式、异常向量表及加载程序设计,IRQ中断处理,SWI中断处理过程 |
| 无OS驱动开发 | 8 | 嵌入式开发环境配置及程序编译上传方法、Hello World程序编译上传实验、ARM9串行通信原理及驱动开发实验、键盘及LED工作原理、驱动开发原理、触摸屏驱动原理及开发。 |
| ucosII操作系统在ARM9上的移植 | 8 | 移植基本工作,在S3C2410上移植ucosII操作系统实验。 |
| 实验编号 | 实验项目 | 项目要求 | 学时 |
| 实验一 | 认识嵌入式实验平台 | 熟悉嵌入式实验室,嵌入式开发平台 | 2 |
| 实验二 | 嵌入式启动代码下载,分析 | 熟悉嵌入式开发流程,开发工具,嵌入式开发思路 | 2 |
| 实验三 | 嵌入式汇编程序设计基础 | 掌握嵌入式ADS开发工具 | 2 |
| 实验四 | 嵌入式汇编/C混合编程 | 掌握嵌入式ADS开发工具下的多语言环境混合开发 | 2 |
| 实验五 | ARM串口驱动程序设计 | 掌握串口原理,硬件调试原理 | 2 |
| 实验六 | 嵌入式简易键盘设计 | 嵌入式嵌入式系统简单的键盘设计原理,驱动程序开发思路 | 2 |
| 实验七 | 基于ARM9的计算器系统设计 | 设计基于ARM9的计算器系统 | 2 |
| 实验八 | 基于ARM9的计算器系统实现 | 在一个软件框架上开发基于ARM9的计算器系统相关的软件代码 | 2 |
| 合计 | 16 |
八、
课堂讲授以操作为中心,用主流实物来引导学生学习操作技能,并通过让学生在ARM实验室动手实验,让学生自己掌握ARM处理器基本原理、调试方式及开发流程。
启发学生通过动手实践以及对实践结果进行思考获取知识,鼓励学生通过在线帮助、Internet信息检索来解决遇到的问题。
在教学组织上:
1.采用多媒体、案例教学。讲练结合,淡化理论、简化概念、强调动手能力的锻炼;课外练习以实验为主、案例重新实现的方式进行。
2.每周布置作业,作业量2~3小时,布置课外实验内容。
3.针对所留习题,组织讨论,以便学生掌握ARM处理器基础理论与程序开发能力。加大对学生实践,定期为学生答疑,检查课后学习效果。
九、考核方法
十、
根据本课程的性质与特点,采取开放的过程考核方式,注重对学生分析问题的解决问题的能力及职业技能的考核,具体成绩评定办法如下:
1. 考核类型:考试。
2. 考核方式:开卷笔试。
3. 期末考试时间:120分钟。
4. 平时成绩与期末成绩的比例:平时成绩(包括实验)占30%,期末成绩占70%;
5. 记分方式:百分制。
十一、参考资料
十二、
1.ARM Architecture Reference Manual V5,ARM Limited,2007
2.ARM9TDMI Technical Reference Manual Rev3,ARM Limited,2007
3.ARM体系结构与编程,杜春雷,清华大学出版社,2003
十三、教学内容提纲及各模块时间分配(学时数=理论学时+实验学时)
十四、
第一部分 嵌入式处理器基础(4)
[教学目标]
1.掌握嵌入式基本概念。
2.
2. 从总体上了解ARM处理器体系结构知识。
[主要内容]
1.什么是嵌入式系统;
2.
3.嵌入式系统的特点及分类;
4.
5.嵌入式系统的应用;
6.
7.常用嵌入式微处理器及其特点;
8.
9.常用嵌入式操作系统及其特点;
10.
11.ARM处理器基本原理、应用及特点;
12.
13.ARM体系结构及分类。
14.
[教学重点]
1.什么是嵌入式系统;
2.常用嵌入式微处理器及其特点。
3. ARM体系结构及分类。
[教学难点]
1.什么是嵌入式系统,它与通用计算机系统的异同点;
2.嵌入式系统的特点及分类。
3.ARM存储器数据类型及存储格式。
第二部分ARM程序设计基础(28)
[教学目标]
1.掌握处理器7种处理器模式、2种工作状态和不同模式下对应的寄存器;
2.
3.初步掌握ARM指令集的功能及格式。
4.
3. 掌握C语言、汇编语言混合编程内容。
4. 理解ARM异常处理过程,构建ARM异常向量表,读懂异常向量表加载程序原理。
[主要内容]
1.ARM处理器工作模式及寄存器介绍;
2.
3.ARM汇编语言寻址方式;
4.
5.ARM指令集、伪指令使用及软仿真器配置;
6.
4. 混合语言相互调用的编程方法。
5. ARM中断类型及处理方式;
6. 异常向量表及加载程序设计。
[教学重点]
1. ARM处理器工作模式及寄存器介绍;
2. ARM寻址方式、指令、编程;
3. 混合语言相互调用的编程方法;
4. 异常向量表及加载程序设计。
[教学难点]
1.ARM处理器工作模式及寄存器介绍;
2.
2. 混合语言相互调用的编程方法;
3. LDR异常向量表的实现;
4. 使用C语言装载向量表的程序原理。
第三部分 ARM可执行程序结构及装载技术(2)
[教学目标]
1. 理解ARM可执行程序结构;
2. 掌握装载技术。
[主要内容]
1. 映像文件物理结构分析;
2. ARM可执行程序段域加载问题;
3. S3C2410启动汇编代码分析。
[教学重点]
1. ARM可执行程序段域加载问题;
2. S3C2410启动汇编代码分析。
[教学难点]
1.S3C2410启动汇编代码分析。
2.
第四部分 ARM中断处理(8)
[教学目标]
1. 理解ARM中断类型及处理方式;
2. 异常向量表及加载程序设计,IRQ中断处理,SWI中断处理过程。
[主要内容]
1. ARM中断类型及处理方式;
2. 异常向量表及加载程序设计;
3. IRQ中断处理;
4. SWI中断处理过程。
[教学重点]
1. ARM中断类型及处理方式;
2. 异常向量表及加载程序设计。
[教学难点]
1.IRQ中断处理;
2.
3.SWI中断处理过程。
4.
第五部分 无OS驱动开发(8)
[教学目标]
1.掌握ARM开发环境和超级终端的配置方法;
2.
3.掌握基于ARM的嵌入式系统的开发流程;
4.
5.初步掌握基本接口驱动程序开发方法。
6.
[主要内容]
1.嵌入式开发环境配置及程序编译上传方法;
2.
3.Hello World程序编译上传实验;
4.
5.ARM9串行通信原理及驱动开发实验;
6.
7.键盘及LED工作原理、驱动开发原理;
8.
9.触摸屏驱动原理及开发。
10.
[教学重点]
1. 嵌入式开发环境配置及程序编译上传方法;
2. Hello World程序编译上传实验;
3. ARM9串行通信原理及驱动开发实验。
[教学难点]
1. ARM开发板接口电路及工作原理;
2. 驱动程序的编写。
第六部分 ucosII在ARM9上的移植(8)
[教学目标]
1. 理解ucosII基本代码;
2. 掌握ARM9(S3C2410)芯片结构。
[主要内容]
1. ucosII基本代码分析;
2. 掌握ARM9(S3C2410)芯片结构;
3. ucosII在ARM9上的移植。
[教学重点]
1. ucosII基本代码分析;
2. ucosII在ARM9上的移植。
[教学难点]
5.ucosII在ARM9上的移植。
6.
[实验一]
1.实验题目:嵌入式系统开发流程基础实验
2.实验目的和要求:
1) 认识嵌入式实验箱的基本结构,基本硬件,基本架构。
2) 了解嵌入式开发的基本模式及基本流程。
3) 了解对嵌入式试验环境及系统结构。
4) 了解嵌入式开发的基本步骤。
5) 熟悉带操作系统时上传文件到嵌入式实验箱方法;
6) 熟悉在无操作系统支持情况下上传文件到嵌入式实验箱的方法。
3.实验基本内容:
1) 实验室注意事项。
2) 嵌入式实验箱简介。
3) 嵌入式开发模式及嵌入式体系结构。
4) 嵌入式设备已经存在操作系统文件下载方式。
5) 嵌入式设备仅有BSP软件文件下载方式。
[实验二]
1.实验题目: ARM异步串行通信实验
2.实验目的和要求:
1)掌握ARM的串行口工作原理。
2)学习编程实现ARM的UART通讯。
3)掌握CPU利用串口通讯的方法。
3.实验基本内容:
1)S3C2410芯片UART结构图。
2)S3C2410串行接口硬件电路。
3)串行通信实验及C源代码分析。
[实验三]
1.实验题目:键盘及LED实现(实验一)
2.实验目的和要求:
1)学习键盘及LED驱动原理。
2)掌握ZLG7290芯片的使用方法。
3.实验基本内容:
1)键盘及LED工作原理。
2)S3C2410芯片的IIC接口功能介绍。
3)S3C2410采用IIC接口键盘及LED电路。
4)键盘及LED实验及C源代码分析。
[实验四]
1.实验题目:键盘及LED实现(实验二)
2.实验目的和要求:
1)完成简易计算器设计。
3.实验基本内容:
1)计算器基本功能。
2)完成代码编写。
3)上传到实验箱验证。下载本文