国嵌Arm系统进阶:ADS、RVDS使用与调试详解

需积分: 0 0 下载量 44 浏览量 更新于2024-07-27 收藏 439KB PDF 举报
"该资源是关于Arm系统进阶的学习资料,特别关注于嵌入式系统开发,由国嵌教育提供,包含疑问解答和问题答疑,适用于嵌入式学习者。资料中提到了ADS和RVDS集成开发环境的使用,以及在配置ARM链接器选项时遇到的问题,如ROBase、Image entry point的设置,以及debug和release模式的选择。" 在深入探讨Arm系统进阶的过程中,我们首先遇到的是ADS和RVDS这两个集成开发环境的使用。ADS (ARM Development Studio) 和RVDS (RealView Development Suite) 是两个广泛用于Arm架构的开发工具,它们提供了编译、调试和分析等全套功能。 1. **ROBase**:在ARMLINKER的OUTPUT选项中,ROBase设置的是程序的只读部分(如代码和常量)的基地址。在AXD调试时,通常需要选择0x30000000这样的SDRAM地址,因为AXD通常通过SDRAM运行和调试程序。AXD确实支持NORFLASH中的调试,但需要根据实际硬件配置进行调整。如果目标是将程序编译成.bin文件并下载到NORFLASH运行,ROBase可能需要设置为0x0,这取决于启动地址。源码中引用的`IMPORT |Image$$RO$$Base|`是链接器用来确定只读段起点的指示符。至于RWBase,通常设在RO段的末尾,即`|Image$$RO$$Limit|`之后,用于存放全局变量和初始化数据。 2. **Image entry point**:这个选项定义了程序的入口点,即程序执行的起始地址。它不一定需要与ROBase相同,但应根据实际程序需求来设置。如果程序在NORFLASH中直接运行,入口点可能需要设置为0x0,因为大多数处理器在上电时会从这个地址开始执行。对于烧录到NANDFLASH的情况,同样需要根据硬件启动流程调整这个设置。 3. **Debug和Release模式**:在添加源文件时,开发者通常会遇到debug、debugrel和release这三个选项。Debug模式生成的代码包含调试信息,便于调试;debugrel是优化过的debug版本,代码执行效率更高,但仍保留调试信息;而Release模式则会进行更深度的优化,删除调试信息,以提高运行速度和代码大小,但不利于调试。在开发的不同阶段,应根据需要选择合适的模式。 这些内容只是Arm系统进阶中的一部分,更深入的学习可能涉及到Bootloader开发、设备驱动、实时操作系统(RTOS)集成、性能优化等多个方面。理解并熟练掌握这些基础知识对任何嵌入式开发者来说都是至关重要的。通过国嵌提供的资源,学习者可以系统地提升自己在Arm平台上的开发技能。