ARM嵌入式微处理器课程实验指导书 v20.docx

上传人:b****8 文档编号:29265786 上传时间:2023-07-21 格式:DOCX 页数:70 大小:4.42MB
下载 相关 举报
ARM嵌入式微处理器课程实验指导书 v20.docx_第1页
第1页 / 共70页
ARM嵌入式微处理器课程实验指导书 v20.docx_第2页
第2页 / 共70页
ARM嵌入式微处理器课程实验指导书 v20.docx_第3页
第3页 / 共70页
ARM嵌入式微处理器课程实验指导书 v20.docx_第4页
第4页 / 共70页
ARM嵌入式微处理器课程实验指导书 v20.docx_第5页
第5页 / 共70页
点击查看更多>>
下载资源
资源描述

ARM嵌入式微处理器课程实验指导书 v20.docx

《ARM嵌入式微处理器课程实验指导书 v20.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式微处理器课程实验指导书 v20.docx(70页珍藏版)》请在冰豆网上搜索。

ARM嵌入式微处理器课程实验指导书 v20.docx

ARM嵌入式微处理器课程实验指导书v20

《ARM嵌入式微处理器》课程实验指导书

实验学时:

34

实验类型:

验证性

实验要求:

必修

适用对象:

计算机专业、物联网专业

 

1.实验一:

ADS1.2集成开发环境实验2学时

一、实验目的

了解ADS1.2集成开发环境的使用方法,为后面仿真实验做好基础准备。

二、实验内容

1.建立一个新的工程。

2.建立一个C源文件,并添加到工程中。

3.设置文本编辑器支持中文。

4.设置编译链接控制选项。

5.编译链接工程。

6.调试工程。

三、实验原理、方法和手段

采用ADS1.2软件仿真的方法。

四、实验环境、条件

1.硬件:

PC机一台

2.软件:

Windows98/XP/2000系统,ADS集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2IDE集成开发环境,选择【File】->【New…】,使用ARMExecutable

Image工程模板建立一个工程,工程名称为ADS,见图1.1。

图1.1建立ARM指令代码的工程

(2)选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中,见图1.2。

输入如程序清单1.1所示的代码,并保存,见图1.3。

图1.2新建文件TEST1.S

 

 

图1.3添加了TEST1.S的工程管理窗口

程序清单1.1TEST1.S文件代码

 

(3)由于ADS安装以后默认字体是CourierNew,对于中文支持不完善,因此建议修改字体。

选择【Edit】->【Perferences…】,可以看见以下对话框,如图1.4所示。

在Font选项设置字体是Fixedsys,Script是CHINESE。

由于Tab在不同文本编辑器解释不同,建议在TabInsertsSpaces前打勾,使Tab键插入的是多个空格。

图1.4字体和Tab设置

(4)选择【Edit】->【DebugRelSettings…】,在DebugRelSettings对话框的左边选择ARMLinker项,然后在Output页设置链接地址(见图1.5),在Options页设置调试入口地址(见图1.6)。

图1.5工程链接地址设置

图1.6工程调试入口地址设置

(5)选择【Project】->【Make】,将编译链接整个工程。

如果编译成功,见图1.7,Errors&Warnings对话框会报告编译错误为0,那么就可以对工程进行仿真。

图1.7编译错误和警告对话框

(6)选择【Project】->【Debug】,或者按下快捷键F5。

IDE环境就会启动AXD调试软件,见图1.8。

断点调试方法:

首先设置断点,只需要在第6行灰色区域双击鼠标即可,如果出现红色实心圆点,那么表示断点设置成功,然后选择【Execute】->【Go】全速运行,可以发现程序停止在第6行。

还有一种比较方便的调试方法就是RuntoCursor,单击鼠标第8行灰色区域,如果AXD将第8行高亮就表示设置成功,然后选择【Execute】->【RuntoCursor】运行到光标,可以发现程序停止在第8行。

通过断点调试可以观察ARM寄存器数值变化,具体的操作方法在后面的实验会具体介绍。

图1.8AXD调试窗口

 

2.实验二:

汇编指令实验12学时

一、实验目的

(1)了解ADS1.2集成开发环境及ARMulator软件仿真。

(2)掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序。

(3)掌握指令的条件执行和使用LDR/STR指令完成存储器的访问。

二、实验内容

(1)使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址。

