发新话题
打印

在Ubuntu上建立Arm Linux的开发环境

在Ubuntu上建立Arm Linux的开发环境


我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu。但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦。在此记录一下,一来自己比较健忘,二来也希望能给一些没弄过的人一点启示。
. X0 e6 d) H9 ], `6 \9 R8 |3 p3 ]8 C4 Z6 e. ?: q
目的: ; T& f3 `8 G" ]
把ARM linux的交叉开发环境,kernel, filesystem, bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统; * l" F1 p, q0 W1 N: j/ u8 |
; r* k  ^/ t  y- b( v8 j
资源: ! k" k- g3 t" A9 `; p" f: F- F9 \
代码: # C9 D) D% i4 u: v
arm-linux-toolchains.tgz
1 L0 T/ K$ E/ ^; B* L6 K8 V' _matrix5-kernel-v5.5.tgz
( ~! \% m) p: f! _0 a( Pvivi.tar.gz
1 X) T1 L$ |9 wJflash.tgz
3 Z  ?! B' _5 h7 d' froot-for-nfs-v5.5.tgz . j$ ~0 ^& K- D6 M( ^$ C# K3 v
4 i) V8 W$ j) h9 O- I
规划:
, [6 b9 c4 C) |交叉编译器装在:/usr/local/
/ f6 N; T! @1 c- \! m5 B& o, T, w5 u# Ckernel, bootloder放在: /home/volans/arm/
; N' U0 t- e- X用于启动的nfs文件系统放在:/home/armnfs/ 2 m5 ~* [$ w" ~' S" z4 v& W. I
: N$ T' F" j" d: d: [
准备工作:
  r" o7 w9 D) o  z& ?% p代码: ! D, @6 A9 X. W1 X$ T( d+ X6 p5 Y
sudo mkdir /home/armnfs
$ q. ?# J& g7 x( Rsudo chmod 777 /home/armnfs
6 t' }3 g$ J, l; |) xmkdir "/arm 0 Z3 D3 b% S/ Z! a! o5 t
上面前两句的目的是在/home下建立armnfs目录,为了开发的方便,把这个目录设成所有用户可rwx。   f8 L7 @5 R1 d2 r% n0 Q: l
然后把上面提到的资源全部拷贝到"/arm/下。
! W, F4 X) r( N; f0 W" L' z7 e' |( ^; ~8 T9 ~- Z
安装配置:
: j9 D9 a$ b2 @* h; D! G代码:
0 ^' k6 x! ?9 n, K& N7 j安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:
6 Z7 {" R- B3 V" U- D; Ssudo apt-get install gcc g   libgcc1 libg   make gdb
" R7 i$ o2 e7 P1 z9 R% q5 k
7 q2 o1 r" I3 e2 E0 y( s代码:
. d) v: m* B6 J( v! p5 E安装交叉编译器 + r. K' l1 d1 V7 _
cd /
5 W( f% H1 o/ R; `sudo tar zxvf /home/volans/arm/arm-linux-toolchains.tgz
3 ]$ @! L6 {' Q, R1 \1 Y! C4 k, u请在执行完成后查看是否存在/usr/local/arm文件夹。
9 v* N0 ~+ t0 D+ w) K把交叉编译器的路径加入到PATH,以方便使用:   B% H3 V+ `7 a3 U, V  p, i
sudo vi /etc/bash_bashrc
6 \8 j% [4 V  R, [6 |$ L在后面加入如下代码: 6 t$ `2 }3 {. d1 m& f1 d
if [ -d /usr/local/arm ] ; then ! {2 }1 N0 c5 }9 b# w
PATH=/usr/local/arm/2.95.3/bin:"${PATH}" . d: a) O0 I. Y! F- u, H
fi
$ ]  O8 [8 e8 j0 C- C1 K9 z
6 A* V% d( y; \! k: {( c7 P/ g代码: 9 S4 c& p( W3 E$ e/ w8 _8 e6 F5 h
解压bootloader, kernel和flash烧写工具Jflash
, k, t5 y* }0 d( J2 w$ m! Scd "/arm
* S3 W) Y8 E' z3 ?tar zxvf matrix5-kernel-v5.5.tgz 0 l3 w! Y7 \/ Z2 z3 ]5 Y/ v) Z
tar zxvf vivi.tar.gz / a; p* q- P8 h5 p2 |- O2 s% z2 x6 J
tar zxvf Jflash.tgz
9 s- a/ p7 e+ Y- P/ Y% h5 _1 ]: o
代码:
" |1 I- A  d3 @1 P解压用于启动的NFS文件系统   \' }, n5 e4 F% B; @
cd /home/armnfs
% m3 u3 \$ G: ~) ~) ltar zxvf /home/volans/root-for-nfs-v5.5.tgz ; d9 u  r) ~& a. g1 w8 I
0 b+ D( {5 \, @- N' O, v
代码:
- w9 G( J7 E- C+ J# a/ m启动NFS服务 % d2 Q* v! Z1 o5 e0 ~$ B; @
请参照我前几篇文章,关于启动NFS服务器的相关内容。 6 h2 i* v, l" |
在/etc/exports中加入如下内容: + e0 K7 R6 h+ ?4 [5 }2 T4 X% C6 B
/home/armnfs/root 192.168.0.69(rw)
1 b- D; n# ^& e( l1 a
% c: V) ?' k9 U9 m6 n+ Z, ?9 q代码: 6 m4 b7 h8 B% B) d
安装ncurse
2 P! s- N( l+ C: X. I基本上上述配置已经基本可以满足开发需求,但现在去编译kernel 或vivi的时候,运行make menuconfig会提示ncurses找不到,这是因为menuconfig 用到了ncurses库。解决办法如下:
+ V  Y) C  X, i3 r* k9 k4 v8 Lsudo apt-get install ncurses-dev ; a" g; v. U& I& p, ~
) _4 L+ p% u+ w6 n4 a9 \
代码: & w: j  s* @5 b- y" e" J+ E5 d
安装minicom串口工具
8 I# ?0 j0 c0 b+ ~  ysudo atp-get install minicom
( m" o3 u- ~) w9 V" g9 O! L' U然后配置:
# V2 A6 v' w: W7 z6 isudo minicom -s 1 ~1 I1 r! V0 X5 c9 ~' F' y7 T
配置和友善的文档就一样了,我就不多废话。
$ {5 m: c- U# C/ v0 Z7 q/ w, L+ `" T, v
其他的基本就没什么了,有两点要注意,nfs的共享目录是/home/armnfs/root, 所以在目标版使用NFS启动的时候把共享目录换成这个。



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题