linux交叉开发流程,交叉开发环境

交叉开发环境的网络设置(arm_linux)

主机(windowsXP) :192.168.1.106

主机(虚拟机Linux):192.168.1.112

开发板(arm_linux):192.168.1.6

三个操作系统的IP地址要设在一个网段里(192.168.1.*)

当开发板启动时进入bootloader模式,要使用其网络传输文件功能时,bootloader的IP也要设为一个网段192.168.1.55(有的bootloader需要设置MAC地址12:45:77:11:22:ab)

交叉开发环境构建:

1.安装交叉开发工具

a)拷贝交叉开发工具软件包到指定目录.( cross-3.3.2.tar.bz2版本)

#cp cross-3.3.2.tar.bz2  /usr/local/arm/

在当前目录解压文件

#tar xjvf arm.tar.bz2

b)设置编译器路径

#vi /etc/profile

下面是profile要添加内容的位置

#pathmanipulation

if [‘id�Cu’= 0]; then

pathmunge /sbin

pathmunge /usr/sbin

pathmunge /usr/local/sbin

pathmunge /usr/local/arm/3.3.2/bin //这行是添加的编译器路径

fi

保存profile文件

#sh /etc/profile

//系统注销,使新的profile文件生效.

如安装好,在shell命令行输入arm,可用TAB键,命令补齐打出arm-linux-

查看gcc版本号

#arm-linux-gcc�Cv

2.配置NFS

开发板同虚拟机IP地址要在一个网段里.

可手工修改NFS配置文件exports.

#vi /etc/exports

/home    192.168.1.*   (rw,sync)

//上述设置内容是/home目录,可以被192.168.1.*网段挂载.

重启NFS服务

#service nfs restart

本地挂载测试.

#mount  192.168.1.112:/home  /mnt/nfs

//192.168.1.112为linux IP,/home为可挂载的目录,/mnt/nfs为挂载到本机的目录(/mnt/nfs/目录要在存在,不存在可#mkdir /mnt/nfs创建).

#ls /mnt/nfs//查看是否挂载成功.

开发板挂载

#ping 192.168.1.112//首先虚拟机linux IP

#mount  -t  nfs-onolock192.168.1.112:/home  /mnt/nfs

#cd /mnt/nfs

3.交叉开发调试程序

在虚拟机Linux建立程序的源文件.

#vi hello.c

#arm-linux-gcc�Co hello hello.c//使用arm-linux-gcc编译源程序.

#cp hello /home//编译好的可执行文件copy到mount的目录.

#chmod 777 hello//修改执行文件的权限

在开发板的挂载目录运行测试.

[@/mnt/nfs]#./hello

tftp服务安装的问题

里面选择everything,导致没有安装tftp服务(典型的就是安装完成后没有/tftpboot目录,setup-->system services里面也没有tftp选项),这时若要重新完全安装就太麻烦了,可如下单独安装改服务:

如果用下面一条命令能够看到服务已经启动,则不用安装,否则需要按1或2点安装tftp-server服务器.

[arm@localhost arm]#netstat -a | grep tftp

udp 0 0 *:tftp *:*

有些客户在安装REDHAT LINUX时,有时没有选Custom-->Packages

1.安装tftp的方法:

#rpm�Civhtftp-server-0.32-4.i386.rpm

(i-install   v-verbose(详细的)h-hash(输出#))

其中tftp-server-0.32-4.i386.rpm在Redhat9的第3张光盘里面。

路径:/mnt/cdrom/RedHat/RPMS/

该软件也可从网上下载得到。

2.修改配置文件

[root@localhost btools]#vi/etc/xinetd.d/tftp

service tftp

{

disable = no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot

per_source = 11

cps = 100 2

flags = IPv4

}

检查tftp服务是否打开

[root@localhost btools]#chkconfig--list

如果tftp的服务没有打开,则用下面命令打开tftp服务开关

[root@localhost btools]#chkconfigtftpon

重启服务

#/etc/init.d/xinetdrestart

#netstat -a | grep tftp

udp 0 0 *:tftp *:*

进入开发板的命令终端

#tftp  -g�Cr  hello 192.168.1.112

//从远程主机192.168.1.112下载文件hello

#ls//查看下文件是否下载成功

#chmod 777 hello//修改权限

#./hello//运行程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值