- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 ARM系统硬件设计基础 嵌入式软件系统的体系结构 利用ADS开发应用程序 编译和链接工程 用AXD进行代码调试 调试架构 Multi-ICE的配置 使用AXD进行代码调试 生成.bin文件 (2)选择“options”→“Configure Target”菜单栏进入“Choose Target”对话框,在该对话框下对仿真方式做出选择。如图3.22所示。 (3)在Choose Target对话框中选择“Add”项,添加Multi-ICE的驱动程序,然后一路确定。 正常进入AXD的环境后会发现在Target栏内,多了一个“ARM920T_0”,如图3.23所示,这表示已与S3C2410X目标板正确连接。接下来的工作就是装载映像文件了。 在菜单File中选择“Load image…”选项,打开Load Image对话框,找到要装载的.axf映像文件,单击“打开”按钮,把映像文件装载到目标内存中。 在所打开的映像文件中会有一个蓝色的箭头指示当前执行的位置。对于本例,打开映像文件后,如图3.24所示。 在菜单Execute中选择“Go”,将全速运行代码。要想进行单步的代码调试,在Execute菜单中选择“Step”选项,或用F10即可单步执行代码,窗口中蓝色箭头会发生相应的移动。 如果调试结果正确,就可以生成.bin文件,并把程序下载到目标板的Flash中去。在生成BIN文件之前,首先需要确认应用程序在DEBUG模式下运行正确。 在CodeWarrior中,对当前的工程“Test.mcp”进行设置。 (1)进入“Edit”→“DebugRel Settings”菜单,在“Target Settings”选项中的“Post-Linker”设置为“ARM formELF”;在“ARM Linker”选项的“Equivalent Command Line”中写为“-info totals –entry 0x0 –ro-base 0x0 –rw-base 0x5000”; (2)对“Test.mcp”进行Make,生成“Test.bin”文件。 此时,需要烧录的“Test.bin”文件已经生成,可以进行烧录了。 主要内容 1 3 2 4 ADS 1.2集成开发环境简介 基于ARM的汇编语言程序设计 基于ARM的硬件启动程序 基于ARM的C语言与汇编语言混合编程 5 印制电路板制作简介 4.2.1 ARM汇编器支持的伪指令 伪指令是ARM汇编语言程序中的一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,它们所完成的操作称为伪操作。 伪指令在源程序中的作用是为完成汇编程序做各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成了。 ARM汇编器支持的伪指令包括:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令以及其他伪指令。 分类 指令 举例 符号定义 伪指令 GBLA/GBLL/GBLS/LCLA/LCLL/LCLS/SETA/SETL/SETS/RLIST GBLA Test1 ;定义一个名为Test1的全局数值字变量 数据定义 伪指令 DCB/DCW/DCD/ DCFD/DCFS/ DCQ/ SPACE/ MAP/ FIELD str DCB “This is a test” ;分配起始地址为str的一段连续字节存储单元存放字符串 汇编控制 伪指令 IF/ELSE/ENDIF/ WHILE/WEND/ IF Test=TRUE ;如果条件成立 指令序列1 ;执行指令序列1 ELSE ;否则执行指令序列2 指令序列2 ENDIF 宏指令 MACRO/MEND/ MEXIT MACRO Seg 指令序列 MEND ;定义一个名为Seg的宏指令 其他 伪指令 AREA/ALIGN/CODE16/CODE32/ENTRY/END/EQU/EXPORT/GLOBAL/IMPORT/EXTERN/GET/INCLUDE/INCBIN AREA Init,CODE,READONLY,ALIGN=3 ;定义了一个代码段,段名为Init,属性为只读,并指定其后的指令为8(23)字节对齐。 ARM汇编器支持的常见伪指令 4.2.2 基于ARM的汇编语言语句格式 ARM汇编语言的语句格式 [标号] [指令或伪指令] [;注释] 标号是代表地址的符号,必须在一行的顶格书写,其后不能添加冒号“:”,而所有指令均不能顶格书写。 ARM汇编语言对标识符的大小写敏感,书写标号及指令时字母大小写要一致。 在ARM汇编语言中,ARM指令、伪指令、寄存器名等可以全部大写或者全
文档评论(0)