ARM系统开发与调试疑问解答

需积分: 0 0 下载量 111 浏览量 更新于2024-07-21 收藏 439KB PDF 举报
"该资源是关于ARM系统的答疑资料,由国嵌教育提供,包含了实验指导、问题解答等内容,旨在帮助用户解决嵌入式系统开发中遇到的问题,特别是使用ADS和RVDS工具进行实验时的困惑。提供的联系方式包括公司地址、QQ咨询、电话以及官方网站和论坛等,便于用户获取更多支持。" 在ARM系统开发中,ADS (ARM Development Studio) 是一款常用的集成开发环境,用于编写、编译、链接和调试ARM架构的嵌入式软件。实验步骤和问题主要围绕以下几个关键设置: 1. **ARMLINKER->OUTPUT->ROBase**: ROBase(Read-Only Base)设置的是程序的只读段(如.text段)在内存中的起始地址。在AXD调试时,通常需要将其设为0x30000000,这是SDRAM的一个常见起始地址。AXD确实支持对NORFLASH中的程序进行调试,但要在NORFLASH中运行,ROBase应设置为NORFLASH的起始地址。如果想要将源码编译为.bin文件并下载到NORFLASH,ROBase应设为0x0(NORFLASH的起始地址)。源码可能需要进行调整,确保初始化数据在正确的位置。 2. **ARMLINKER->Options->Image entry point**: Image entry point是程序的入口点,即程序执行的第一个指令地址。它不一定与ROBase相同,取决于程序的实际设计。在源码编译链接过程中,入口点确定了程序启动时CPU执行的第一条指令。可以通过设置断点和运行程序来验证其作用。如果程序直接在NORFLASH中运行,入口点应设为NORFLASH中程序的首地址。对于烧录到NANDFLASH的情况,同样需要根据NANDFLASH的启动机制来设定。 3. **添加源文件时的“debug”、“debugrel”和“release”选项**: - **debug**:用于生成包含完整调试信息的可执行文件,便于调试。 - **debugrel**:通常是在调试版本的基础上优化,保留部分调试信息。 - **release**:优化编译,去除调试信息,生成更小、运行更快的可执行文件,适合最终发布。 教师解答指出,AXD调试时可以选择0x30000000或其他适合的SDRAM地址,也可以支持NORFLASH中的调试。若源码要编译为.bin文件并下载到NORFLASH,ROBase需设为0x0,源码可能需要调整。Image entry point的设置需依据程序实际需求和目标设备的启动方式。在添加源文件时,选择不同的编译选项会影响最终生成的可执行文件特性,debug模式适用于开发阶段,而release模式适用于产品发布。