然后再次读取0x40003100上的数据,将数据加1,判断结果是否小于10……周而复此循环。

(2)使用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(ProcessorRegisters)监视R0、R1的值,打开存储器观察窗口(Memory)监视0x40003100上的值。

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

2.软件:

Windows98/XP/2000系统,ADS集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImage工程模板建立一个工程Instruction1。

(2)建立汇编源文件TEST2.S,编写实验程序,然后添加到工程中。

(3)设置工程链接地址ROBase为0x40000000,RWBase为0x40003000。

设置调试入口地址Imageentrypoint为0x40000000。

(6)编译链接工程,选择【Project】->【Debug】,启动AXD进行软件仿真调试。

(7)打开寄存器窗口(ProcessorRegisters),选择Current项监视R0、R1的值。

打开存储器观察窗口(Memory)设置观察地址为0x40003100,显示方式Size为32Bit,监视0x40003100地址上的值。

说明:

在Memory窗口中点击鼠标右键,Size项中可以选择显示格式为8Bit、16Bit或32Bit,如图2.1所示。

可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,调试时观察寄存器和0x40003100地址上的值。

运行结果见图2.2。

图2.1Memory窗口显示格式设置

图2.2程序运行结果

(8)实验参考程序

程序清单2.1汇编指令实验1参考程序

3.实验三:

C语言调用汇编实验2学时

一、实验目的

掌握在C语言程序中调用汇编程序,了解ATPCS基本规则。

二、实验内容

在C程序调用汇编子程序,实现两个整数的加法运算。

汇编子程序的原型为:

uint32Add(uint32x,uint32y),其中uint32已定义为unsignedint。

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImage工程模板建立一个工程ProgramC1。

(2)建立源文件Startup.S、Add.S和Test.c,编写实验程序,然后添加到工程中。

(3)设置工程链接地址ROBase为0x40000000,RWBase为0x40003000。

设置调试入口地址Imageentrypoint为0x40000000。

(4)设置工程链接选项,位于开始位置的起始代码段设置为Startup.o的Start段。

(5)编译链接工程,选择【Project】->【Debug】,启动AXD进行软件仿真调试。

(6)在Test.c文件中的调用Add()的代码处设置断点,然后全速动行程序。

(7)程序在断点处停止。

使用SetpIn单步运行程序,观察程序是否转到汇编程序Add.S。

(8)选择【ProcessorViews】->【Variables】)打开变量观察窗口,观察全局变量的值,单步/全速运行程序,判断程序的运算结果是否正确。

(5)实验参考程序

C语言调用汇编程序实验的参考程序见程序清单3.1。

汇编加法函数代码见程序清单3.2。

程序清单3.1C语言调用汇编程序实验参考程序

程序清单3.2汇编加法函数代码

 

4.实验四:

ARM微控制器工作模式实验2学时

一、实验目的

(1)掌握如何使用MRS/MSR指令实现ARM微控制器工作模式的切换。

(2)了解在各个工作模式下的寄存器。

二、实验内容

(1)使用MRS/MSR指令切换工作模式,并初始化各种模式下堆栈指针。

(2)观察ARM微控制器在各种模式下寄存器的区别

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImage工程模板建立一个工程MODE。

(2)建立汇编源文件TEST7.S,编写实验程序,然后添加到工程中。

(3)设置工程连接地址ROBase为0x40000000,RWBase为0x40003000。

设置调试入口地址Imageentrypoint为0x40000000。

(4)编译连接工程,选择【Project】->【Debug】,启动AXD进行软件仿真调试。

(5)打开寄存器窗口(ProcessorRegisters),选择Current项监视各寄存器的值。

(6)单步运行程序,注意观察CPSR、SPSR、R13(SP)、R14(LR)、R15(PC)寄存器。

说明:

CPSR寄存器显示方式如图4.1所示。

显示分为两部分,一部分是各个标志位,另一部分是工作模式。

标志位NZCVQ为条件码标志N、Z、C、V、Q,显示为大写字母,表示该位为1;显示为小写字母,表示该位为0。

Q标志在ARM体系结构v5及以上版本的E变量中才有效。

标志位IFT为IRQ中断禁止位I、FIQ中断禁止位F、ARM微控制器状态位T,显示为大写字母,表示该位为1;显示为小写字母,表示该位为0。

T标志在ARM体系结构v4及以上版本的T变量中才有效。

