嵌入式处理器原理及应用上机实验

上传人:痛*** 文档编号:199963892 上传时间:2023-04-13 格式:PPT 页数:29 大小:514KB
收藏 版权申诉 举报 下载
嵌入式处理器原理及应用上机实验_第1页
第1页 / 共29页
嵌入式处理器原理及应用上机实验_第2页
第2页 / 共29页
嵌入式处理器原理及应用上机实验_第3页
第3页 / 共29页
资源描述:

《嵌入式处理器原理及应用上机实验》由会员分享,可在线阅读,更多相关《嵌入式处理器原理及应用上机实验(29页珍藏版)》请在装配图网上搜索。

1、电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心嵌入式处理器原理及应用嵌入式处理器原理及应用上机实验上机实验电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心一、实验目的一、实验目的理解并实现理解并实现ARM7ARM7处理器的模式切换、处理器的模式切换、C C语言中对语言中对ARMARM汇编子程序的调用、汇编子程序的调用、中断处理程序的设计和编写。中断处理程序的设计和编写。理解理解 W90P710 W90P710 高级中断控制器使用高级中断控制器使用的基本方法和一般的中断处理方法。的基本方法和一般的中断处理方法。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心

2、了解了解 W90P710 ARM7 W90P710 ARM7处理器中用于输入处理器中用于输入输出的输出的 GPIO GPIO 的基本用法,了解外部的基本用法,了解外部芯片芯片 BC7281B BC7281B 中中 LED7 LED7 段数码管显示段数码管显示功能的基本使用方法。功能的基本使用方法。掌握使用掌握使用 W90P710 W90P710 处理器通过处理器通过 GPIO GPIO 对外部芯片进行控制的基本原理。对外部芯片进行控制的基本原理。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心二、实验设备二、实验设备硬件:硬件:PC 机机 一台一台 W90P710 学习板学习板一台

3、一台 软件:软件:Windows2000/XP 系统系统 LambdaEDU3 集成开发环境集成开发环境 电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心三、实验内容三、实验内容配置配置 AIC;配置配置 Timer;配置配置LED7,利用,利用GPIO实现对实现对LED7的控的控制;制;为为 Timer 中断编写中断处理程序,响应时中断编写中断处理程序,响应时钟中断并将中断次数在钟中断并将中断次数在LED7上显示。上显示。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心四、实验原理四、实验原理1.定时器原理定时器原理Timer,能产生特定的周期性中断。这个中,能产生特

4、定的周期性中断。这个中断可以看作是操作系统心脏的脉动,用于实现时断可以看作是操作系统心脏的脉动,用于实现时间的延时和确认超时。时钟节拍的频率越高,系间的延时和确认超时。时钟节拍的频率越高,系统用于处理时钟中断的额外开销也越大。统用于处理时钟中断的额外开销也越大。W90P710 的的24位位 Timer 含有两个通道,分含有两个通道,分别是别是 Timer0 和和 Timer1。每个通道有一个独立的。每个通道有一个独立的时钟源,每隔一定时间,计数寄存器的值减时钟源,每隔一定时间,计数寄存器的值减 1,当计数寄存器的值达到零时,就会触发一次中断。当计数寄存器的值达到零时,就会触发一次中断。设计通用

5、软件可以在每个中断发生时加设计通用软件可以在每个中断发生时加 1,达到,达到计数的目的。计数的目的。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心对于对于 W90P710,晶振输入频率为,晶振输入频率为 15MHZ,用,用户可根据上面的等式计算出户可根据上面的等式计算出 Timer 中断的频率,如下中断的频率,如下表:表:电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心2.中断中断Timer 触发中断并在中断服务子程序里实现触发中断并在中断服务子程序里实现相关的计数功能。相关的计数功能。中断是操作系统处理事件的一种机制,以异中断是操作系统处理事件的一种机制,以异步的方

