|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——Lark上 ARM开发之编译u-boot和内核 ( L: g9 d" S2 _2 [
* e$ W/ n7 D+ z; s0 K) j+ U) f
这一部分比较枯燥,需要有耐心,输入命令有一点错误得到结果可能就不正确。* }* U% `2 K7 F8 \
2 F# G3 Y- F; Q0 [; `1 \$ i接着上文Lark上ARM开发环境搭建和配置' F) k" C, v3 E( T8 [# U
, e( S, u1 E' B8 U: C, W U
在此基础上,从Embest官网(http://www.embest-tech.cn/produc ... aluation-board.html)下载u-boot、内核源代码到本地。
9 ^$ a& J: A }& p首先编译u-boot:
# r' F5 w! a. ~7 R2 `$ |tar xvjf u-boot-2013-lark-board.tar.bz2
2 W( u2 y1 }8 o$ rcd u-boot-2013-lark-board& E% L$ r, m: [: E, z. l
export CROSS_COMPILE=~/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-
! o+ Q/ X) ~% B$ zmake mrproper
8 ]8 G2 _! V4 F$ jmake socFPGA_cyclone5_config
# y% E* h, I) \$ t- u$ g4 u3 Dmake7 e4 s' Y* ]5 h* `0 T
最终在源代码根目录下生成u-boot.img文件;另外在源代码根目录/spl/下生成u-boot-spl.bin文件。前者直接拷贝到TF卡的FAT32分区,覆盖原来的文件。后者用于更新preloader.bin(本节先不关注这个)。
0 h, @) s( F6 o$ F4 ^' [- G' M* w2 A8 |" w l) d+ G# H
. @. ]& n, j) m
+ b; B6 M) d5 O U2 F& D4 ~! E
接下来编译Linux内核:/ c, J$ p- `& H; v8 _9 \
tar xvjf linux-3.10-ltsi.tar.bz2) ~- V& H8 v* R
cd linux-3.10-ltsi7 u5 P" K7 v& \8 C& {
export CROSS_COMPILE=~/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-: D# h4 \0 o7 M0 [& T
make ARCH=arm lark_board_defconfig
+ I& r: {, o' A# @ z% Cmake ARCH=arm LOADADDR=0x8000
- w; N9 v; g ~# Z最终在arch/arm/boot/目录下生成内核映像文件zImage,在arch/arm/boot/dts/目录下生成设备树文件socfpga_cyclone5.dtb。将这两个文件都复制到TF卡的FAT32分区,覆盖原来的文件。
- j# S7 d% a6 e注:目前Altera的uboot_v2013.01.01不支持uImage;
2 y, S+ N) R" m( U+ u单独dtb文件编译命令:make ARCH=arm dtbs
- p* X: |8 z; q. h; N! v/ k/ b' [" r+ P2 H ^% b1 G
6 b& m/ x0 E; X% V$ H本节通过自己动手,更新了TF卡中三个文件:u-boot.img, zImage, socfpga_cyclone5.dtb。将TF卡插入卡座,上电,效果如图所示。
! e' A( j g; @ 2 |, w8 H+ u( Y7 w+ {2 E
执行startx,图形界面和之前的帖子【Altera SoC体验之旅】+ Lark上的Debian桌面操作系统6 U5 G3 p( E% ^
8 ^0 i5 t0 M. {+ H' d相同。 z6 w/ B6 w% {1 G9 o6 |
: Z+ h, U# w* E希望对准备进行ARM开发的同学有帮助。 |
|
|