上传者: world2open
|
上传时间: 2025-06-03 10:06:57
|
文件大小: 1.19MB
|
文件类型: PDF
很多人在学习ARM的时候,都会学习ADS下跑裸奔程序。ADS是ARM公司2001年推出的一款开发及调试的工具。至今,仍然是很多ARM开发者的首选工具。现如今,ARM公司已经不再支持或更新ADS了,取而代之的是IAR_Embedded_Workbench和Keil_uVision等几款软件。和最新的这些工具相比较,ADS就显得有些小巫见大巫了。 而且,随着操作系统的不断升级,ADS的使用越来越麻烦,ADS在windows7下会莫名其妙地崩溃,连错误信息都没有,在XP下会时常蹦出个“无法打开*.ses文件”,这让很多用户都很头疼(其实解决的办法很
简单,只需要重新在AXD中配置一下调试工具,然后关闭再次启动调试即可)。
由于ADS本身的缺点,要实现联机调试,有时候很麻烦的。尤其是下载到SDRAM中调试,本人一直没有成功。一气之下,才转入Keil_uVision.
### Keil_uVision+Jlink+Mini2440测试程序移植详解
#### 一、移植背景
在ARM开发领域,ADS(Advanced Debug System)曾是开发者们的首选工具,但随着时间推移,ARM公司已不再对其进行支持和更新。取而代之的是如IAR Embedded Workbench、Keil_uVision等更为先进的开发工具。由于ADS存在一些不足之处,例如在新操作系统下的兼容性问题以及调试复杂性等,使得开发者们逐渐转向其他工具。
#### 二、Keil_uVision介绍
Keil_uVision是一款由Keil Software为ARM处理器设计的集成开发环境(IDE),提供了全面的功能支持,包括编译、调试等。特别是Keil_uVision MDK系列,以其出色的编译器和调试器著称。MDK-ARM是基于uVision环境的完整开发工具包,适用于基于ARM Cortex-M、Cortex-R4、Cortex-A和ARM7/9处理器的微控制器。
#### 三、移植原因
- **操作系统的兼容性**:随着Windows系统的不断升级,ADS在较新版本的操作系统上出现了各种兼容性问题,如在Windows 7环境下崩溃等问题。
- **调试复杂性**:使用ADS进行联机调试时,特别是在SDRAM中调试时遇到了困难,这促使开发者寻找更好的替代方案。
- **Keil_uVision的优势**:
- **易于使用的启动代码生成器**:通过uVision4工具可以自动生成启动代码,并提供图形界面方便调整配置。
- **软件模拟器**:能够在没有硬件的情况下进行软件开发和调试,有助于并行推进软硬件开发进度。
- **性能分析器**:提供高级功能,如代码覆盖率、程序运行时间和函数调用次数统计,有助于代码优化。
- **对Cortex-M3的支持**:Cortex-M3是ARM推出的针对微控制器应用的高性能内核,Keil_uVision对其提供了良好的支持。
- **高效的编译器**:RealView编译器相较于ADS 1.2,能够生成更小的代码体积和更高的执行效率。
#### 四、移植步骤
1. **安装Keil_uVision MDK 4.11**
- 可以从Keil公司的官方网站下载最新版本的评估版本,当前最新版本为4.13,但本案例使用的是4.11版本。
- 安装过程中需要注意指定安装位置,填写客户信息等步骤。
- 最后可能需要进行破解操作以解除代码量限制。
2. **配置Jlink驱动**
- 需要安装Jlink驱动,以便于Keil_uVision与目标板之间的通信。本案例中使用的是Jlink驱动4.08版本。
3. **硬件准备**
- 确保开发板Mini2440及相关硬件正常工作,如2M Nor Flash、64 SDRAM、256 NAND Flash等。
- 准备好用于下载固件的工具,如DNW(由Mini2440光盘提供)。
4. **移植代码**
- 将基于ADS的Mini2440代码移植到Keil_uVision MDK环境中,重点在于调整启动代码、配置SDRAM等硬件资源。
- 使用Keil_uVision提供的图形化界面配置各项参数,确保代码能够正确地在Mini2440上运行。
5. **调试验证**
- 在移植完成后,使用Keil_uVision的调试功能验证程序的正确性和稳定性。
- 可以通过Xshell等工具进行终端连接,监控程序运行状态。
#### 五、总结
从ADS到Keil_uVision的移植,不仅解决了在现代操作系统上的兼容性问题,还利用了Keil_uVision的强大功能提高了开发效率和代码质量。对于初学者来说,Keil_uVision的易用性和高效性使其成为一个非常值得推荐的选择。而对于有经验的开发人员而言,Keil_uVision所提供的高级功能也能够帮助他们更深入地理解和优化代码。通过上述步骤,开发者可以顺利将基于ADS的Mini2440测试程序移植到Keil_uVision环境中,从而享受到更加流畅的开发体验。