ARM课程教师用书.docx
- 文档编号:10875848
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:20
- 大小:21.39KB
ARM课程教师用书.docx
《ARM课程教师用书.docx》由会员分享,可在线阅读,更多相关《ARM课程教师用书.docx(20页珍藏版)》请在冰豆网上搜索。
ARM课程教师用书
ARM课程教师用书V1.0
内部资料
目录
一、参考用书1
二、课程安排2
1、ARM体系结构3
1.1ARM背景介绍3
1.2ARM编程模型3
1.3ARM指令简介4
1.4ARMSOC系统介绍4
1.5ARM处理器核5
2、ARM指令5
2.1ARMV4指令集5
2.2Thumb指令集5
2.3V5TE体系结构扩展6
3异常处理6
3.1中断处理6
3.2软中断处理6
3.3其它中断处理7
4、ARM、C混合编程7
4.1ARM编译器优化7
4.2C/C++和汇编混合模式编程8
4.3使用ARM编译器编码8
5、ARM硬件接口
(1)8
5.1GPIO接口8
5.2UART接口9
5.3中断接口9
6、ARM硬件接口
(2)10
6.1实时时钟接口10
6.2看门狗接口10
6.3PWM接口10
6.4A/D接口11
7、ARM硬件接口(3)11
7.1SPI总线11
7.2I2C总线11
一、参考用书
●华清远见教材刘洪涛《ARM嵌入式体系结构与接口技术》
●清华大学出版社杜春雷《ARM体系结构与编程》
二、课程安排
●知识点的重要程度分为:
了解、掌握。
●每天课时:
7个课时
表1课程表
课程日程
主要知识点
实验安排
备注
1
一、ARM体系结构
1.1ARM背景介绍(1课时)
1.2ARM编程模型(1课时)
1.3ARM指令简介(15分钟)
1.4ARMSOC系统介绍(15分钟)
1.5ARM处理器核介绍(1课时)
1、熟悉RealView环境(0.5学时)
2、RealView使用(1学时)
3、简单ARM指令练习1(0.5学时)
4、简单ARM指令练习2(0.5学时)
5、简单ARM指令练习3(0.5学时)
2
二、ARM指令
2.1ARMV4指令集(3学时)
2.2Thumb指令集(0.5学时)
2.3V5TE体系结构扩展(10分钟)
1、学会阅读开发板原理图(0.5分钟)
2、LDR/STM指令寻址实验(0.5学时)
3、ARM汇编子函数调用(0.5学时)
4、Thumb汇编指令练习(20分钟)
5、利用ARM汇编实现开发板LED灯控制
(1.5学时)
3
三、异常处理
3.1中断处理(1学时)
3.2软中断处理(0.5学时)
3.3其它异常处理(0.5学时)
四、ARM、C混合编程
4.1ARM编译器优化(15分钟)
4.2C/C++和汇编混合模式编程(1学时)
4.3使用ARM编译器编码(15分钟)
1、简单C语言程序实验(0.5学时)
2、C语言、汇编混合编程实验(1.5学时)
3、内嵌、内联汇编实验(0.5学时)
4、SWI软中断实验(1学时)
4
五、ARM硬件接口
(1)
5.1GPIO接口(0.5学时)
5.2UART接口(1学时)
5.3中断接口(1.5学时)
1、GPIO接口实验(0.5学时)
2、串口实验(1.5学时)
3、按键中断实验(1.5学时)
5
六、ARM硬件接口
(2)
6.1实时时钟接口(0.5学时)
6.2看门狗接口(0.5学时)
6.3PWM接口(0.5学时)
6.4A/D接口(0.5学时)
1、实时时钟接口实验(1学时)
2、看门狗接口实验(1学时)
3、PWM接口实验(1学时)
4、A/D接口实验(2学时)
6
七、ARM硬件接口(3)
7.1SPI总线(0.5学时)
7.2I2C总线(1.5学时)
1、I2CE2ROM实验(2学时)
2、综合复习、答疑、考试(3学时)
三、知识点讲解
1、ARM体系结构
1.1ARM背景介绍
(1)设置目的及目标
●了解到ARM处理器、体系结构的基本概念。
●了解ARM公司的业务模式
●了解ARM处理器和传统的单片机、PC的联系和区别
(2)讲解准备
参考教材《ARM嵌入式体系结构与接口技术》的第2章“ARM技术发展”的2.1、2.2、2.3小节。
●讲解时间控制在1课时以内。
(注:
此处提到的理论课时间为理论课时间,实验时间根据学员进度决定。
后面的提到的讲解时间也都是这个意思)。
(3)易出现问题及应对方法
问题1:
部分学员没有接触过CPU的概念
解决方法:
简单介绍CPU的概念,可以描述一下程序执行的原理,让学员对CPU的概念不陌生。
问题2:
学员基础不一,对自己如何学习ARM会产生疑问
解决方法:
和学员讲清楚我们的授课计划,“课程中的每个关键知识点所需要的基础知识我们都会提及”,从而坚定基础差的学员的学习信心。
同时向学员传达“在授课过程中,我们会考虑到学员的不同基础,让不同基础的学员都有最大的收获”。
这样让基础好的学员也不担心别的学员拖后腿。
我们老师也必须重视这个问题,这个问题是困扰ARM教学的最大问题。
(4)实验设置
●无
(5)课后练习
●无
1.2ARM编程模型
(1)设置目的及目标
●掌握ARM处理器的数据类型、
●掌握ARM920T的内核基本工作模式
●掌握ARM处理器的寄存器
(2)讲解准备
参考教材《ARM嵌入式体系结构与接口技术》的2.6、2.7、2.10、2.11小节
时间:
1个课时左右
(3)易出现问题及应对方法
问题1:
可能会有学员问linux系统运行和处理器工作模式的对应关系
解决方法:
Linux的应用程序工作在usr模式,而内核在正常情况下工作在svc模式
问题2:
程序状态寄存器CPSR中的C位和V位的含义
解决方法:
溢出标志V和进位标志C是两个意义不同的标志。
进位标志表示无符号数运算结果是否超出范围;溢出标志表示有符号数运算结果是否超出范围。
具体参考“ARM教师用书参考资料/CPSR介绍”。
在编程期间很少让程序员直接判断flag位,而是通过判断条件码来控制程序的。
(4)实验设置
●“简单ARM指令练习3”这个实验主要是针对这个知识点的。
(5)课后练习
●在课程实验的基础上,尽量把所以影响CPSR的状态位的情况都列举、测试一下。
1.3ARM指令简介
(1)设置目的及目标
●掌握ARM指令集的分类及特点
(2)讲解准备
●此处参考课件准备既可。
注意:
此处不需要讲解细节的ARM指令用法
●时间:
15分钟左右
(3)易出现问题及应对方法
问题1:
学员可能提出过多关于指令的细节
解决方法:
和学员解释清楚,此处只是讲解ARM处理器指令集的特性。
指令集的详细内容在第2天讲解。
(4)实验设置
●“ARM简单指令实验1”和“ARM简单指令实验2”都是简单的指令练习,主要针对这个知识点
(5)课后练习
●无
1.4ARMSOC系统介绍
(1)设置目的及目标
●让学员掌握SOC的概念,对基于ARM的SOC芯片的总体结构有清晰的认识
(2)讲解准备
●此处参考课件准备既可。
把“基于ARM的SOC系统示例”这张图讲解清楚既可
●时间:
15分钟左右。
(3)易出现问题及应对方法
问题1:
学员对SOC和CPU的概念可能比较模糊
解决方法:
可以通过一些图例,形象的区分这两个概念。
(4)实验设置
●无
(5)课后练习
●无
1.5ARM处理器核
(1)设置目的及目标
●了解ARM存储系统,要对mmi、cache、writebuffer的作用及访问过程清楚
●了解流水线
(2)讲解准备
●参考教材《ARM嵌入式体系结构与接口技术》的2.8、2.9节
●mmu、cahce的实现原理可参考《ARM体系结构与编程》第5章ARM存储系统。
●时间在1个课时左右
(3)易出现问题及应对方法
问题1:
学员可能会追究mmu、cache的实现原理
解决方法:
要求老师尽量要掌握这部分内容,可以在后面讲解接口课程时,根据学员的接受情况决定是否安排这部分内容。
(4)实验设置
●无
(5)课后练习
●让学员上网多查阅几种学员自己所关注的处理器核的特性。
2、ARM指令
2.1ARMV4指令集
(1)设置目的及目标
●让学员掌握常用ARM汇编指令集
●掌握ARM汇编程序设计
(2)讲解准备
●参考教材《ARM嵌入式体系结构与接口技术》的第3章和第4章的4.1、4.2、4.3、4.4。
●3个课时左右
(3)易出现问题及应对方法
本章主要讲解指令,所以一般不会出现什么问题。
(4)实验设置
●实验“LDR/STM指令寻址实验”、“ARM汇编子函数调用”、“利用ARM汇编实现开发板LED灯控制”都是针对此专题的。
注意:
“利用ARM汇编实现开发板LED灯控制”
(5)课后练习
●利用ARM指令完成64位加法及64位减法运算
2.2Thumb指令集
(1)设置目的及目标
●了解Thumb指令集
●了解ARM、Thumb混合编程
(2)讲解准备
●本小节以了解为主,不必过多讲解thumb编程。
因为开发人员很少需要手写thumb
●不超过0.5个课时
(3)易出现问题及应对方法
本章一般不会出现什么问题。
(4)实验设置
●“Thumb汇编指令练习”
(5)课后练习
●无
2.3V5TE体系结构扩展
(1)设置目的及目标
●了解V5TE的扩展
(2)讲解准备
不必过多的讲解具体指令的用法,而是让学员感受到体系结构、指令集升级后对系统的影响。
●不超过10分钟
(3)易出现问题及应对方法
本章一般不会出现什么问题。
(4)实验设置
●无
(5)课后练习
●无
3异常处理
3.1中断处理
(1)设置目的及目标
●掌握ARM核异常处理的过程
●掌握C中断处理程序编写方法
●了解中断重入代码编写方法
(2)讲解准备
本主题主要目的是掌握ARM核在处理异常时的过程,至于中断控制器部分将在接口部分讲解。
●1个学时左右
(3)易出现问题及应对方法
问题1:
在讲解可重入中断示例代码时,学员会有很多疑问
解决方法:
要求老师在上课前对此段代码做好充分的准备工作。
(4)实验设置
●此部分实验需要外围控制器的参与,所以将在讲解中断控制器时设置实验。
(5)课后练习
●无
3.2软中断处理
(1)设置目的及目标
●掌握ARM核软中断处理的过程
●掌握软中断处理代码编写
(2)讲解准备
要求老师熟悉“软中断(SWI)处理示例”这段代码,重点把这部分代码讲清楚。
最好能引出软中断机制在linux系统中的应用。
●0.5个学时左右
(3)易出现问题及应对方法
只要老师在上课前对“软中断(SWI)处理示例”这段代码,做好充分的准备工作。
就不会有问题了。
(4)实验设置
●“SWI软中断实验(1学时)”。
(5)课后练习
●利用软中断,写一个自己的系统调用。
3.3其它中断处理
(1)设置目的及目标
●了解其它中断处理过程
●了解异常返回值的原理
(2)讲解准备
参照《ARM嵌入式体系结构与接口技术》7.5节,了解中断返回过程。
●0.5个学时左右
(3)易出现问题及应对方法
●一般不会有什么问题
(4)实验设置
●无
(5)课后练习
●无
4、ARM、C混合编程
4.1ARM编译器优化
(1)设置目的及目标
●了解到ARM编译器的优化规则。
(2)讲解准备
●参阅《ARM体系结构与编程》的10.2.8节“代码生成控制”
●讲解过程中,可以在mdk环境中演示对应的编译选项如果加入
●时间在15分钟左右
(3)易出现问题及应对方法
问题1学员可能会问及GCC编译器和ARM编译器优化的对应关系
解决方法:
老师可参照GCC使用手册中关于优化部分的几个常见选项的含义。
(4)实验设置
●在开发环境中,给学员演示这几个参数如何添加
(5)课后练习
●无
4.2C/C++和汇编混合模式编程
(1)设置目的及目标
●掌握ARM汇编、C、C++混合编程的方法,特别是C和汇编的混合规则
●掌握AAPCS过程调用标准
(2)讲解准备
●参照《ARM嵌入式体系结构与接口技术》4.5节
●时间在1个学时左右
(3)易出现问题及应对方法
●一般不会有问题
(4)实验设置
●“简单C语言程序实验”、“C语言、汇编混合编程实验”、“内嵌、内联汇编实验”
(5)课后练习
●在C语言程序中调用一个汇编实现的3参数整型加法函数
4.3使用ARM编译器编码
(1)设置目的及目标
●了解ARM编译更多的编译规则
(2)讲解准备
●参照课件及《ARM体系结构与编程》的10.4和10.5节
●本节以了解为主
●时间在15分钟左右
(3)易出现问题及应对方法
●一般不会有问题
(4)实验设置
●无
(5)课后练习
●无
5、ARM硬件接口
(1)
5.1GPIO接口
(1)设置目的及目标
●掌握S3C2410芯片的GPIO控制器编程方法
●了解GPIO开发相关注意事项
(2)讲解准备
●参照《ARM嵌入式体系结构与接口技术》第6章的内容
●讲解接口驱动时,要以学员动手练习为主,老师没讲完一个接口理论部分时,就让学员针对这个接口进行相关的练习。
练习的过程要发挥学员的主观能动性。
不能紧紧限于把老师给的代码简单测试一下。
●时间在0.5个学时左右,实验过程的时间根据学员的接受情况决定。
(3)易出现问题及应对方法
问题1:
老师会认为这个部分太简单,而快速跳过,导致学员基础不牢,无法理解更复杂的接口。
解决方法:
这个是基础的接口,一定要确认学员全部掌握再进行后面的课程。
(4)实验设置
●“GPIO接口实验”
(5)课后练习
●设计出不同的LED控制效果
5.2UART接口
(1)设置目的及目标
●掌握串口开发技术
●掌握S3C2410串口控制器的配置
(2)讲解准备
●参照《ARM嵌入式体系结构与接口技术》第8章的内容
●对于串口的中断、DMA方式访问方式,可以提及一下。
此处的实验以轮询为主。
中断控制方式将在中断控制器讲解完以后,让学员也能使用中断方式控制串口的收发。
DMA的方式以了解为主。
●时间在1个学时左右,实验过程的时间根据学员的接受情况决定。
(3)易出现问题及应对方法
问题1:
如果老师开始就直接讲解寄存器的设置方法,这会导致学员对串口的不理解
解决方法:
应该在讲解了串口开发原理后,再过度到具体的寄存器设置。
(4)实验设置
●“串口实验”,本实验是用一种最简单的方式实现的,即关闭FIFO和中断的轮询方式。
(5)课后练习
●在后面的中断实验讲解完成后,可以结合中断、串口控制器的FIFO,完成串口收发。
5.3中断接口
(1)设置目的及目标
●掌握S3C2410中断控制的开发方法
(2)讲解准备
●参照《ARM嵌入式体系结构与接口技术》第7章的内容
●能够把中断源、中断控制器、ARM核的中断处理联系起来。
●时间在1.5个学时左右,实验过程的时间根据学员的接受情况决定。
(3)易出现问题及应对方法
问题1:
此处容易出现的问题是老师对中断理解不深,而单纯的讲解中断控制器的设置,从而让学员无法理解原理。
解决方法:
要求老师重视中断控制器这部分内容,中断对于整个嵌入式开发都是至关重要的。
(4)实验设置
●按键中断实验
(5)课后练习
●任意选择一个其它按键,以不同的触发方式来完成中断功能。
6、ARM硬件接口
(2)
6.1实时时钟接口
(1)设置目的及目标
●掌握实时时钟的一般开发方法
●掌握S3C2410实时时钟控制器操作方法
(2)讲解准备
●参照S3C2410芯片手册的实时时钟章节、原理图、及实验代码准备
●时间在0.5个学时左右,实验过程的时间根据学员的接受情况决定。
(3)易出现问题及应对方法
●本节相对简单,一般不会出问题
(4)实验设置
●无
(5)课后练习
●无
6.2看门狗接口
(1)设置目的及目标
●掌握看门狗的一般开发方法
●掌握S3C2410看门狗控制器操作方法
(2)讲解准备
●参照《ARM嵌入式体系结构与接口技术》10.2小节的内容准备
●时间在0.5个学时左右,实验过程的时间根据学员的接受情况决定。
(3)易出现问题及应对方法
●本节相对简单,一般不会出问题
(4)实验设置
●“看门狗实验”,实验中的代码工作在中断方式
(5)课后练习
●修改代码,使其工作在复位方式
6.3PWM接口
(1)设置目的及目标
●掌握PWM的一般开发方法
●掌握S3C2410PWM控制器操作方法
(2)讲解准备
●参照《ARM嵌入式体系结构与接口技术》10.1小节的内容准备
●时间在0.5个学时左右,实验过程的时间根据学员的接受情况决定。
(3)易出现问题及应对方法
●本节相对简单,一般不会出问题
(4)实验设置
●“PWM实验”
实验是用PWM驱动开发板上的蜂鸣器。
需要了解开发板上的蜂鸣器是无源的,需要PWM驱动。
(5)课后练习
●修改PWM占空比,实现不同的蜂鸣器音量。
6.4A/D接口
(1)设置目的及目标
●掌握A/D接口的一般开发方法
●掌握S3C2410A/D控制器操作方法
(2)讲解准备
●参照《ARM嵌入式体系结构与接口技术》11.1小节的内容准备
●时间在0.5个学时左右,实验过程的时间根据学员的接受情况决定。
(3)易出现问题及应对方法
问题1因为触摸屏和A/D共用了一个控制器,所以讲解过程中要能够把这两部分区分开。
(4)实验设置
●“A/D实验”,实验代码采用的是查询的方式获取电压值。
(5)课后练习
●修改代码使其支持中断的方式获取电压值
7、ARM硬件接口(3)
7.1SPI总线
(1)设置目的及目标
●掌握SPI接口的一般开发方法
(2)讲解准备
●因为开发板上没有SPI接口实验的设备,所以本节以理论讲解为主。
主要能把SPI协议、时序讲清楚就可以。
●时间在0.5学时左右
(3)易出现问题及应对方法
无
(4)实验设置
●无
(5)课后练习
●无
7.2I2C总线
(1)设置目的及目标
●掌握I2C协议
●掌握S2C2410I2C协议
(2)讲解准备
●理解I2C总线协议,参考at24c04手册,熟悉e2prom的操作方法。
参考S3C2410芯片手册,熟悉S3C2410I2C控制器的操作方法。
●时间在1.5个学时左右
(3)易出现问题及应对方法
问题1:
一定要让学员在理解I2C总线协议的基础上再学习S3C2410I2C控制器的操作方法。
问题2:
老师必须熟读at24c04手册,对at24c04的芯片地址设置、操作方法都要理解。
(4)实验设置
●“I2C实验”
(5)课后练习
●修改实验代码,选择不同的写入、读出地址。
测试代码。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 课程 教师
![提示](https://static.bdocx.com/images/bang_tan.gif)