6、式通知步的方式通知 CPU 有个事件发生了。中断一旦被识有个事件发生了。中断一旦被识别,别,CPU 保存现场,进入中断服务子程序保存现场,进入中断服务子程序(ISR),在返回前又恢复现场。这种机制使得在返回前又恢复现场。这种机制使得 CPU 可以在事可以在事件发生时予以处理,克服了早期的操作系统中,件发生时予以处理,克服了早期的操作系统中,CPU 轮询某个事件是否发生,造成轮询某个事件是否发生,造成 CPU 资源的浪资源的浪费的缺点。费的缺点。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心ARM 有有 7 种异常,分种异常,分别为:复位复位(reset),未定未定义指令指令(un

7、defined instruction),软件中断件中断(software interrupt),指令指令预取取中止中止(prefetch abort),数据数据访问中止中止(data abort),外部中断外部中断请求求(IRQ),快速快速中断中断请求求(FIQ)。对应于于这 7 类异常,异常,ARM 有相有相应的异常工作的异常工作模模式式,如下,如下图所示:所示:电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心在上图下方的方格代表在上图下方的方格代表 ARM 的的 7 种模式。其中种模式。其中 User 和和SYS 模

8、式共用一组寄存器,其它模式共用一组寄存器,其它 5 种模式各有自己种模式各有自己的一套寄存器组,褐色部分的寄存器是各模式下的特殊寄的一套寄存器组,褐色部分的寄存器是各模式下的特殊寄存器,只有进入了该模式,才可以访问。而淡蓝色部分的存器,只有进入了该模式,才可以访问。而淡蓝色部分的寄存器是共用的,对各个模式可见。寄存器是共用的,对各个模式可见。观察该图可知,观察该图可知,ARM 共有共有 37 个寄存器,每个寄存个寄存器,每个寄存器器 32 位宽,无论何时,至多只有位宽,无论何时,至多只有 18个寄存器对处理器是个寄存器对处理器是可见的:可见的:r0-r15,cpsr,spsr。R0-R12:通

9、用寄存器,用于保存数据和指针。:通用寄存器,用于保存数据和指针。R13:通常被看作堆栈指针寄存器:通常被看作堆栈指针寄存器(SP)R14:链接寄存器,通常用于保存返回地址:链接寄存器,通常用于保存返回地址 R15:程序计数器:程序计数器(PC)电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心CPSR:程序状态寄存器,用于记录当前程序运行的:程序状态寄存器,用于记录当前程序运行的状态。这里有必要再介绍下它的格式,如下图状态。这里有必要再介绍下它的格式,如下图(因为因为它可控制它可控制CPU 对中断是否响应对中断是否响应):这里我们关注的是与中断相关的两个位:这里我们关注的是与中断相关

10、的两个位:I,F(中断禁止位中断禁止位):当当 I=1 时禁止时禁止 IRQ 中断,为零时则打开中断中断,为零时则打开中断当当 F=1 时禁止时禁止 FIQ 中断,为零时则打开中断中断,为零时则打开中断电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心M4-M0(M 控制位控制位):用于控制处理器模式,它:用于控制处理器模式,它们与处理器模式的对应关系如下图:们与处理器模式的对应关系如下图:SPSR:备份程序状份程序状态寄存器。当特定的异常中断寄存器。当特定的异常中断发生生时,这个寄存器用于保存当前程序状个寄存器用于保存当前程序状态器的内容。器的内容。在异常中断程序退出在异常中断程序

11、退出时,可以用,可以用 SPSR 中保存的中保存的值来恢复来恢复 CPSR。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心3.异常向量表异常向量表通常有两种方法将异常中断处理程序注册到异通常有两种方法将异常中断处理程序注册到异常中断向量表中。一种是使用跳转指令常中断向量表中。一种是使用跳转指令 BL,另一种,另一种使用数据读取指令使用数据读取指令 LDR。但由于跳转指令只能在。但由于跳转指令只能在 32MB 的范围内跳转,所受的局限较大。故我们只介的范围内跳转,所受的局限较大。故我们只介绍使用绍使用 LDR 的情况,这大体又可以分为用的情况,这大体又可以分为用 c 语言安语言安装

12、和用汇编语言安装两种。装和用汇编语言安装两种。在在 LambdaEDU3 集成开发环境中,已经编写集成开发环境中,已经编写好了针对华邦好了针对华邦 W90P710 这块板子的异常向量表,使这块板子的异常向量表,使用的是用汇编语言安装中断处理例程的方法,具体的用的是用汇编语言安装中断处理例程的方法,具体的启动代码在启动代码在 Lambda EDU3 安装目录下的安装目录下的:LambdaEDUtargettoolbspsboardsarmw90p710_evbstartredboot _debugvectors.S 中。中。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心电子科技大学

