ARM交叉环境配置(图解)

本文详细介绍了如何配置ARM交叉编译环境,包括网络设置、工具链安装、环境变量配置等。同时,还指导了ARM板子的配置,如串口连接、参数设置、内核加载等,确保开发板能够从主机通过NFS启动并运行交叉编译的程序。
摘要由CSDN通过智能技术生成

一.网络配置 

1.      设置VM, IP 地址,使它能正常跟 主机通信。并安装,启用SAMBA,TFTP ,SSH相关服务



2.通过samba,将uImage拷贝到/tftpboot目录下

 

3. 将filesystem.tar.bz2解压到/opt/目录下

 

5.通过samba将toolchains_for_s3c2410.tar.bz2拷贝到/opt目录下

a)        解压toolchains_for_s3c2410.tar.bz2:

b)       tar  –jxvf  toolchains_for_s3c2410.tar.bz2

c)        cd crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux-gnu/bin/

d)       pwd命令获取交叉工具链可执行文件存放的绝对路径/opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux-gnu/bin

e)        修改环境变量PATH的值

f)        cd  ~

g)       sudovi  .bashrc

h)       在最后一行中添加:

i)         ExportPATH=$PATH:/opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux-gnu/bin

j)         保存退出

k)       执行命令:source  ~/.bashrc

 

6.使用交叉工具链编译c代码  (跳到ARM板配置,ARM板配置好后,再跳到这一步)

比如有test.c

Arm-linux-gnu-gcc   test.c –o test_arm

 

7.在/opt/filesystem中新建一个文件夹,专门用来存放交叉编译后的可执行代码

  cd /opt/filesystem

       mkdir bin_arm

将我们之前编译好的test_arm拷贝到/opt/filesystem/bin_arm中,在开发板的终端中,即putty(串口),运行test_arm

 

 

二.ARM 板子配置

1. 连接好串口,打开DNW, 点击Cofiguration->Options


注意:这里的串口设置必须与PC上串口一致。

 

2.点击,Serial->Connect

 

3.打开ARM电源,会出现ARM参数信息 ,在 “Hit any key to stop autoboot ” 时间等等的时候按下Enter或空格间 进入参数设置。输入“ Print”  命令可查看当前设置参数信息。



自定义参数版本:

 

a)        设置UBOOT参数

b)       确保一下FS2410的核心班上的JP1跳线帽短接了,给板子上电,

c)        查看板子启动信息,如果板子启动信息中,有U-Boot 1.3.1(Oct 25 2008 - 15:45:21)或者更新的版本,则直接设置下面的参数,否则根据文档烧录u-boot131-for-farsight-shenzhen-advanced-drivers.bin(请参考文档"farsight-实验前的准备步骤-v2.3.doc")

 

d)       FS2410# setenv serverip192.168.1.x        (serverip表示虚拟机IP地址,其中X是虚拟机中IP的最后的数字[用ifconfig可以获取])

e)        FS2410# setenv ipaddr 192.168.1.y          (注意,ipaddr表示是板子的IP地址)

f)        FS2410# setenv gatewayip192.168.1.1     //网关

g)       FS2410# setenv bootfileuImage          //配置存放在主机中内核镜像文件的名称

h)       FS2410# setenv bootdelay 3                       //引导内核系统时的延时时间

i)         FS2410# setenv hostnamefarsight_userN(N编号)

j)         FS2410# setenv rootpath/opt/filesystem   //启动后挂载的文件路径

k)       FS2410# setenv bootcmd tftp 30800000      //设置倒计时后的第一条命令

l)         FS2410#setenv bootargs console=ttySAC0,115200 init=/linuxrc root=/dev/nfsnfsroot=192.168.1.x:/opt/filesystem ip=192.168.1.y:192.168.1.x:192.168.1.1:255.255.255.0:farsight:eth0:off

 

 //设置uboot传给内核的参数,

console=tty  使用虚拟串口终端设备 . console=ttyS[,options] 使用特定的串口,options可以是这样的形式bbbbpnx,这里bbbb是指串口的波特率,p是奇偶位(从来没有看过使用过),n是指的bits。console=ttySAC[,options]同上面。有时用ttyS,有时用ttySAC, 可以查看Documentation/serial-console.txt找到相关描述.

init指定的是内核启起来后,进入系统中运行的第一个脚本,一般init=/linuxrc, 或者init=/etc/preinit,preinit的内容一般是创建console,null设备节点,运行init程序,挂载一些文件系统等等操作。

 root=/dev/nfs 在文件系统为基于nfs的文件系统的时候使用。当然指定root=/dev/nfs之后,还需要指定nfsroot=serverip:nfs_dir,即指明文件系统存在那个主机的那个目录下面。指定系统启动之后网卡的ip地址,如果你使用基于nfs的文件系统,那么必须要有这个参数,其他的情况下就看你自己的喜好了。

设置ip有两种方法:
ip = ip addr
ip=ip addr:server ip addr:gateway:netmask::whichnetcard:off
这两种方法可以用,不过很明显第二种要详细很多,请注意第二种中which netcard 是指开发板上的网卡,而不是主机上的网卡。

若需了解更多这方面的设置可以参考:

http://www.cnblogs.com/cornflower/archive/2010/03/27/1698279.html

 

m)     FS2410# save

n)       再次复位板子,看串口信息内核是否自动加载,并可登录进目标板系统 (登陆用户名: root,密码123456)

 

接下来你就可以按照实验手册进行实验了。

  

4.烧写u-boot131-for-farsight-shenzhen-advanced-drivers.bin 到ARM板,先关掉电源,拨掉跳线冒,打开电源。

 

5.Serial -> Connect , 出现下面的画面1,选择下载方式,本文采用“Uart download file” 方式,选择1. 下载完成后提示 “Are you sure?” 输入n 接着会出现选择菜单 选择2 “write nand flash with download file.”再选择写入到的分区,选择0 “bootloader” 。按下 y 操作成功后提示“Programnand flash partition success.” 即可。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值