很多人在学习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
MDK,全称为Keil uVision Microcontroller Development Kit,是由ARM公司推出的嵌入式系统开发工具,主要用于基于ARM架构的微控制器程序开发。在本文中,我们将深入探讨如何使用MDK编写裸机程序并将其加载到Nor Flash中,以及相关的UART实验。 了解裸机程序的概念至关重要。裸机程序是指不依赖任何操作系统,直接运行在硬件上的程序。在微控制器应用中,通常会使用C或汇编语言编写这类程序,以便充分利用硬件资源并实现高效运行。 MDK是开发裸机程序的重要工具,它提供了一个集成开发环境(IDE),包括代码编辑器、编译器、链接器、调试器等组件。用户可以在这个环境中编写、编译、调试代码,并将最终的二进制文件烧录到目标设备的存储器中。 在MDK中,开发流程通常如下: 1. **创建工程**:打开MDK,新建一个工程,选择对应的MCU型号(例如,对于mini2440开发板,可能会选择S3C2440芯片)。 2. **编写源代码**:在工程中添加C或汇编源文件,编写实现特定功能的函数和初始化代码。 3. **配置硬件设置**:通过MDK的Project Options配置硬件外设,如UART(通用异步收发传输器),设置波特率、数据位、停止位等参数。 4. **编译与链接**:点击编译按钮,MDK会执行预处理、编译、汇编和链接步骤,生成可执行的二进制文件。 5. **下载到Flash**:使用MDK的调试器或外部的JTAG/SWD接口,将生成的二进制文件下载到Nor Flash中。Nor Flash是一种非易失性存储器,断电后仍能保持数据,常用于存储固件。 关于UART实验,它是通信协议的一种,用于设备间串行数据传输。在mini2440开发板上,可以通过UART进行调试信息的输出或者与其他设备进行数据交互。在MDK中,可以使用标准库函数`printf`通过UART发送文本信息,或者自定义发送和接收函数来实现更复杂的数据交换。 在`UART实验下载到Nor Flash中运行`这个文件中,可能包含了一个简单的示例程序,演示了如何配置UART并利用它在mini2440上运行时发送数据。实验可能包括以下步骤: 1. 初始化UART:设置波特率和其他参数。 2. 编写发送函数,将字符或字符串通过UART发送出去。 3. 编写接收函数,捕获来自UART的数据。 4. 将程序下载到Nor Flash中。 5. 运行程序,通过UART观察输出或接收数据。 通过这个实验,开发者可以学习如何在MDK环境下使用UART通信,以及如何将程序烧录到Nor Flash,为后续的嵌入式开发打下基础。在实际应用中,这样的基础技能对理解硬件工作原理和实现复杂的嵌入式系统至关重要。
2025-03-30 16:27:09 123KB mini2440 Flash
1
在嵌入式系统开发中,驱动程序是连接硬件设备与操作系统之间的重要桥梁,它使得操作系统能够有效地管理和控制硬件。本文将深入探讨“mini2440”开发板上的触摸屏驱动程序,包括其滤波算法和校准算法,这些都是确保触摸屏精确、稳定工作的关键要素。 "mini2440"是一款基于S3C2440处理器的嵌入式开发板,广泛用于教学和产品研发。该开发板集成了多种外设接口,如LCD、USB、以太网等,而触摸屏作为人机交互的重要组件,其驱动程序的编写显得尤为重要。 触摸屏驱动通常包含以下几个部分: 1. **初始化**:驱动程序启动时,会进行硬件初始化,配置相关寄存器,设定中断处理程序,确保触摸屏控制器正确运行。 2. **数据采集**:驱动程序通过I2C或SPI等通信协议与触摸屏控制器交互,读取用户的触摸坐标。这些坐标通常是原始的模拟信号,需要进一步处理。 3. **滤波算法**:由于环境因素和硬件噪声,原始坐标可能存在误差。滤波算法,如滑动平均、中值滤波或Kalman滤波,可以去除噪声,提高坐标精度。例如,滑动平均法通过计算一段时间内坐标值的平均值来平滑数据;中值滤波则替换掉异常值,以减少突变的影响。 4. **校准算法**:每个触摸屏的物理特性都可能略有不同,因此在实际应用中,可能需要进行校准以确保触控位置与显示位置一致。常见的校准方法有4点校准和3点校准,用户需按屏幕显示的指示点触摸,驱动程序记录下这些点的实际坐标与触控坐标,然后通过数学模型计算出校准系数。 5. **中断处理**:当触摸事件发生时,触摸屏控制器会产生中断,驱动程序会响应这个中断,获取新的触摸信息,并通知上层应用程序。 6. **事件处理**:驱动程序将触摸事件转换为操作系统能理解的事件结构,如BTN_TOUCH、ABS_MT_POSITION等,再由操作系统分发给相应的应用程序。 7. **释放资源**:在系统关闭或驱动程序卸载时,需要释放占用的硬件资源,关闭中断,确保系统资源的合理利用。 在"mini2440触摸屏驱动"的实现中,开发者可能已经针对S3C2440处理器的特性进行了优化,确保驱动程序高效运行。通过分析和修改这个驱动,我们可以更好地理解和定制适合特定应用场景的触摸屏解决方案。 理解并掌握触摸屏驱动的原理和实现,对于进行嵌入式系统的开发和调试具有重要意义。无论是滤波算法的选择还是校准过程的实施,都需要开发者具备扎实的硬件知识和软件技能,以提供最佳的用户体验。
2024-07-03 11:20:01 1.82MB mini2440
1
mini2440原理图,包括各个模块,详细清晰
2023-04-04 17:34:43 398KB 2440
1
使用jlink时要用到的jflash配置文件。mini2440 jlink 烧写nor flash的配置文件
2023-02-07 11:44:31 2KB 2440jflash jflash mini2440.jflash
1
这个是使用jlink v8来烧写s3c2440的SST39VF1601的工程配置文件。亲试成功。
2023-02-05 21:26:28 1KB nor mini2440 SST39VF1601 jflash
1
mini2440门禁裸机程序。显示屏和串口双重显示
2022-11-30 23:25:54 4.08MB 2440 裸机 门禁 s3c2440
1
在使用mini2440开发板时,很多介绍在windows下烧写mini2440裸机程序的资料,但对于在ubuntu下,资料比较少,这里提供了本人在使用ubuntu时选用的烧写mini2440裸机程序的方法。
2022-11-25 14:15:25 190KB ubuntu mini2440 裸机烧写程序
1
还不错哦的软件工具,我有for ppc和for arm的,需要的私心我 还有其他相关技术文档。可以互相交流哈
2022-10-25 16:30:14 2.76MB VxWorks5.5  tornado2.2 arm mini2440
1
mini2440-bsp-uart,MINI2440开发板串口通信
2022-10-18 09:00:47 4KB arm
1