嵌入式处理器原理及应用上机实验.ppt
《嵌入式处理器原理及应用上机实验.ppt》由会员分享,可在线阅读,更多相关《嵌入式处理器原理及应用上机实验.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式处理器原理及应用上机实验 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心一、实验目的一、实验目的理解并理解并实现ARM7ARM7处理器的模式切理器的模式切换、C C语言中言中对ARMARM汇编子程序的子程序的调用、用、中断中断处理程序的理程序的设计和和编写。写。理解理解W90P710W90P710高高级中断控制器使用中断控制器使用的基本方法
2、和一般的中断的基本方法和一般的中断处理方法。理方法。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心了解了解W90P710ARM7W90P710ARM7处理器中用于理器中用于输入入输出的出的GPIOGPIO的基本用法,了解外部的基本用法,了解外部芯片芯片BC7281BBC7281B中中LED7LED7段数段数码管管显示示功能的基本使用方法。功能的基本使用方法。掌握使用掌握使用W90P710W90P710处理器通理器通过GPIOGPIO对外部芯片外部芯片进行控制的基本原理。行控制的基本原理。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心二、实验设备二、实验设备硬件:硬件
3、:PC 机机 一台一台 W90P710 学习板学习板一台一台 软件:软件:Windows2000/XP 系统系统 LambdaEDU3 集成开发环境集成开发环境 电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心三、实验内容三、实验内容配置配置 AIC;配置配置 Timer;配置配置LED7,利用,利用GPIO实现对实现对LED7的控的控制;制;为为 Timer 中断编写中断处理程序,响应时中断编写中断处理程序,响应时钟中断并将中断次数在钟中断并将中断次数在LED7上显示。上显示。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心四、实验原理四、实验原理1.定定时器原理器原
4、理Timer,能,能产生特定的周期性中断。生特定的周期性中断。这个中个中断可以看作是操作系断可以看作是操作系统心心脏的脉的脉动,用于,用于实现时间的延的延时和确和确认超超时。时钟节拍的拍的频率越高,系率越高,系统用于用于处理理时钟中断的中断的额外开外开销也越大。也越大。W90P710 的的24位位 Timer 含有两个通道,分含有两个通道,分别是是 Timer0 和和 Timer1。每个通道有一个独立的。每个通道有一个独立的时钟源,每隔一定源,每隔一定时间,计数寄存器的数寄存器的值减减 1,当,当计数寄存器的数寄存器的值达到零达到零时,就会触,就会触发一次中断。一次中断。设计通用通用软件可以在
5、每个中断件可以在每个中断发生生时加加 1,达到,达到计数的目的。数的目的。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心对于于 W90P710,晶振,晶振输入入频率率为 15MHZ,用,用户可根据上面的等式可根据上面的等式计算出算出 Timer 中断的中断的频率,如下率,如下表:表:电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心2.中断中断Timer 触触发中断并在中断服中断并在中断服务子程序里子程序里实现相关的相关的计数功能。数功能。中断是操作系中断是操作系统处理事件的一种机制,以异理事件的一种机制,以异步的方式通知步的方式通知 CPU 有个事件有个事件发生了。中
6、断一旦被生了。中断一旦被识别,CPU 保存保存现场,进入中断服入中断服务子程序子程序(ISR),在返回前又恢复在返回前又恢复现场。这种机制使得种机制使得 CPU 可以在事可以在事件件发生生时予以予以处理,克服了早期的操作系理,克服了早期的操作系统中,中,CPU 轮询某个事件是否某个事件是否发生,造成生,造成 CPU 资源的浪源的浪费的缺点。的缺点。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心ARM 有有 7 种异常,分种异常,分别为:复位复位(reset),未定未定义指令指令(undefined instruction),软件中断件中断(software interrupt),
7、指令指令预取中止取中止(prefetch abort),数据数据访问中止中止(data abort),外部中断外部中断请求求(IRQ),快速中断快速中断请求求(FIQ)。对应于于这 7 类异常,异常,ARM 有相有相应的异常工的异常工作模式,如下作模式,如下图所示:所示:电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心在上在上图下方的方格代表下方的方格代表 ARM 的的 7 种模式。其中种模式。其中 User 和和SYS 模式共用一模式共用一组寄存器,其它寄存器,其它 5 种模式各有自己种模式各有自己的一套寄存器的一套寄存
8、器组,褐色部分的寄存器是各模式下的特殊寄,褐色部分的寄存器是各模式下的特殊寄存器,只有存器,只有进入了入了该模式,才可以模式,才可以访问。而淡。而淡蓝色部分的色部分的寄存器是共用的,寄存器是共用的,对各个模式可各个模式可见。观察察该图可知,可知,ARM 共有共有 37 个寄存器,每个寄存个寄存器,每个寄存器器 32 位位宽,无,无论何何时,至多只有,至多只有 18个寄存器个寄存器对处理器是可理器是可见的:的:r0-r15,cpsr,spsr。R0-R12:通用寄存器,用于保存数据和指:通用寄存器,用于保存数据和指针。R13:通常被看作堆:通常被看作堆栈指指针寄存器寄存器(SP)R14:链接寄存
9、器,通常用于保存返回地址接寄存器,通常用于保存返回地址 R15:程序:程序计数器数器(PC)电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心CPSR:程序状:程序状态寄存器,用于寄存器,用于记录当前程序运行的当前程序运行的状状态。这里有必要再介里有必要再介绍下它的格式,如下下它的格式,如下图(因因为它可控制它可控制CPU 对中断是否响中断是否响应):这里我里我们关注的是与中断相关的两个位:关注的是与中断相关的两个位:I,F(中断禁止位中断禁止位):当当 I=1 时禁止禁止 IRQ 中断,中断,为零零时则打开中断打开中断当当 F=1 时禁止禁止 FIQ 中断,中断,为零零时则打开中断
10、打开中断电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心M4-M0(M 控制位控制位):用于控制:用于控制处理器模式,它理器模式,它们与与处理器模式的理器模式的对应关系如下关系如下图:SPSR:备份程序状份程序状态寄存器。当特定的异常中断寄存器。当特定的异常中断发生生时,这个寄存器用于保存当前程序状个寄存器用于保存当前程序状态器的内容。器的内容。在异常中断程序退出在异常中断程序退出时,可以用,可以用 SPSR 中保存的中保存的值来恢复来恢复 CPSR。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心3.异常向量表异常向量表通常有两种方法将异常中断通常有两种方法将异常中断
11、处理程序注册到异理程序注册到异常中断向量表中。一种是使用跳常中断向量表中。一种是使用跳转指令指令 BL,另一种,另一种使用数据使用数据读取指令取指令 LDR。但由于跳。但由于跳转指令只能在指令只能在 32MB 的范的范围内跳内跳转,所受的局限,所受的局限较大。故我大。故我们只介只介绍使用使用 LDR 的情况,的情况,这大体又可以分大体又可以分为用用 c 语言安装言安装和用和用汇编语言安装两种。言安装两种。在在 LambdaEDU3 集成开集成开发环境中,已境中,已经编写写好了好了针对华邦邦 W90P710 这块板子的异常向量表,使板子的异常向量表,使用的是用用的是用汇编语言安装中断言安装中断处
12、理例程的方法,具体的理例程的方法,具体的启启动代代码在在 Lambda EDU3 安装目安装目录下的下的:LambdaEDUtargettoolbspsboardsarmw90p710_evbstartredboot _debugvectors.S 中。中。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心这些代些代码是用符合是用符合 GCC 汇编器器规范的代范的代码写的。写的。第一行代第一行代码是声明是声明该段并段并赋以以.vectors,ax的属性。的属性。以后的以后的 8 条条语句是数据句是数据读取指令取指令(除除 N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 处理器 原理 应用 上机 实验
限制150内