13、嵌入式软件工程中心电子科技大学嵌入式软件工程中心这些代些代码是用符合是用符合 GCC 汇编器器规范的代范的代码写的。写的。第一行代第一行代码是声明是声明该段并段并赋以以.vectors,ax的属性。的属性。以后的以后的 8 条条语句是数据句是数据读取指令取指令(除除 NOP 外,表示不操外,表示不操作作),分,分别对应 ARM 的的 7 中异常中异常发生生时,处理开始的第理开始的第一条指令。一条指令。这里里简要介要介绍下另一种安装中断下另一种安装中断处理程序的方法,理程序的方法,它是用它是用 C 语言言实现的。下面的。下面给出出实际代代码:其中其中 INT32U 是无符号整型数据是无符号整型数

14、据类型,型,0 xE59FF018 是是 LDR PC,PC,#0 x18指令的指令的编码,读者可根据先前的者可根据先前的描述仔描述仔细分析。分析。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心4.W90P710 硬件中断控制硬件中断控制在在 W90P710 微处理器中有一个叫中断控制器微处理器中有一个叫中断控制器(AIC,advanced interrupt controller)的部件,可以处的部件,可以处理多达理多达 32 个中断源,目前只定义了个中断源,目前只定义了 31 种,每个中断种,每个中断源都对应了唯一的中断号,如下图所示:源都对应了唯一的中断号,如下图所示:电子

15、科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心此外,为了更好的管理中断,此外,为了更好的管理中断,AIC 还实现了还实现了一个一个 8 级级(0-7)的中断优先级位表。如下表:的中断优先级位表。如下表:电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心其中中断号越低,优先级就越高。例如其中中断号越低,优先级就越高。例如 1 号号看门狗中断优先级最高。另外优先级为看门狗中断优先级最高。另外优先级为0 的四个中的四个中断触发的是断触发的是 FIQ 中断,而其余级别的中断全都属于中断,而其余级别的中断全都属于 IRQ 中断。中断。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软

16、件工程中心5.通过通过GPIO控制控制LED7GPIO 意为通用目的的输入输出接口,通过意为通用目的的输入输出接口,通过与其相关的寄存器进行特定的配置,该微处理器引与其相关的寄存器进行特定的配置,该微处理器引脚将与微处理器中特定的电路进行逻辑连接,实现脚将与微处理器中特定的电路进行逻辑连接,实现特定的功能。每个特定的功能。每个 GPIO 组中包含的一个微处理器组中包含的一个微处理器引脚一般由寄存器(引脚一般由寄存器(GPIO_CFG)中特定位置的两)中特定位置的两个个 BIT 来控制,最多情况下,一个微处理器引脚可来控制,最多情况下,一个微处理器引脚可以被配置成以被配置成 4 种模式(种模式(

17、00、01、10、11),但是某),但是某一个配置下仅仅能使用其中一个功能。一个配置下仅仅能使用其中一个功能。具体寄存器及相关控制位的使用参见具体寄存器及相关控制位的使用参见DATA SHEET。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心五、实验步骤五、实验步骤使用交叉网线(网线的一头为使用交叉网线(网线的一头为 T568A,另一头为,另一头为 T568B)连接)连接 W90P710 学习板的网卡接口可学习板的网卡接口可 PC 机的网机的网卡接口。卡接口。使用串口线连接使用串口线连接 W90P710 学习板的学习板的 UART0 和和 PC 机的机的串口。配置超级终端(具体操

18、作,请参考串口。配置超级终端(具体操作,请参考W90P710 学学习板实验指南习板实验指南)。)。启动启动 LambdaEDU3,新建一个,新建一个“标准应用项目标准应用项目”,项目,项目名称自拟,使用名称自拟,使用“w90p710 标准应用标准应用(ARM)”作为其应用作为其应用程序框架(模板),选择程序框架(模板),选择“w90p710_evb_elf_RedBoot_debug”作为其配置。作为其配置。在工程的在工程的 src 文件夹下分别创建自己的源程序文件并填写文件夹下分别创建自己的源程序文件并填写相应的程序代码。相应的程序代码。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工

19、程中心 完成代码后,展开完成代码后,展开“W90PP710_evb_elf_RedBoot_Debug”,双击,双击“目目标板配置标板配置”,在打开的页面中,点击,在打开的页面中,点击“W90P710_Excpetion 配置配置”,修改,修改“IRQ”设置为设置为“false”,保存所作的修改。,保存所作的修改。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心右右击项目名称目名称选择“重建重建 BSP 及及项目目”,完成,完成该项目的目的编译和和链接接。在在“目目标机管理机管理”中添加一个中添加一个“基于基于标准准 RSP 的的连接方接方式式”,名称,名称为“RedBoot”,体

