### 从ADS移植到RVDS的关键知识点
#### 1. 概述
- **目标**:帮助ARM Developer Suite (ADS) v1.x 用户将其开发环境迁移至最新的 RealView Development Suite (RVDS) 3.x。
- **适用范围**:本文档主要针对RVDS 3.x,并假设读者对ARM工具的基本语法及特性有一定了解。
- **限制条件**:不讨论RVDS的新特性,除非这些特性影响原有的ADS项目的编译。
#### 2. 工具结构变化
- **编译器整合**:RVDS中ARM和Thumb配置下只有一个可执行的编译器`armcc`,取代了之前的C和C++编译器组件。
- **命名结构更新**:为了与早期的makefile兼容,RVDS仍然识别旧的名称,但建议用户更新到新的命名结构。
- **调试器选择**:RealView Debugger (RVD) 是支持的调试器,不支持AXD或armsd。
- **JTAG调试控制单元**:RealView ICE (RVI) 是首选的JTAG调试控制单元,不推荐使用Multi-ICE。
- **调试信息捕捉单元**:RealView Trace (RVT) 取代Multi-Trace成为首选的调试信息捕捉单元。需要注意的是使用RVT时还需要有可用的RVI。
#### 3. RVDS 3.x 的关键特性
- **代码尺寸与性能提升**:所有用户都可以从RVDS带来的改进的代码尺寸和更好的性能中获益。
- **架构支持**:对于ARMv6架构及其后续版本的处理器开发,必须迁移到新的工具链,因为这些架构不被ADS支持。
- **ABI兼容性**:RVDS生成的代码遵循ARM架构(ABI)的ABI,允许与其他符合ABI标准的工具链共享目标代码。
- **编译器选项更新**:编译器/汇编程序编译器选项`--apcs/adsabi`正在被移除,具体信息见文档中的相关章节。
#### 4. 多版本安装能力
- **多版本共存**:RVDS允许多个版本同时安装在同一台机器上,包括与ADS的不同版本共存。
- **版本切换工具**:ARM提供了实用工具“SuiteSwitcher”,方便用户在不同版本的开发工具间切换。该工具可在ARM网站的技术支持下载部分获取。
#### 5. 源代码更改需求
- **C和C++源代码**:符合ANSI C或ISO C++标准的源代码不需要更改。但是建议检查ADSC++源代码,以利用之前不支持的特性。
- **内联汇编程序**:C编译器内置的内联汇编程序不再维护,建议将所有内联汇编代码转移到嵌入式汇编程序下或使用编译器内置函数。
- **库调用**:在RVDS 3.x中,每个函数都有多个针对特定参数类型优化的变体。如果已经重新定义了这些函数,则可能需要重写代码以支持每个变体。可以通过编译器选项`--library_interface=aeabi_clib`来禁用此优化。
#### 6. 迁移过程中的注意事项
- **文档资源**:关于ABI的更多信息,可参考ARM官方网站提供的文档。
- **技术文档**:对于更详细的迁移指南和具体操作步骤,请参阅ARM网站上的应用说明(#150)。
- **在线支持**:ARM官方网站提供了大量的技术支持文档和FAQ,有助于解决迁移过程中遇到的具体问题。
通过以上内容的详细介绍,我们可以清晰地了解到从ADS迁移到RVDS的过程中涉及到的关键技术和步骤,这对于确保迁移的成功至关重要。
2025-06-03 09:51:20
802KB
1