掌握了基本的汇编指令和伪操作后,就具备了编写简单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…”
2、选择工程类型
3、输入工程名称及其目录
4、工程建立后的情形
5、新建工程后的目录
6、新建源文件并加入工程与target
7、编辑汇编和C的源代码
8、编译源代码及其结果显示
以上是最普通(也是最简单)的源代码编辑和编译过程。但在很多时候,在Make之前都需要对编译和链接选项进行设置,下面对常用的设置进行演示。[page]
进入编译连接设置
目标设置
汇编选项设置
C编译器选项设置
文件输出设置
在完成程序的编译、链接生成二进制可执行文件后,很多情况下需要对程序进行调试,ADS采用的调试工具是AXD,在调试中,我们可以完成:
设置断点及单步运行与调试;
查看各种模式下的CPU寄存器;
查看内存内容;
查看C语言变量;
下面就展示如何使用AXD对程序进行调试:(单击下载示例代码)
1、使用ads打开demoled.mcp工程
2、单击菜单project->debug
3、单击Porcessor Views->registers,注意窗口左上部分
4、展开Current,可发现当前模式处于SVC模式,并可查看当前模式下,CPU的各个寄存器的置,例如r13=0,pc=0x8000
还可查看其它模式下,CPU各寄存器的值
5、单击Execute->step,可以单步运行程序
此时发现pc值增加了4,而r13的值也由于ldr指令的赋值操作变为了0x34000000[page]
6、单击Execute->step-in,可以单步跟踪进入子程序
7、按1次F8,单击Processor Views-〉Memory
8、在Memory Start addr处输入0x56000010,再按1次F8,可以看到内存0x56000010处的值变为了0x00015400
9、单击Processor View-〉Variables可查看各种C变量(例如局部变量i)的值
10、单击Execute-〉Toggle Breakpoint,设置断点
11、继续单步执行程序,当程序再次回到断点是,观察i的值已经变为1了
关键字:ARM 汇编编程 ADS 开发环境
引用地址:
ARM汇编编程基础之五-ADS开发环境的使用
推荐阅读最新更新时间:2024-03-16 14:33
服务器芯片市场,ARM如何称王
10多年来,英特尔几乎是全球服务器市场的唯一CPU供应商。虽然多家芯片开发商尝试进入,但都以失败告终。Arm曾经信誓旦旦地宣称到2021年要拿下这一市场25%的份额,但高通退出,Arm阵营其它合作伙伴进展缓慢,这一目标似乎实现无望了。然而,Arm并没放弃,还专门推出了全新的服务器处理器品牌。最近Amazon和华为也相继发布基于Arm的服务器芯片,似乎给业界打了一针强心剂。服务器市场究竟有多大的诱惑呢? 服务器芯片是一块250亿美元的大肥肉 英特尔 2018年全年营收预计为712亿美元,其中数据中心业务(主要是服务器芯片)约占32%,为230亿美元。在全球服务器芯片市场,英特尔份额超过90%,由此推断市场规模约为25
[嵌入式]
高通CEO:希望与其他芯片制造商共同投资Arm
据金融时报报道,美国芯片制造商高通希望与其竞争对手一起购买 Arm 的股份,并创建一个财团,以保持英国芯片设计师在竞争激烈的半导体市场中的中立性。 日本企业集团软银在今年早些时候英伟达 660 亿美元的收购失败后,计划将 Arm 在纽约证券交易所上市。然而,鉴于该公司在全球科技领域的关键作用,此次 IPO 引发了对该公司未来所有权的担忧。 “我们对投资感兴趣,”高通首席执行官克里斯蒂亚诺阿蒙( Cristiano Amon)告诉英国《金融时报》。“这是一项非常重要的资产,对我们行业的发展至关重要。” 他补充说,如果进行收购的财团“足够大”,Arm 的最大客户之一高通可以与其他芯片制造商联手直接收购 Arm。这样的举动可
[半导体设计/制造]
ARM9中计算MPLL的方法:
测试程序400M的算法: i = 2 ; //don't use 100M! switch ( i ) { case 0: //200 key = 12; mpll_val = (92 12)|(4 4)|(1); break; case 1: //300 key = 13; mpll_val = (67 12)|(1 4)|(1); break; case 2: //400 key = 14; mpll_val = (92 12)|(1 4)|(1); break; case 3: //440!!! key = 14; mpll_val = (102 12)|(1 4)|(1); bre
[单片机]
ARM裸板调用流程
一、汇编 mdk软件会选择用户添加到工程文件里面的汇编文件执行(例startup_stm32f10x_md.s),对基本内容进行初始化比如栈空间,这个文件通常由芯片厂家提供,用户使用选择调用即可。 二、跳转main函数 在汇编执行初始化之后,最终在下面圈红的地方跳转到main函数。 __main可以修改成其他名字比如smain,对应main函数名改成smain,也可以完成跳转
[单片机]
基于ARM处理器的MVB 2类设备研究
1 引 言 列车需要传输大量的设备控制和旅客服务信息,随着这些信息的数量和种类不断地增长,迫切需要一种大容量,高速度的信息传输系统。为此,国际电工委员会(IEC)制定了一项用于规范车载设备数据通信的标准——IEC61375(列车通信网标准),即TCN标准,该标准于1999年6月成为国际标准。目前国际上主要的TCN产品供应商是德国西门子和瑞士Duagon公司,国内的株洲电力机车研究所和大连北车集团电力牵引研究所等单位进行了大量的TCN相关研究工作并取得了丰硕的科研成果。 TCN标准推荐在机车上层使用绞线式列车总线WTB,在下层使用多功能车辆总线MVB。MVB总线和机车中的各种电气设备相连,这些设备按性能可以分为5类,其中二类设备
[工业控制]
第1天-ARM汇编指令LSL/LSR/ASL/ASR
移位 LSL ASL LSR ASR ROR RRX ARM 处理器组建了可以与数据处理指令(ADC、ADD、AND、BIC、CMN、CMP、EOR、MOV、MVN、ORR、RSB、SBC、SUB、TEQ、TST)一起使用的桶式移位器(barrel shifter)。你还可以使用桶式移位器影响在 LDR/STR 操作中的变址值。 译注:移位操作在 ARM 指令集中不作为单独的指令使用,它是指令格式中是一个字段,在汇编语言中表示为指令中的选项。如果数据处理指令的第二个操作数或者单一数据传送指令中的变址是寄存器,则可以对它进行各种移位操作。如果数据处理指令的第二个操作数是立即值,在指令中用 8 位立即值和 4 位循环移位来
[单片机]
基于ARM的智能导航盲杖系统设计
本文采用了基于ARM11-Win CE平台的嵌入式系统作为系统的控制平台,以提高系统的性能、集成度以及可扩展性;运用GPS定位技术和TTS文语转换系统,实现了对视障人士的GPS定位及电子地图导航;利用超声波测距功能,系统可以提供一定距离内的障碍物探测与告警。为实现上述功能,采用Trimble公司的GPS接收模块Lassen iQ实现了GPS定位功能,处理器采用三星公司的S3C6410(ARM1176JZF-S核心)芯片,操作系统为Windows CE 6.0。 1 系统硬件设计 1.1 系统整体结构 本智能导航盲杖系统是为了实现GPS定位、电子地图查询、路径选择以及超声波探测、语音输出等主要功能,系统设计图如图1
[单片机]
触摸屏控制器ADS7845
个人数字助理、寻呼机、便携仪器等所用的触摸屏控制器ADS7845是一款12位取样A/D变换器,它具有同步串行接口和驱动触摸屏的低导通电阻开关。它的5线触摸屏接口是:UR(上右屏驱动器),UL(上左屏驱动器),LR(下右屏驱动器),LL(下左屏驱动器)和GND(地)以及WIPER(屏输入),见图1。
ADS7845触摸屏控制器是一典型的逐步近拟寄存器(SAR)A/D变换器。其结构以电容再分布为基础,因而固有地包含取样/保持功能。
这种触摸屏控制器的基本连接示于图2。
此器件需要一个外部基准(输入为VREF引脚)和一个外部时钟(输入为DCLK引脚)。外部基准可以是1V和+Vcc之间的任一电压。基准电压值直接设定输入范围,而
[半导体设计/制造]