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

2019-07-12 21:11发布

mini2440拥有4个可编程led灯,通过点亮led实验了解操作GPIO的原理,以及初步掌握ADS1.2集成开发环境使用方法。
这里写图片描述 开发平台:(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 格式的可以执行映象文件。
这里写图片描述 工程目录如下。
这里写图片描述 向工程添加文件,如果出现某些加不进工程的情况,忽略掉。
这里写图片描述
这里写图片描述 添加工程文件完成。
这里写图片描述

1.2、配置工程

主要设置汇编器、编译器和链接器。
设置汇编器,选择ARM920T汇编器。
这里写图片描述 设置C编译器。
这里写图片描述 设置链接器,设置RO Base地址为0x30000000。这是SDARM起始地址。
这里写图片描述 设置映像程序入口点,映像将放到这里运行。
这里写图片描述 由于工程中有多个文件,需要指定哪个文件放在映像文件最前端。2440init.s文件需要放在最前端,起到初始化作用。程序入口起始段的标号 Init,其作用是通知编译器,整个项目从该段开始执行。
这里写图片描述

1.3、编译工程

出现2个错误,10个警告。在Win7 64bit系统下使用ADS1.2软件编译工程,出现一堆错误,在XP系统下编译,顺利通过。
这里写图片描述

1.4、调试LED程序

打开AXD软件,开始调试。Mini2440开发板处于NorFlash启动模式(norflash烧写有Uboot)。
AXD函数自动在main函数的56行(main函数入口)处打个断点。
这里写图片描述 点击【Run To Cursor】按钮,让程序运行到56行。
这里写图片描述 出现异常错误
这里写图片描述 问题解决办法链接:
http://blog.csdn.net/XGsilence/article/details/50962651?locationNum=6 工程代码已上传。
http://download.csdn.net/download/u011491431/10034096