|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——Lark上 ARM开发之编译u-boot和内核 5 v- i3 H$ _' X' k! X* o. w5 i$ w
! a6 y- A7 Q6 ]) {7 A+ u+ V1 ~4 u. I这一部分比较枯燥,需要有耐心,输入命令有一点错误得到结果可能就不正确。
4 k, x" _, N" v3 i
' i0 v3 G# z& ]" G3 \接着上文Lark上ARM开发环境搭建和配置: q/ I; U2 i& |! P
( p% e0 u! l3 P D在此基础上,从Embest官网(http://www.embest-tech.cn/produc ... aluation-board.html)下载u-boot、内核源代码到本地。* K8 W2 D. v* t2 y8 D
首先编译u-boot:
0 `! ] {8 C3 J+ U) D8 K& Rtar xvjf u-boot-2013-lark-board.tar.bz2
8 Y, A0 k1 X" Bcd u-boot-2013-lark-board, I( Q$ n$ |3 @/ F, |
export CROSS_COMPILE=~/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-
( o* F* r; J* Wmake mrproper
! Y: P( a+ g6 @! @9 ?make socFPGA_cyclone5_config7 @( X# K2 Z j! j: g
make
& w+ Z0 z. ^% q( l最终在源代码根目录下生成u-boot.img文件;另外在源代码根目录/spl/下生成u-boot-spl.bin文件。前者直接拷贝到TF卡的FAT32分区,覆盖原来的文件。后者用于更新preloader.bin(本节先不关注这个)。
6 Q" V! \6 x1 U; i4 J6 Q1 @% r
- Q( t/ @, R) Y
2 [8 O# P k; y: y" e% ] ]2 y$ o7 v5 g0 A$ Z
接下来编译Linux内核:
9 p- K" u; p9 Htar xvjf linux-3.10-ltsi.tar.bz2" d$ l, n) `: P: G0 A/ h
cd linux-3.10-ltsi& ?" L0 }* u- S, `& {3 n1 m
export CROSS_COMPILE=~/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-3 b' e8 j+ t) C6 n+ A( Y2 `
make ARCH=arm lark_board_defconfig+ z4 A) T u2 F
make ARCH=arm LOADADDR=0x8000
& b |- i( `: S/ e最终在arch/arm/boot/目录下生成内核映像文件zImage,在arch/arm/boot/dts/目录下生成设备树文件socfpga_cyclone5.dtb。将这两个文件都复制到TF卡的FAT32分区,覆盖原来的文件。; T( ~" Z! N7 O0 i" X
注:目前Altera的uboot_v2013.01.01不支持uImage;
, x9 E5 K& ^: q: P" H8 n单独dtb文件编译命令:make ARCH=arm dtbs% N2 s- X5 k! B: }) U5 b" [3 s; m: E
. f; Y) A k( t! C# B9 w. u; \
: { y( G7 f& q+ v本节通过自己动手,更新了TF卡中三个文件:u-boot.img, zImage, socfpga_cyclone5.dtb。将TF卡插入卡座,上电,效果如图所示。
( N5 C0 q/ B& E- m! t( l ! L7 i7 a0 P, B, E( }: ?$ d$ P7 K; |
执行startx,图形界面和之前的帖子【Altera SoC体验之旅】+ Lark上的Debian桌面操作系统
: w& {& X+ b* j6 s; G+ p# v `* P
; s) \1 \! \' v& P& f! m0 n, D相同。
0 \6 {+ h0 B _* s# b* a F, _+ j% W# u0 S O& H
希望对准备进行ARM开发的同学有帮助。 |
|
|