EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 文档说明; E3 N1 B" d* \* S( l4 B
9 p& V% ]/ k9 d+ R) V9 B9 l8 B1.1 系统环境说明编译主机CPU架构:64位 编译主机系统:Linux Linux发行版:Ubuntu Ubuntu版本类型:服务器版 Ubuntu版本号:12.04.5 Ubuntu系统类型:x86-64 注意:开发主机请使用ubuntu 12.04.5 x86-64(桌面版或服务器版均可),使用其他发行版的Linux或Ubuntu的其它版本可能会遇到的不必要的问题。
( y! Y! _; v, U) O1.2 操作说明 R! }& Q$ d* }8 p! S7 Y8 L7 m8 |
1)文档中以“$”开头的行,其后是Linux命令。 5 L: r$ y X# Q. a: R* }9 D% x$ S
2)文档中所有的Linux命令建议手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,可能会执行失败)。 , ?6 I, D8 V, J9 Q
3)文档中的Linux执行命令,如果空格后的下一个字符是“-”的(如:sudo apt-get –y install之类的),请手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,通常会执行失败)。 & L5 e0 P& ?' s6 Y
4)文档中所有一行没写完的Linux命令请手动输入到Linux主机执行,(因为复制、粘贴命令不能包含类似“换行符”之类的特殊字符)。 0 T" c: r' ?, x$ @
5)按文档输入并执行Linux命令时注意观察命令的执行结果与文档图片中的是否一致,以确认命令是否输入有误及是否执行失败。 " f/ Q1 V: `0 [$ Y, I
6)第一遍编译请严格按照文档进行,否则可能出现莫名其妙的错误。
) u; E8 p" ?% R1 g$ B1.3 截图说明为使视图看起来简洁整齐,截图中的命令提示符统一使用myzr$。 " |: Z) x5 z, Q% R: l% i
1.4 图片中的Linux命令在文档的图片中观察“myzr$”开头的行可以直观的看到输入的Linux命令。
9 m! C# z" [+ a( J1.5 重要信息说明为避免各位客户在搭建开发环境及编译过程中遇到不必要的问题浪费时间和精力,推荐使用明远智睿发布的“vb43-u12045-serv-amd64”虚拟机系统。
0 Q( x( p, l. i% E具体参见 《MYZR虚拟机系统指导》 7 @# x p9 |' q
/ J" w: x J! k2 S
2 安装并配置交叉编译工具链0 Q/ H% a9 `1 ] N+ g
O4 l. ]6 p9 Y/ X5 J g2.1 准备交叉编译工具链安装包1)下载交叉编译工具
, R5 |1 l) S& _ v8 h& J交叉编译工具:gcc-linaro-4.9-2014.11-x86_64_ARM-linux-gnueabihf.tar.xz
" L& V2 S( b8 c$ l( L2 u交叉编译工具配置文件:gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.config
, N' N* I7 Z& q) w9 m5 u2)在虚拟机系统创建工具目录
+ W- l8 g) x/ o* J$ mkdir ~/my-sama5/03_tools -p
+ T& r: h8 n% \# @ n
. }9 k% s) l: x+ B# K) t3)复制文件到虚拟机系统
; R2 P: l6 _* V" A6 p把交叉编译工具和配置文件复制到 ~/my-sama5/03_tools" v5 e/ f- n6 G
自己采取合适的方式完成。 + ?* R0 Z! r0 @% c/ @
2.2 安装交叉编译工具1)进入交叉编译工具链目录
! [- f' i% b9 Q9 l$ cd ~/my-sama5/03_tools/
$ }& W$ P' H7 T) |9 q
! G8 W( Z( L# H! t, p' h% e* G
2)解压(安装)交叉编译工具( x/ l8 m2 I4 J* G, `9 Q7 W; ^6 o. r
$ tar xf gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz
, g' y D, J h5 g
2 `) p* i# o+ C/ b# f3)检查安装
) \+ Z* w2 T& I3 a查看交叉编译工具链的版本信息以验证交叉编译工具链安装正常。
2 m+ z) i _0 x4 x. `" T$ source ~/my-sama5/03_tools/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.config( j* c9 u' F5 S5 g2 t
$ ${CROSS_COMPILE}gcc –v
; y! v2 p- K! J' }执行命令后会出现类似如下的信息:
8 ?) k* r1 b/ [. h- q6 y3 }
% g6 ^6 F5 Y! {0 u, m$ v/ o1 V6 H1 ?以及在最后一行会出现 gcc 版本相关的信息% \3 e+ Q0 p% b2 `( u
gcc version 4.9.3 20141031 (prerelease) (Linaro GCC 2014.11) : J# r8 {3 v! v, y* |# y( G
% U$ ~ @! X( n- V- u0 B
; f# v; N, i+ ^, n0 f3 AT91Bootstrap编译& d2 {( b4 o4 X
, o. e' g7 J; D/ a& @; i* X+ m- s9 ]
3.1 准备源码1)下载源码8 C7 r' `+ V' \( p: v
文件名:at91bootstrap-3.7.2.tar.bz2, `" G8 d, m5 x7 d4 C
AT91Bootstrap 是二级引导装载程序,为Atmel AT91 SoC提供了一套算法来管理硬件初始化。如时钟速度配置,PIO设置,内存初始化,从指定的引导介质下载主应用程序到主内存并启动。
! q" J. w9 h, t! {& V4 `2)创建工作目录; ?* ^( q) [3 P C
$ mkdir ~/my-sama5/02_source -p 6 |- @. G/ C& B
- K5 w0 v& Q6 x4 V( M2 c/ ^3)将源码复制到工作目录+ u! s3 ?- v3 O1 b) ?! f
这一步自己采取合适的方式将AT91Bootstrap源码复制到“~/my-sama5/02_source”。也可以参照“2.3 常用功能演示”。
7 m( e# s' ~; K9 k/ g4)解压源码 进入工作目录 $ cd ~/my-sama5/02_source/
5 y8 k9 Q( ?8 n5 s; H
执行解压命令 $ tar jxf at91bootstrap-3.7.2.tar.bz2
6 }. e4 o3 b2 P2 a9 S0 ]2 R# f, w, {! L
+ w3 R1 K1 h* Q& q3.2 编译1)进入源码目录4 O! @, U# b: ~ y8 u5 }5 B
$ cd ~/my-sama5/02_source/at91bootstrap-3.7.2/" X! ? w4 @8 @1 }2 l8 }7 ~
1 P/ ]% I" C; J2 K% t
2)使编译配置文件生效
* _- d0 E; Z. j. {3 v, E$ source ~/my-sama5/03_tools/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.config/ {4 e2 M. v0 Q5 r7 [! }2 S( F
3)清除代码中可能存在的临时文件# E2 P% I! V$ g) J' M
$ make mrproper
J. x2 I/ Y2 ^) Z: S
# M6 Q- n. p7 k# m( |: j7 t
4)生成配置文件4 g9 y6 v. }! e) {: X$ g
$ make mysama5ek200_defconfig
; `# c; h! K- n* J/ |3 B
2 h! J* B# H; ?" x* y% n0 s" r
5)执行编译5 ]7 \: c4 I5 O+ D
$ make –j4
8 U3 ~. E7 j& F% e; W8 l
/ A( Y3 `; ]* Z* h' Y
6)编译完成
0 z- C9 r1 l9 H
6 V$ v# |( \$ k' u* G! P$ G- L
3.3 目标文件1)目标文件4 `9 [( E6 H7 ~. D2 s0 n' s
编译完成后会在源码的binaries目录下产生我们需要的目标文件。1 S3 I+ U Z( p8 u( Q4 J- N
通过ls命令可以看到,其中mysama5ek200-dataflashboot-uboot-3.7.2.bin 即是我们需要的文件。
) S" ?# `2 i* ?/ c6 z$ ls binaries/
# ]5 Y4 y3 _4 p. F) Q
2 B' t- U( Q$ f1 i% d
2)重命令目标文件" q) d: u( @9 Z
我们在烧录的时候需要使用到这些目标文件。为了烧录的方便,我们需要将目标文件修改为我们需要的文件名,即bootstrap-mysama5ek200.*。
. z% P. L% a" o6 C5 M0 L! ~$ cd binaries/
: o0 I/ Z: R& L) ]. b$ rename 's/mysama5ek200-dataflashboot-uboot-3.7.2/bootstrap-mysama5ek200/' *: O- p: B4 _+ i% T$ s3 H! Y
$ ls -1
* p0 s7 ~) e1 Q i8 i' I" O
- O" ]% ~6 f% j. D1 q+ y
3)保存目标文件2 s% Q2 ]/ ~3 o$ D r
将bootstrap-mysama5ek200.* 保存。
0 T1 @/ G8 f4 v0 U; ^
- V: y* p, P" u5 e% F7 @) |2 L
0 U* q4 N3 Y; f) o
" ?8 n( k% m. D( ~7 w3 t( P1 J
0 q' `9 x3 A4 @9 c |