嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

mini2440拥有4个可编程led灯,通过点亮led实验了解操作GPIO的原理,以及初步掌握ADS1.2集成开发环境使用方法。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

开发平台:(1)XP系统;(2)ADS1.2集成开发环境;(3)mini2440。

1、搭建工程

本人使用ADS1.2 IDE搭建工程,这是一款ARM公司出版集成开发环境软件,虽然已经淘汰,但由于能很好运行在XP系统之上,所以本人还在使用,如果希望拥有功能更强的IDE,可以安装RVDS来取代ADS1.2 。安装软件以及**过程不作介绍,网上有很详细的图文教程。

1.1、创建ARM Executeble Image工程

创建ARM Executeble Image工程,为了得到用于由 ARM 指令的代码生成一个 ELF 格式的可以执行映象文件。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

工程目录如下。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

向工程添加文件,如果出现某些加不进工程的情况,忽略掉。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

添加工程文件完成。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

1.2、配置工程

主要设置汇编器、编译器和链接器。
设置汇编器,选择ARM920T汇编器。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

设置C编译器。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

设置链接器,设置RO Base地址为0x30000000。这是SDARM起始地址。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

设置映像程序入口点,映像将放到这里运行。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

由于工程中有多个文件,需要指定哪个文件放在映像文件最前端。2440init.s文件需要放在最前端,起到初始化作用。程序入口起始段的标号 Init,其作用是通知编译器,整个项目从该段开始执行。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

1.3、编译工程

出现2个错误,10个警告。在Win7 64bit系统下使用ADS1.2软件编译工程,出现一堆错误,在XP系统下编译,顺利通过。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

1.4、调试LED程序

打开AXD软件,开始调试。Mini2440开发板处于NorFlash启动模式(norflash烧写有Uboot)。
AXD函数自动在main函数的56行(main函数入口)处打个断点。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

点击【Run To Cursor】按钮,让程序运行到56行。
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

出现异常错误
嵌入式Linux学习笔记(1-5)——点亮mini2440 LED

问题解决办法链接:
http://blog.csdn.net/XGsilence/article/details/50962651?locationNum=6

工程代码已上传。
http://download.csdn.net/download/u011491431/10034096