ARM汇编编程基础之五 —— ADS开发环境的使用

掌握了基本的汇编指令和伪操作后,就具备了编写简单ARM汇编程序的基本理论能力,不过要实战得到真实可执行的程序,还需要可以对程序进行编辑和编译的开发环境(命令行编译器或IDE)的支持,同时程序在开发过程中免不了要进行调试,这就需要调试器的支持。一般而言,会有供应商将程序的编译器、编译器、调试器以及其它一些辅助工具组合在一起,形成程序的开发、调试集成开发环境(IDE)软件,提供给程序开发人员使用。对ARM程序开发而言,目前比较流行的IDE有2套:运行于windows平台的ADS和运行于Linux平台的gcc等交叉编译工具链。总的来看,ADS在程序的编译和调试方面要比gcc使用起来方便很多,也更容易掌握和使用,因此针对初学者,本文将展示ADS的使用。

ADS集成开发环境,主要由编辑、编译器Code Warrior和调试器AXD组成。

首先使用Code Warrior对程序进行编辑和编译,过程如下:

1、建立工程

•在磁盘里新建一个目录“D:\arm”

•打开ADS软件

•点击工具栏“File”,下拉点击“New…”

image

2、选择工程类型

image

3、输入工程名称及其目录

image

4、工程建立后的情形

image

5、新建工程后的目录

image

6、新建源文件并加入工程与target

image 

7、编辑汇编和C的源代码

image 

  image

8、编译源代码及其结果显示

image

image

以上是最普通(也是最简单)的源代码编辑和编译过程。但在很多时候,在Make之前都需要对编译和链接选项进行设置,下面对常用的设置进行演示。

进入编译连接设置

image

目标设置

image

汇编选项设置

image

C编译器选项设置

image

文件输出设置

image

在完成程序的编译、链接生成二进制可执行文件后,很多情况下需要对程序进行调试,ADS采用的调试工具是AXD,在调试中,我们可以完成:

设置断点及单步运行与调试;

查看各种模式下的CPU寄存器;

查看内存内容;

查看C语言变量;

下面就展示如何使用AXD对程序进行调试:(单击下载示例代码

1、使用ads打开demoled.mcp工程

2、单击菜单project->debug

clip_image002

3、单击Porcessor Views->registers,注意窗口左上部分

clip_image002[4]

4、展开Current,可发现当前模式处于SVC模式,并可查看当前模式下,CPU的各个寄存器的置,例如r13=0,pc=0x8000

clip_image002[6]

还可查看其它模式下,CPU各寄存器的值

5、单击Execute->step,可以单步运行程序

clip_image002[8]

此时发现pc值增加了4,而r13的值也由于ldr指令的赋值操作变为了0x34000000

6、单击Execute->step-in,可以单步跟踪进入子程序

clip_image002[10]

7、按1次F8,单击Processor Views-〉Memory

clip_image002[12]

8、在Memory Start addr处输入0x56000010,再按1次F8,可以看到内存0x56000010处的值变为了0x00015400

clip_image002[14]

9、单击Processor View-〉Variables可查看各种C变量(例如局部变量i)的值

clip_image002[16]

10、单击Execute-〉Toggle Breakpoint,设置断点

clip_image002[18]

11、继续单步执行程序,当程序再次回到断点是,观察i的值已经变为1了

clip_image002[20]


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值