### ADS与MDK的区别 #### 一、引言 随着技术的发展,ARM处理器因其低功耗、高性能等特性,在嵌入式系统领域占据着举足轻重的地位。针对ARM处理器的开发工具也在不断进步,从早期的ADS(Advanced Development System)到后来的MDK(Microcontroller Development Kit),这些工具为开发者提供了更为高效便捷的开发体验。本文旨在对比ADS与MDK这两款ARM开发工具的主要区别,以便于老用户顺利过渡,并为新用户提供有价值的参考。 #### 二、工具概述 ##### 2.1 ADS (Advanced Development System) ADS是由ARM公司推出的早期开发工具套件,主要面向基于ARM架构的嵌入式系统的开发。它包含了编译器、连接器、调试器等一系列工具,支持C和C++语言编程。尽管ADS在当时是先进的开发平台,但随着时间的推移,其功能和性能逐渐无法满足日益增长的需求。 ##### 2.2 MDK (Microcontroller Development Kit) MDK是在ARM收购Keil公司后推出的一款新一代ARM微控制器开发工具。MDK集成了ARM的编译链接工具RVCT与Keil的工程管理和调试仿真工具,形成了一个完整的开发环境。相较于ADS,MDK在多个方面进行了优化和升级,包括但不限于编译器、调试器、仿真器等组件的改进。 #### 三、关键区别 ##### 3.1 工程管理器 - **ADS**:使用的是CodeWarrior IDE作为工程管理器,提供了一个基本的集成开发环境。 - **MDK**:引入了uVision IDE,其界面更加友好,功能更加强大,能够更好地支持大型项目的管理和维护。 ##### 3.2 编译器 - **ADS**:采用的是ARMC compiler for ADS,需要根据不同的目标机器码(如Thumb或ARM)以及编程语言(如C或C++)来选择不同的编译器可执行文件。 - **MDK**:使用的是ARMC/C++ Compiler RVCT,将多种编译需求统一到了一个工具中,通过不同的编译选项来实现。此外,MDK的编译器遵循POSIX格式,所有多字符选项前需使用双中划线。 ##### 3.3 调试器与仿真器 - **ADS**:采用ARM Extension Debugger (AXD)进行调试,以及ARMulator进行仿真。 - **MDK**:使用uVision Debugger进行调试,以及uVision CPU & Peripheral Simulation进行仿真。这些工具在用户体验和功能上都比之前的工具更加先进。 ##### 3.4 硬件调试单元 - **ADS**:通常使用Multi-ICE作为硬件调试单元。 - **MDK**:引入了uLink作为硬件调试单元,它提供了更快的数据传输速度和更稳定的调试性能。 ##### 3.5 ARM ABI的变化 - **ADS**:遵循旧版本的ARM ABI标准。 - **MDK**:遵循更新的ARM ABI标准,这意味着MDK在链接目标文件时会对ABI进行更严格的检查。因此,在将ADS项目移植到MDK时,开发者可能需要对源代码进行一定的调整以符合新的ABI要求。 #### 四、迁移指南 对于希望从ADS迁移到MDK的老用户来说,以下几个步骤可以帮助顺利完成过渡: 1. **重新组织项目**:由于MDK的工程管理器与ADS不同,首先需要按照MDK的要求重新组织项目结构。 2. **更新编译配置**:根据表2中的编译器例化形式对比,调整编译选项以确保代码能够在MDK环境下正确编译。 3. **适应新的调试器和仿真器**:学习并熟悉uVision Debugger和uVision CPU & Peripheral Simulation的使用方法。 4. **检查ABI兼容性**:确保所有目标文件符合MDK所遵循的新ABI标准,必要时修改源代码。 #### 五、结论 虽然ADS与MDK在许多方面存在差异,但MDK凭借其更加现代化的工具链和更强大的功能集,已经成为ARM微控制器开发领域的首选工具。对于正在使用ADS的老用户而言,通过了解这些差异并采取相应的迁移策略,可以顺利过渡到MDK环境中,继续高效地进行嵌入式系统开发工作。
- langque2013-04-11包括了ADS转MDK方法
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助