很多人在学习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环境中,从而享受到更加流畅的开发体验。
2025-06-03 10:06:57 1.19MB Keil_uVision Jlink Mini2440 ARM
1
在嵌入式系统开发中,经常需要在不同的开发环境之间进行程序的迁移,例如从ADS(ARM Development Studio)转移到Keil MDK(Microcontroller Development Kit)。这篇文章将详细讲解如何将一个使用ADS编译的程序成功移植到Keil MDK,并提供了一个实际的案例供学习参考。 ADS是ARM公司早期推出的一款集成开发环境,主要用于基于ARM架构的嵌入式系统开发。而Keil MDK则是由Keil Software公司开发的一款广泛使用的嵌入式系统开发工具,它集成了编译器、调试器和IDE等功能,对多种微控制器提供了良好的支持,包括ARM系列。 **移植步骤** 1. **了解差异**:理解两个开发环境的主要区别。ADS使用GCC作为其编译器,而Keil MDK使用的是自己的ARM Compiler,语法上基本一致,但可能存在一些细节上的差异,如宏定义、链接选项等。 2. **项目结构**:ADS项目通常包含.s(汇编)、.c(C语言)和.ld(链接脚本)等文件,Keil MDK项目也需要这些文件,但组织方式可能不同。将源代码文件从ADS的项目结构中提取出来,按照Keil MDK的项目规范重新组织。 3. **编译设置**:在Keil MDK中创建新的工程,选择正确的目标芯片型号。然后,导入源代码文件,并配置编译器和链接器选项。这些选项可能包括优化级别、浮点运算支持、内存模型设置等。 4. **库函数**:ADS和Keil MDK内置的库函数可能会有所不同,比如中断服务函数、标准库函数等。检查并更新源代码中的库函数调用,确保它们与Keil MDK兼容。 5. **启动代码**:每个微控制器都有特定的启动代码,负责初始化硬件和调用主函数。确认或编写适合Keil MDK的启动代码,并将其添加到工程中。 6. **调试配置**:如果源代码中使用了调试信息,如断点、变量观察等,需要在Keil MDK中设置相应的调试选项。此外,确保连接正确的目标板驱动和调试器。 7. **编译与调试**:编译整个工程,解决可能出现的错误和警告。如果一切顺利,可以下载到目标板进行调试。遇到问题时,根据错误信息逐步排查,可能需要修改源代码或编译设置。 8. **测试与优化**:在Keil MDK环境下运行程序,验证功能是否正常。根据性能需求,可能需要进行代码优化,如减少内存占用、提高运行速度等。 **提供的资源** "ADS移植到ARM说明文档_完整程序"这个文件包含了完整的移植过程文档和已经移植好的示例程序,可以帮助开发者了解具体的移植步骤和实践操作。通过阅读文档,你可以看到如何解决上述提到的问题,并从中学习到移植过程中可能遇到的各种情况及解决策略。 从ADS到Keil MDK的移植是一个系统性的工作,涉及到项目结构、编译器设置、库函数、启动代码等多个方面。掌握这一过程对于提升跨平台开发能力,以及更好地利用不同开发工具的优势至关重要。
2025-05-06 17:02:39 472KB ADS移植到Kei
1
适合快速开发,移植,参考等使用
2023-04-20 09:03:57 9.54MB STM32F103 AD 串口打印AD数据
1
STM32F407使用MFRC522射频卡调试及程序移植成功-附件资源
2023-04-04 20:55:38 106B
1
基于Xscale架构的高端处理器PXA270具有优异的多媒体处理性能。针对PXA270的特点开发出嵌入式应用程序,具有较好的应用前景。研究了PXA270微处理器和Xscale架构原理,介绍了基于PXA270开发板的嵌入式环境搭建过程,并通过交叉编译方式实现了嵌入式Linux操作系统内的应用程序移植。
1
关于STMF32103RCT6程序移植至GD32F103RCT6,并且使用了HAL+RTOS资源。大概需要修改四处地方,如频率、CAN通讯、内存地址、FLASH。其余像UART、IIC、SPI是不需要修改的。具体可以看看问题。测试完全可用。
2022-09-05 16:19:48 55KB stm32 rtos
1
本人亲测windows下的c++控制台程序移植到linux环境下,且可以通过windows+vs进行远程开发linux程序,总结文档可供学习!
2022-08-31 16:51:11 628KB c++程序移植 windows-linux
1
基于Android平台CUDA程序移植的研究与实现.pdf
2022-06-21 16:04:30 4.95MB 基于Android平台CUDA程
STM32程序移植之_AS608指纹模块.zip
2022-05-16 22:30:13 171.56MB stm32
1
适用于Vxworks平台到Linux平台的嵌入式研发
2021-11-25 15:02:52 2.33MB vxworks Linux 、移植
1