- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 ARM系统硬件设计基础.ppt
第 4 章 ARM系统硬件设计基础 建立工程 在磁盘里新建一个目录“D:\arm” 打开ADS软件 点击工具栏“File”,下拉点击“New…” 选择工程类型 输入工程名称及其目录 Ledcircle工程建立 新建工程后的目录 新建文件 Init.s文件 添加文件到工程 添加到target 文件添加完毕 编译连接 进入编译连接设置 设置窗口 目标设置 ARMASM编译器设置 ARMCC编译器设置 文件输出设置 编译连接 文件输出 4.1.2 AXD调试工具 在软件开发的最初阶段,可能还没有具体的硬件设备。如果要测试所开发的软件是否达到了预期的效果,这可以由软件仿真来完成。 当然,也可以搭建一个PCB板,这个板上可以包含一个或多个处理器,在这个板上可以运行和调试应用软件。 只有当通过硬件或者是软件仿真所得到的结果达到了预期的效果,才算是完成了应用程序的编写工作。 调试器能够发送以下指令: 装载映像文件到目标内存; 启动或停止程序的执行; 显示内存,寄存器或变量的值; 允许用户改变存储的变量值。 进入AXD调试工具 处理器状态观察 存储器窗口 单步执行、断点 添加变量进行观察 符号定义( Symbol Definition )伪指令 符号定义伪指令用于定义 ARM 汇编程序中的变量,对变量赋值以 及定义寄存器的别名等操作。 常见的符号定义伪指令有如下几种: 用于定义全局变量的 GBLA 、 GBLL 和 GBLS 。 用于定义局部变量的 LCLA 、 LCLL 和 LCLS 。 用于对变量赋值的 SETA 、 SETL 、 SETS 。 为通用寄存器列表定义名称的 RLIST 。 例: GBLA Test1 ;定义一个全局的数字变量,变量名为 Test1。 Test1 SETA 0xaa ;将该变量赋值为 0xaa。 LCLS Test6 ;定义一个局部的字符串变量,变量名为 Test6 。 Test6 SETS “ Testing ” ;将该变量赋值为 “ Testing ”。 RegList RLIST {R0-R5 , R8 , R10} ;将寄存器列表名称定义为 RegList ,可在 ARM 指令 LDM/STM中通过该名称访问寄存器列表。 数据定义(Data Definition)伪指令 数据定义伪指令一般用于为特定的数据分配存储单元,同时可完成 已配存储单元的初始化。常见的数据定义伪指令有如下几种: DCB 用于分配一片连续的字节存储单元并用指定的数据初始化。 DCW ( DCWU ) 用于分配一片连续的半字存储单元并用指定的数据初始化。 DCD ( DCDU ) 用于分配一片连续的字存储单元并用指定的数据初始化。 DCFD ( DCFDU )用于为双精度的浮点数分配一片连续的字存储单元并用指定的数据初始化。 DCFS ( DCFSU ) 用于为单精度的浮点数分配一片连续的字存储单元并用指定的数据初始化。 DCQ ( DCQU ) 用于分配一片以 8 字节为单位的连续的存储单元并用指定的数据初始化。 SPACE 用于分配一片连续的存储单元 MAP 用于定义一个结构化的内存表首地址 FIELD 用于定义一个结构化的内存表的数据域 数据定义(Data Definition)伪指令 例: Str DCB “This is a test!” ;分配一片连续的字节存储单元并初始化。 DataTest DCW 1 ,2 ,3 ;分配一片连续的半字存储单元并初始化。 FDataTest DCFD 2E115 , -5E7 ;分配一片连续的字存储单元并初始化为指定的双精度数。 FDataTest DCFS 2E5 , -5E - 7 ;分配一片连续的字存储单元并初始化为指定的单精度数。 DataSpace SPACE 100 ;分配连续 100 字节的存储单元并初始化为 0 。 MAP 0x100 , R0 ;定义结构化内存表首地址的值为 0x100 + R0 。 MAP 0x100 ;定义结构化内存表首地址的值为 0x100 。 A FIELD 16 ;定义 A 的长度为 16 字节,位置为 0x100 B FIELD 32 ;定义 B 的长度为 32 字节,位置为 0x110 S FIELD 256 ;定义 S 的长度为 256 字节,位置为 0x130 数据定义(Data Definition)伪指令 DCB 也可用 “ = ” 代替 DCD 也可用 “ ” 代替 SPACE 也可用 “ % ” 代替 MAP 也可用 “ ^ ” 代替 FILED 也可用 “ # ”
文档评论(0)