Linux下ARM裸机开发环境搭建与实例

2014-11-24 11:07:38 · 作者: · 浏览: 1

折腾了很长时间,总算是弄明白怎么在linux编译运行arm裸机程序了。编译运行arm裸机程序可以考虑用arm工具链搭建编译环境,由minicom和dnw来下载程序,至于调试,还没有去耐心研究,着急来这里先备份一下,免得时间久了,忘记怎么回事。


首先是arm工具链,arm工具链的编译我就不写了,一方面很麻烦,另一方面是这方面的资料网上已经有很多了,我就不在这里多言浪费大家时间了。我这里有自己编译的arm工具链,当然,用网上现成的也不是不可以,但是最好是自己熟悉过程,免得必要的时候不会从源码配置。我将工具链上传到空间,如果需要,尽管拿去,链接地址为,使用说明看资源备注: arm交叉编译工具链


arm交叉编译工具链dnw for linux下载


密码:www.muu.cc


在 2012年LinuxIDC.com\8月\Linux下ARM裸机开发环境搭建与实例


下载方法见 http://www.linuxidc.net/thread-1187-1-1.html


配置好上面两个工具后就可以开发arm2440的裸机程序了,当然移植系统可能还会用到其他牛B的工具,等用到再去研究,如果有幸小弟弄明白了,还会来这里记录下来的,下面附上两个linux下的arm裸机程序及makefile,感觉对我这样的新手来说还是有帮助的。


例子1:汇编文件led_on.S,代码如下,这里我想告诉大家的是GNU的汇编跟标准的arm汇编是有出入的,具体的大家可以搜索“linux arm 汇编”来学习了解,网友给我们提供了足够丰富的资源。



编译:arm-linux-gcc -g -c -o led_on.o led_on.S


链接:arm-linux-ld -Ttext 0x30000000 -g -o led_on.elf led_on.o


转换:arm-linux-objcopy -O binary -S led_on.elf led_on.bin


makefile可以这样写:



例子2:老师曾经跟我说arm必须用汇编引导启动,但是用C试了一下,发现没有汇编,一样能操作arm芯片,下面是让流水灯循环点亮的程序,