工作模式指示ARM微控制器当前的工作模式,包括User(用户模式)、FIQ(FIQ中断模式)、IRQ(IRQ中断模式)、SVC(管理模式)、Abort(中止模式)、Undef(未定义模式)、SYS(系统模式)。

图4.1CPSR寄存器显示方式

(7)实验参考程序

ARM微控制器工作模式实验的参考程序见程序清单4.1。

程序清单4.1ARM微控制器工作模式实验参考程序

5.实验五:

GPIO输出控制实验2学时

一、实验目的

熟悉LPC2000系列ARM7微控制器的GPIO控制。

二、实验内容

使用GPIO口控制8个LED流水灯显示。

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

MagicARM2200教学实验开发平台一套

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一个工程LEDCon_C。

(2)在user组中的main.c中编写主程序代码。

(3)选用DebugInExram生成目标,然后编译连接工程。

(4)将MagicARM2200教学实验开发平台上跳线器JP23全部短接,JP15跳线全部断开,见图5.1。

(5)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。

(6)单步运行程序,通过LED1~LED8的显示判断输出是否正确。

全速运行程序,观察LED1~LED8的显示。

图5.1LED连接电路

(7)实验参考程序

GPIO输出控制实验2的参考程序见程序清单5.1。

程序清单5.1GPIO输出控制实验2参考程序

 

6.实验六:

存储器重映射实验2学时

一、实验目的

通过实验,熟悉LPC2000系列ARM7微控制器的存储器重映射机制。

二、实验内容

(1)设置MEMMAP=2,然后将0x40000000~0x4000003F地址上的存储单元全部写入0x55,同时观察0x00000000~0x0000003F地址上的数据;再写入0xAA,同时观察0x00000000~0x0000003F地址上的数据。

(2)设置MEMMAP=0,观察0x00000000~0x0000003F地址上的数据是否与0x7FFFE000~0x7FFFE03F地址上的数据是否一致。

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

MagicARM2200教学实验开发平台一套

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一个工程ReMap_c。

(2)在user组中的main.c中编写主程序代码。

(3)选用DebugInExram生成目标,然后编译连接工程。

(4)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。

(5)打开存储器观察窗口(Memory)设置观察地址为0x00000000,显示方式Size为8Bit,监视从0x00000000~0x0000003F的数据。

(6)单步运行程序,观察0x00000000~0x0000003F地址上的数据。

(7)当运行MEMMAP=0之后,观察0x00000000~0x0000003F地址上的数据是否与0x7FFFE000~0x7FFFE03F地址上的数据是否一致。

(8)实验参考程序

存储器重映射实验的参考程序见程序清单6.1。

程序清单6.1存储器重映射实验参考程序

 

7.实验七:

外部中断实验2学时

一、实验目的

(1)掌握向量中断控制器(VIC)的设置。

(2)掌握外部中断引脚功能设置及外部中断的工作模式设置。

(3)了解中断服务函数的编写。

二、实验内容

设置P0.20脚为EINT3功能,初始化为非向量中断,并设置为电平触发模式,然后等待外部中断。

中断服务程序将蜂鸣器控制输出信号取反,然后等待中断信号的撤消,最后清除中断标志并退出中断。

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

MagicARM2200教学实验开发平台一套

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一个工程VICDef_C。

(2)在user组中的main.c中编写主程序代码。

(3)选用DebugInExram生成目标,然后编译连接工程。

(4)将MagicARM2200教学实验开发平台上的跳线器JP9、JP22短接,JP20断开,见图7.1和图7.2。

图7.1蜂鸣器连接电路

图7.2按键连接电路

(5)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。

(6)在中断服务程序中设置断点,全速运行程序,使EINT3为低/高电平,即反复按下与释放KEY1。

(7)单步/全速运行程序,观察程序是否正确运行,蜂鸣器是否蜂鸣。

(8)实验参考程序

外部中断实验的参考程序见程序清单7.1。

程序清单7.1外部中断实验参考程序

 

8.实验八:

外部存储器接口实验2学时

一、实验目的

通过实验掌握外部存储器控制器(EMC)的设置及外部存储器接口的应用。

二、实验内容

使用外部存储器接口的Bank0连接一片16位总线接口的FLASH(SST39VF160),然后使用程序初始化EMC,接着对FLASH进行全片擦除,编写两字节数据,再读出来校验,若校验通过则蜂鸣器响一声,否则不断地蜂鸣报警。

