您的位置:首页 > 运维架构 > Linux

嵌入式交叉编译开发环境的搭建步骤(arm-linux)

2012-07-05 18:42 871 查看
嵌入式交叉编译开发环境的搭建步骤(arm-linux)

进入公司领到一台新的计算机后第一件要做的事就是交叉编译开发环境的搭建,因为步骤较多,又较容易犯错误,特整理出来供大家参考。

嵌入式交叉编译开发环境的搭建可以分为三个步骤:一是基本服务(NFS、TFTP、minicom)的配置,二是交叉编译工具(gcc、gdb、make)的搭建,三是运行环境(kernel、rootfs)的搭建。

一、基本服务的配置

1、NFS(用于主机与开发板共享文件)

1)、下载安装nfs

sudo apt-get install nfs-kernel-server

2)、打开配置文件

sudo vi /etc/exports 应先创建exports文件并改变其权限为777

添加 /home/gongzuo/rootfs *(rw,sync,no_root_squash,no_subtree_check)

/home/gongzuo/rootfs 是要共享的目录

3)重启portmap

sudo /etc/init.d/portmap restart

4)重启nfs

sudo /etc/init.d/nfs-kernel-server restart

5)测试

showmount -e <---显示共享出的目录

sudo mount -t nfs localhostIP:/home/gongzuo/rootfs /mnt <--这样就把共享目录挂到了本机的/mnt目录下

sudo umount /mnt 取消挂载

mount -t nfs -o tcp -o nolock localhostIP:/home/gongzuo/rootfs /mnt <--这样就把共享目录挂到了开发板的/mnt目录下

2、TFTP(用于开发板从主机下载文件)

1)、下载安装tftp

sudo apt-get install tftpd xinetd

2)、打开配置文件

sudo vi /etc/xinetd.d/tftp 先创建tftp文件并改变其权限为777

添加

service tftp

{

socket_type =dgram

protocol =udp

wait =yes

user =root

server =/usr/sbin/in.tftpd

server_args =/tftpboot

server_args =/tftpboot/

disable = no

per_source = 11

cps = 100 2

flags =IPv4

}

3)、创建文件/tftpboot并修改权限

sudo mkdir /tftpboot

sudo chmod 777 /tftpboot

4)、重启tftp服务

sudo /etc/init.d/xinetd restart

5)、测试

输入 sudo netstat -apn | grep ":69"

则应输出:输出:udp 0 0 0.0.0.0:69 0.0.0.0:* 3770/xinetd

3、minicom(用于串口通信)

1)、下载安装minicom

sudo apt-get install minicom

sudo apt-get install lrzsz(现在的版本这一步基本都包含在第一步中了)

2)、配置minicom

sudo minicom -s

如果使用的主机接口为USB转串口则Serial Device : /dev/ttyUSB0

否则Serial Device : /dev/ttyS0

| B - Lockfile Location : /var/lock |

| C - Callin Program : |

| D - Callout Program -: |

| E - Bps/Par/Bits : 115200 8N1|

| F - Hardware Flow Control : No |

| G - Software Flow Control : No |

Save setup as dfl

Exit from Minicom

二、交叉编译工具的搭建

做开发时同组同事间的开发工具版本要一致,因此交叉编译工具应从同组同事那里拷贝,假若你已经拷贝了一份交叉编译工具放在了/home/gongzuo/embed/tools/bin/目录下,则只需完成如下步骤即可:

1、在当前工作目录下(/home/gognzuo/)打开.bashrc

vi .bashrc

2、添加代码:export PATH=$PATH:/home/akaedu/crosstool/tools/bin/

,并把以前的export PATH代码注释掉即可

3、重启shell后,新的交叉编译工具就生效了,可以通过arm-linux-gcc -v 查看当前版本信息。

三、运行环境的搭建(针对s3c2440开发板)

运行环境的搭建主要包括内核文件的***,根文件系统的***和内核启动参数的配置三个方面。

1、内核文件的***

如果有适合的编译好的内核文件则可以下载烧写到开发板上,步骤如下:

1)、将内核文件(zImage)拷贝到/tftpboot目录下

2)、下载zImage到开发板上

tftp 0x30008000 zImage

3)、擦除nand的kernel区

nand erase kernel

(可以通过mtdparts命令查看nand分区,如果nand没有分区则应该先分区,执行mtdparts default和saveenv完成分区保存)

4)、烧写

nand write 0x30008000 kernel 0x200000

2、根文件系统的***

如果有适合的编译好的根文件则可以下载烧写到开发板上,步骤如下:

1)、将根文件(rootfs.cramfs)拷贝到/tftpboot目录下

2)、下载rootfs.cramfs到开发板上

tftp 0x30800000 rootfs.cramfs

3)、擦除nand的ext2区

nand erase ext2

4)、烧写

nand write 0x30800000 ext2 0x1000000

3、内核启动参数的配置

set bootcmd nand read 0x30008000 kernel 0x200000\; myboot 0x30008000

set bootargs noinitrd console=ttySAC0,115200

set bootmode nand(或nfs)(设置根文件从什么地方加载)

set init /linuxrc

set root /dev/mtdblock2

saveenv

四、裁剪内核

五、***根文件系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: