找回密码
 注册
关于网站域名变更的通知
查看: 305|回复: 1
打印 上一主题 下一主题

MY-SAMA5 Linux-3.18 编译手册(1)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-6 15:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1  文档说明5 \9 B2 w* [" a+ y/ r7 a! ^

: E" C9 \4 u' W2 d+ E# T4 L1.1  系统环境说明
编译主机CPU架构:64位
编译主机系统:Linux
Linux发行版:Ubuntu
Ubuntu版本类型:服务器版
Ubuntu版本号:12.04.5
Ubuntu系统类型:x86-64
注意:开发主机请使用ubuntu 12.04.5 x86-64(桌面版或服务器版均可),使用其他发行版的Linux或Ubuntu的其它版本可能会遇到的不必要的问题。
* x) l) h# r$ ?% q% y
1.2  操作说明% A: A- y) M5 i; F' j3 U
1)文档中以“$”开头的行,其后是Linux命令。 % G# g/ [' K0 `! r
2)文档中所有的Linux命令建议手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,可能会执行失败)。 $ d) o) r% U9 |- [
3)文档中的Linux执行命令,如果空格后的下一个字符是“-”的(如:sudo apt-get –y install之类的),请手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,通常会执行失败)。
3 v# D" k% O6 O7 n; ~% O* @1 i3 [  c4)文档中所有一行没写完的Linux命令请手动输入到Linux主机执行,(因为复制、粘贴命令不能包含类似“换行符”之类的特殊字符)。
$ n8 ^; I& ?5 |( x5)按文档输入并执行Linux命令时注意观察命令的执行结果与文档图片中的是否一致,以确认命令是否输入有误及是否执行失败。 ' Q4 q  |9 }  W9 @% q. b; ?3 J
6)第一遍编译请严格按照文档进行,否则可能出现莫名其妙的错误。

% ~9 ^( E( y+ \- c5 B7 j+ ]1.3  截图说明
为使视图看起来简洁整齐,截图中的命令提示符统一使用myzr$。
$ s1 {* {" o+ ]
1.4  图片中的Linux命令
在文档的图片中观察“myzr$”开头的行可以直观的看到输入的Linux命令。
- |! f2 y* Z" o
1.5  重要信息说明
为避免各位客户在搭建开发环境及编译过程中遇到不必要的问题浪费时间和精力,推荐使用明远智睿发布的“vb43-u12045-serv-amd64”虚拟机系统。
, ]2 z8 V4 _8 b& q4 g7 ^具体参见 《MYZR虚拟机系统指导》

5 r, _6 R; Q5 k, P

# o, M* b0 t/ e2  安装并配置交叉编译工具链

; c# _; I: B6 f4 {. _- O. A+ M- {: b
! b& {  q' p( L5 c2.1  准备交叉编译工具链安装包
1)下载交叉编译工具" o2 c- @) s7 f$ j+ ^8 L
交叉编译工具:gcc-linaro-4.9-2014.11-x86_64_ARM-linux-gnueabihf.tar.xz9 |( K" S% e. X! x
交叉编译工具配置文件:gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.config2 L! Y: s7 t2 Z; r1 Q
2)在虚拟机系统创建工具目录
5 p( S  g  W! T! \1 o- m" Z$ mkdir ~/my-sama5/03_tools -p
* m6 G( G$ P. {0 m% V3 _! C0 s: i

  Q5 e: ?, G3 z- k- ?3)复制文件到虚拟机系统
7 A6 T" l+ Y7 P把交叉编译工具和配置文件复制到 ~/my-sama5/03_tools4 o" a( j% B, z! q
自己采取合适的方式完成。
% g3 C* x9 g( ^8 f5 \
2.2  安装交叉编译工具
1)进入交叉编译工具链目录7 A& U, @( n. i2 Q: R. H0 R
$ cd ~/my-sama5/03_tools/
  L* v- K7 c: L9 Y- D

4 T: b8 O9 {+ G+ [6 ?8 m/ ~9 Y2)解压(安装)交叉编译工具; x/ q7 e/ y, ]5 O# ~0 q( Y3 v+ c
$ tar xf gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz1 E/ Y8 w2 H9 ^; N/ V5 F$ T2 w
  q2 q2 s8 C5 g+ s
3)检查安装 : W7 H9 o7 [5 H6 m  F. ~
查看交叉编译工具链的版本信息以验证交叉编译工具链安装正常。
6 e1 Y) ^% H+ a! j8 ]$ source ~/my-sama5/03_tools/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.config/ n: d; l" |4 {# c) X* C  O
$ ${CROSS_COMPILE}gcc –v& j! C8 {' b% X* `6 B, J1 b
执行命令后会出现类似如下的信息:
( [3 D6 X$ L! \- ?5 q

' D5 }6 w5 k) S以及在最后一行会出现 gcc 版本相关的信息
; |) J' V" J- w# E' P% Ggcc version 4.9.3 20141031 (prerelease) (Linaro GCC 2014.11)

" R9 i# Z8 o1 D" \! t7 G' ~9 q( c
9 f& v& U- P& U" p0 f- x+ O' h

. ?( o- n# N- e; O% C' o3  AT91Bootstrap编译
" W9 s3 F! x  r7 K  Y7 W2 e! D  i0 r( h* ^8 i! v7 f
3.1  准备源码
1)下载源码
. E5 ~# [$ k. Q文件名:at91bootstrap-3.7.2.tar.bz2
3 S8 n9 q" ~; w9 s. T2 ZAT91Bootstrap 是二级引导装载程序,为Atmel AT91 SoC提供了一套算法来管理硬件初始化。如时钟速度配置,PIO设置,内存初始化,从指定的引导介质下载主应用程序到主内存并启动。/ }/ p: R- u. g) ^3 z
2)创建工作目录( O1 T. \9 G. O! Y4 I2 O' ]" k
$ mkdir ~/my-sama5/02_source -p - w6 `8 V9 ~; d& p

, A! {% j+ P9 H3)将源码复制到工作目录: P8 i& [) K! [/ ?0 T. `
这一步自己采取合适的方式将AT91Bootstrap源码复制到“~/my-sama5/02_source”。也可以参照“2.3 常用功能演示”。
  c5 }/ L1 d' M& e+ g& r" d7 M' M4)解压源码
进入工作目录
$ cd ~/my-sama5/02_source/1 X" A+ J! K1 m8 X8 \3 g
执行解压命令
$ tar jxf at91bootstrap-3.7.2.tar.bz28 H! O$ i% I7 U5 R
2 z% }2 @- O  ~/ E, c
3.2  编译
1)进入源码目录" n5 ]" H1 F( k
$ cd ~/my-sama5/02_source/at91bootstrap-3.7.2/; J# O# K  W) N3 j- H& b6 {. m

# n7 e  }8 k! R+ S9 c2)使编译配置文件生效( d0 {0 _( P% r; x4 u% w3 _
$ source ~/my-sama5/03_tools/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.config) n, `* r1 ]1 n+ L0 H! ?
3)清除代码中可能存在的临时文件
4 `( q) P) m/ o4 ]7 S& `$ make mrproper
. D/ g0 o" v7 D% |6 I3 \  V
% b% H1 m9 p- W8 n
4)生成配置文件1 U* V/ I% w. b. I' `  A% Q0 D
$ make mysama5ek200_defconfig
; W+ a" e0 G* K+ }, T1 Z. m+ f