三、实验原理、方法和手段

见图8.1根据硬件电路正确设置PINSEL2寄存器和BCFG0寄存器,然后向SST39VF160发送命令进行擦除、编程操作。

图8.1片外FLASH芯片连接电路

四、实验环境、条件

1.硬件:

PC机一台

MagicARM2200教学实验开发平台一套

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一个工程EMC_C。

(2)在user组中的main.c中编写主程序代码。

(3)在Startup.s文件中可以修改BCFG0寄存器的值,也可以使用模板默认设置。

(4)选用DebugInExram生成目标,然后编译连接工程。

(5)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。

(6)打开存储器观察窗口(Memory)设置观察地址为0x80000000,显示方式Size为16Bit,监视片外FLASH的数据。

(7)将MagicARM2200教学实验开发平台上跳线JP22短接,JP20全部断开。

(8)可以单步运行程序,观察片外FLASH的数据,观察err变量的值。

说明:

将鼠标移到err变量上,停留一定时间后即会显示该变量的当前值,移走鼠标则显示消隐。

(9)可以全速运行程序,若蜂鸣器响一声,表示FLASH擦除、编程操作成功。

若不断的蜂鸣报警,表示FLASH擦除或编程操作失败。

(10)实验参考程序

外部存储器接口实验的参考程序见程序清单8.1。

程序清单8.1外部存储器接口实验参考程序

 

9.实验九:

定时器实验2学时

一、实验目的

熟悉LPC2000系列ARM7微控制器的定时器0/1的基本设置及应用。

二、实验内容

使用定时器0实现1秒定时,控制蜂鸣器蜂鸣。

采用软件查询方式等待定时时间到达。

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

MagicARM2200教学实验开发平台一套

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一个工程TimeBeep_C。

(2)在user组中的main.c中编写主程序代码。

(3)选用DebugInExram生成目标,然后编译连接工程。

(4)将MagicARM2200教学实验开发平台上的JP22跳线短接,JP20跳线断开,见图9.1。

(5)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。

可以全速运行程序,蜂鸣器会响一秒,停一秒,然后再响一秒……依次循环。

(6)实验参考程序

定时器实验的参考程序见程序清单9.1。

程序清单9.1定时器实验参考程序

 

10.实验十:

UART实验2学时

一、实验目的

通过实验,掌握UART各个控制寄存器的设置,并能使用串口向PC机发送数据。

二、实验内容

使用UART0向PC机发送字符串“HelloWorld!

”。

UART0设置为通讯波特率115200,8位数据位,1位停止位,无奇偶校验。

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

MagicARM2200教学实验开发平台一套

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集中授课形式。

六、实验步骤

(1)启动ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一个工程SendStr_C。

(2)在user组中的main.c中编写主程序代码。

(3)选用DebugInExram生成目标,然后编译连接工程。

(4)将MagicARM2200教学实验开发平台上的跳线JP30短接,JP28全部断开,见图10.1。

图10.1UART0的连接电路

(5)使用串口延长线把MagicARM2200教学实验开发平台的CZ4(UART0)与PC机的COM1连接。

PC机运行EasyARM软件,设置串口为COM1,波特率为115200,然后选择【设置】->【发送数据】,在弹出的发送数据窗口中点击“高级”即可打开接收窗口。

(6)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。

(7)全速运行程序,PC机上的EasyARM软件会不断的显示“HelloWorld!

”。

如图10.2所示。

图10.2UART实验运行结果

(8)实验参考程序

UART实验的参考程序见程序清单10.1。

程序清单10.1UART实验参考程序

 

11.实验十一:

I2C接口实验2学时

一、实验目的

(1)掌握LPC2000系列ARM7微控制器的硬件I2C接口的使用;

(2)了解CAT1025JI-30的E2PROM的操作方法及注意事项。

二、实验内容

使用主模式I2C向CAT1025JI-30的E2PROM写入10字节数据,然后读出校验,若校验通过则蜂鸣器响一声,否则不断地蜂鸣报警。

三、实验原理、方法和手段

采用ADS1.2软件仿真和ADX软件调试方法。

四、实验环境、条件

1.硬件:

PC机一台

MagicARM2200教学实验开发平台一套

2.软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

五、实验组织运行要求

集成授课形式。

六、实验步骤

(1)启动ADS1.2,使用A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1