20、系,体系结构构选择“arm”,连接接类型型选择“TCP”,IP 地址地址为“192.168.1.211”,端端口口 号号 为“9000”。完完 成成 后后,在在“目目 标 机机 管管 理理”中中 右右 击“RedBoot(TCP;192.168.1.211:9000)”,选择“连接接”。在在“C/C+项目目”中右中右击项目目中的中的“w90p710_evb_elf_RedBoot_debug”,选择“运行运行”,执行程序(开始向目行程序(开始向目标板上下板上下载程序前,大程序前,大约需需要要 5 秒秒钟时间进行行连接接准准备)。)。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心

21、运行后,运行后,请从超从超级终端端中可以看到运行中可以看到运行结果,同果,同时也也可从可从LED7上看到上看到时钟中断的次数。中断的次数。注意:注意:RedBoot 使用了使用了 Timer0,为了了不和不和 RedBoot 冲突,冲突,实验中中应使用使用Timer1。另外,在另外,在读代代码过程中,一些程中,一些伪指令的写法和我指令的写法和我们课堂上堂上所所讲的的伪指令略有区指令略有区别。比如:比如:.extern W90P710_CPU_ISR_Handler 就是就是extern.global IRQ_ISR_Handler 就是就是GLOBAL.equ NO_INT,0 xC0 就是就

22、是EQU电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心实验报告需完成内容实验报告需完成内容1.需在需在实验报告中回答以下告中回答以下问题:系系统的初始化由哪几个函数的初始化由哪几个函数实现?每个函数分?每个函数分别需需要完成什么功能要完成什么功能(可用文字叙述可用文字叙述)?里里为什么有个空循什么有个空循环while(1)?AIC中断控制器支持多少个中断,中断控制器支持多少个中断,优先先级如何?每如何?每个中断所个中断所对应的中断的中断处理程序的名字是什么?理程序的名字是什么?(以如以如下表格形式写出下表格形式写出)序号中断名优先级中断处理程序名12电子科技大学嵌入式软件工程中心

23、电子科技大学嵌入式软件工程中心实验报告需完成内容实验报告需完成内容1.需在需在实验报告中回答以下告中回答以下问题:系系统的初始化由哪几个函数的初始化由哪几个函数实现?每个函数分?每个函数分别需需要完成什么功能要完成什么功能(可用文字叙述可用文字叙述)?里里为什么有个空循什么有个空循环while(1)?AIC中断控制器支持多少个中断,中断控制器支持多少个中断,优先先级如何?每如何?每个中断所个中断所对应的中断的中断处理程序的名字是什么?理程序的名字是什么?(以如以如下表格形式写出下表格形式写出)序号中断名优先级中断处理程序名12电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心实验报告

24、需完成内容实验报告需完成内容中中间有两行注有两行注释需要回答。需要回答。写出三写出三级中断所中断所对应的三的三级中断函数分中断函数分别是什么。是什么。W90p710_aic.c 中函数中函数W90P710_T1_INT_ISR()中中变量量i的作用是什么?的作用是什么?修改修改LED更新更新频率的方法有几种?每种方法需要在率的方法有几种?每种方法需要在哪个源代哪个源代码文件的哪一个地方把代文件的哪一个地方把代码修改成什么修改成什么样?电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心实验报告需完成内容实验报告需完成内容2.在代在代码中中补全内容:全内容:在在中中CPSR_Init标号

25、的相号的相应之之处补全代全代码,完成更,完成更新新CPSR使开中断。使开中断。在在中最后一部分中最后一部分补全恢复全恢复现场的代的代码。在在中中补全注全注释里要求的里要求的1行代行代码。注:注:补上的代上的代码不不仅需写在源文件相需写在源文件相应之之处,还应写写在在实验报告中。告中。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心实验需注意事项实验需注意事项1.需需请老老师或助教确或助教确认实验的完整性,包括演示的完整性,包括演示程序的正确运行程序的正确运行过程和程和LED显示示结果。果。2.当天内完成当天内完成实验报告,并提交。格式要求:正告,并提交。格式要求:正文文为小四号宋体,行小四号宋体,行间距距为倍行距。倍行距。3.离开之前,离开之前,删除自己除自己电脑上的相关文件,并关上的相关文件,并关闭电脑后方可离开。后方可离开。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!