7 w1 r- ]# w6 U$ S  ?5)执行编译( K9 H7 F. y* H8 \
$ make –j4+ _" w1 q8 m! a. u9 f9 q; w
0 X3 H+ `5 a1 C; G6 _) M6 f+ p
6)编译完成1 B* L3 v9 \+ K+ C- U. @4 U" O7 K
; r) {+ ^: ~4 D" P' O
3.3  目标文件
1)目标文件6 S) s) K: O; @4 X( F- K+ i1 X: V& V
编译完成后会在源码的binaries目录下产生我们需要的目标文件。
, y0 g4 Q" O; z9 W& L% }) G通过ls命令可以看到,其中mysama5ek200-dataflashboot-uboot-3.7.2.bin 即是我们需要的文件。
+ t' i" s3 L: ]/ E0 M# ?3 z" Z$ ls binaries/( B5 K* G% h& |/ i

# z, c. q/ R% n4 a& P2)重命令目标文件
: z' c8 m% w2 V% P, ^我们在烧录的时候需要使用到这些目标文件。为了烧录的方便,我们需要将目标文件修改为我们需要的文件名,即bootstrap-mysama5ek200.*。) ~' o% S" q8 }1 p8 n0 r/ A
$ cd binaries/5 M; [# Y$ h$ `' `9 h2 b
$ rename 's/mysama5ek200-dataflashboot-uboot-3.7.2/bootstrap-mysama5ek200/' ** q' v6 g! Y4 F1 z
$ ls -1+ ^* h( I: n( Q! U/ }6 ^; Z0 A
, `0 y1 s; ]; r9 K' ?
3)保存目标文件
. |* P& a) @, m6 b5 x将bootstrap-mysama5ek200.* 保存。

8 B) Y7 |$ s( |/ M8 C
$ w  ?. P  }& G* J
, |& L: v2 x  o" O+ w9 L8 Y

# r! F4 C$ ~1 }9 r! j' ?: y$ [8 |- p5 D+ ?" v7 A7 Q

该用户从未签到

2#
发表于 2019-8-6 19:15 | 只看该作者
谢谢楼主分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:44 , Processed in 0.187500 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表