|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 y( \' ~" H1 R' |+ N
经过前面几篇文章的准备工作,我们初步熟悉了LarkBoard。这篇文章主要介绍ARM开发环境的搭建,为后面软件工程的开发提供参考。
0 @7 f. v5 d9 x: ^" v6 V. b5 IARM开发通常包括:基于嵌入式操作系统的应用开发,嵌入式操作系统驱动开发和硬件开发。这里关注的是应用开发。后面驱动开发会结合HPS外设、FPGA等设备进行介绍。9 S; a6 ~% s0 g k2 I4 K: l
本文使用开发环境为Fedora 17 32bit操作系统。交叉编译工具链是必不可少的。对于Lark开发板我们需要从https://launchpad.net/linaro-too ... 21123_linux.tar.bz2下载,大约60多MB。下载后直接解压:
$ @, F% p2 l4 e4 mtar xjf gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux.tar.bz2
' O8 l" T8 j, L* a: ]3 Q我的机器上解压目录为/home/Eating/Documents/SoC/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux,为了便于书写命令,我们导出一个环境变量:
) p0 \3 n4 T) h. Kexport CROSS_COMPILE= /home/Eating/Documents/SoC/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-1 O7 L3 l6 |7 B9 I1 F
好了,以后我们编译程序可以直接用这个环境变量。为了让这个环境变量每次开机后自动启用,我们将它写入.bashrc:
' f$ C: n4 n u/ M5 aecho export CROSS_COMPILE= /home/Eating/Documents/SoC/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf- >> ~/.bashrc( ^8 T+ `6 { z/ Y" o
3 e2 m6 W$ Y) d' I$ Z, e( P/ {; Y: q
下面写个Hello world程序测试。用vi编辑一个hello.c文件,写入如下内容:
; ]4 U7 L; w2 O" G- N. _) v
u" k. C. e m1 J: gFedora 17界面很现代。5 W: T% u" L c; e/ | Q. g! o
写完后保存,在命令行中输入如下命令进行编译:% o2 [- E( ^ r0 z
${CROSS_COMPILE}gcc hello.c -o apps u( E# W6 y+ U& Z
生成了目标文件apps。将它拷贝到我们的板子上(我直接放到了TF卡的FAT分区),运行结果如下:7 W: `9 s: P( Q& K5 C
; V1 d8 w$ G# H可见成功运行了。% ~6 o. {; f7 L* m
) E2 p0 I7 y }$ z
下一篇将介绍如何编译u-boot和linux kernel。# N; h1 H, u7 ?( M8 @
|
|