欢迎来到天天文库
浏览记录
ID:18783635
大小:525.50 KB
页数:10页
时间:2018-09-23
《嵌入式系统实验指导书_2013_5_2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一:ADS1.2集成开发环境练习(注:实验一“ADS1.2集成开发环境练习”为必做内容,选作实验一“汇编指令实验1”为选做内容。)1.实验目的●了解ADS1.2集成开发环境的使用方法。●掌握ARM7TDMI汇编指令的用法.并能编写简单的汇编程序。●建立汇编源程序文件、建立工程以及工程编译连接。2.实验设备●硬件:PC机一台●软件:WindowsXP系统,ADS1.2集成开发环境3.实验内容(1)建立一个新的工程。(2)建立一个汇编源程序文件,并添加到工程中。(3)设置编译链接控制选项。(4)编译链接工程。4.实验
2、预习要求仔细阅读“ADS1.2集成开发环境练习”实验指导书。5.实验步骤①启动ADSl.2IDE集成开发环境,选择File→New,使用ARMExecutableImage工程模板建立一个工程,工程名称为ADS,见图1.1。②选择File→New建立一个新的文件TESTl.S,设置直接添加到项目中,见图1.2。输入如程序清单1.1所示的代码并保存。程序清单1.1TESTl.S文件代码③选择Edit→DebugRelSettings,在DebugRelSettings对话框的左边选择ARMLinker项,然后在Outp
3、ut页设置连接地址(见图1.3),在Options页设置调试入口地址(见图1.4)。④选择Project→Make.将编译链接整个工程。图21.1建立ARM指令代码的工程图21.2新建文件TESTl.S图1.3工程连接地址设置图1.4工程调试入口地址设置6.思考(1)工程模板有哪些作用?(例如:本实验中使用的“ARMExecutableImage”工程模板。)ADS工程文件的设置比较复杂,不同的实验板、开发板由于硬件电路结构和资源不同,需要进行不同的设置,而对于同一实验板,则启动文件、ADS工程文件的配置及主要的初始
4、化代码是相对固定的,因此可以把这些相关文件按一定方式组织起来,称为工作模板。在工程模板的基础上,可以很方便的在同一实验板上开发或编写不同的应用程序。(2)如何强行重新编译工程的所有文件?选择Project→RemoveObjectCode,删除工程中的*.obj文件。选作实验一:汇编指令实验11.实验目的●了解ADS1.2集成开发环境及ARMulator软件仿真器的使用方法。●掌握ARM7TDMI汇编指令的用法.并能编写简单的汇编程序。●掌握指令的条件执行以及使用LDR/STR指令完成存储器的访问。2.实验设备●硬件
5、:PC机一台●软件:WiridowsXP系统,ADS1.2集成开发环境3.实验内容(1)使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10,则使用STR指令把结果写回原地址;若结果大于或等于10,则把0写回原地址。(2)使用ADSl.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(ProcessorRegisters)监视RO和R1的值,打开存储器观察窗口(Memory)监视0x40003100上的值。4.实验预习要求(1)仔细阅读ARM指令系统的内容。(2)仔细阅读“汇编指令实验1
6、”选作实验指导书。5.实验步骤①启动ADS1.2,使用ARMExecutableImage工程模板建立一个工程Instructionl。②建立汇编源文件TEST2.S,编写实验程序,然后添加到工程中③设置工程链接地址ROBase为Ox40000000,RWBase为0x40003000。设置调试入口地址Imageentrypoint为0x40000000。④编译链接工程,选择Project→Debug,启动AXD进行软件仿真调试。⑤打开寄存器窗口(ProcessorRegisters),选择Current项监视R0和
7、R1的值。打开存储器观察窗口(Memory)设置观察地址为0x40003100,显示方式size为32Bit,监视0x40003100地址上的值。说明:在Memory窗口中右击空白处,在快捷菜单的Size项中可以选择显示格式为8Bit、16Bit或32Bit,如图1所示。可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,调试时观察寄存器和0x40003100地址上的值。汇编指令实验l程序运行结果见图2。6.实验参考程序汇编指令实验1的参考程序见程序清单。程序清单1汇编指令实验1参考程序COUNTE
8、QU0x40003100;定义一个变量,地址为0x40003100AREAExample2,CODE,READONLY;声明代码段Example2ENTRY;标识程序入口CODE32;声明32位ARM指令STARTLDRR1,=COUNT;R1<=COUNTMOVR0,#0;R0<=0STRR0,[R1];[R1]<=R0,即设置COUNT为0
此文档下载收益归作者所有