嵌入式系统实验指导指导书完整版(3)

2020-03-26 19:22

图2-3 调试程序窗口

六、思考题

1.LDR伪指令与LDR加载指令的功能和应用有何区别,举例说明? 2.LDR/STR指令的前索引偏移指令如何编写?指令是怎样操作的? 3.在AXD调试时如何复位程序?

(提示:选择【File】->【Reload Current Image】重新加载映象文件)

七、参考程序

COUNT EQU 0x40003100 ; 定义一个变量,地址为0x40003100

AREA

Example2,CODE,READONLY ; 声明代码段Example2

ENTRY ; 标识程序入口 CODE32

; 声明32位ARM指令 START LDR R1,=COUNT ; R1 <= COUNT MOV R0,#0 ; R0 <= 0

STR R0,[R1]

; [R1] <= R0,即设置COUNT为0 LOOP

LDR R1,=COUNT LDR R0,[R1] ; R0 <= [R1] ADD R0,R0,#1 ; R0 <= R0 + 1

CMP R0,#10 ; R0与10比较,影响条件码标志

MOVHS R0,#0

; 若R0大于等于10,则此指令执行,R0 <= 0 STR R0,[R1] ; [R1] <= R0,即保存COUNT

B LOOP

END

实验预作关键过程及结果图:

10

单步运行观看寄存器和存储器的变化:

11

具体指令讲解见指令手册。

12

实验三:基于ADS的C语言程序实验

一、实验环境

PC机

一台

ADS 1.2集成开发环境 一套

二、实验目的

通过实验了解使用ADS 1.2编写C语言程序,并进行调试。

三、实验内容

编写一个汇编程序文件Startup.S和一个C程序文件Test.c。汇编程序的功能是初始化堆栈指针和初始化C程序的运行环境,然后调跳转到C程序运行,这就是一个简单的启动程序。C程序使用加法运算来计算1+2+3+...+(N-1)+N的值(N>0)。

四、实验预习要求

(1)仔细阅读《ARM嵌入式系统基础教程》中第4章ARM指令系统的内容。 (2)仔细阅读产品配套光盘附带文档《ADS集成开发环境及仿真器应用》或其他相关资料,了解ADS工程编辑和AXD调试的内容。(本实验使用软件仿真)

五、实验步骤

(1)启动ADS 1.2,使用ARM Executable Image工程模板建立一个工程ProgramC。 (2)建立源文件Startup.S和Test.c,编写实验程序,然后添加到工程中。 (3)设置工程链接地址RO Base为0x40000000,RW Base为0x40003000。设置调试入口地址Image entry point为Ox40000000。

(4)设置位于开始位置的起始代码段,如图3-1,3-2所示。

图3-1设置位于开始位置的起始代码段(1)

13

图3-2 设置位于开始位置的起始代码段(2)

(5)编译链接工程,选择Project—Debug,启动AXD进行软件仿真调试。 (6)在Startup.s的“B Main”处设置断点,然后全速动行程序。

(7)程序在断点处停止。单步运行程序,判断程序是否跳转到C程序中运行。

(8)诜择Processor vlews—variables打开变量观察窗口,观察全局变量的值,然后单步/全速运行程序,判断程序的运算结果是否正确。如图3-3所示。

图3-3 ARM实验3的运行观察结果

六、思考题

14


嵌入式系统实验指导指导书完整版(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:PT伏安特性讲解

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: