Linux 下交叉编译环境设置

...

一、Ubuntu 10.10的基本设置

为了接下来的配置方便,这里先对Ubuntu进行一些简单的配置。

        1、右键增加以管理员身份打开

            在终端输入sudo apt-get install nautilus-gksu,然后回车就可以了。

        2、修改root账户的密码。

           在终端键入sudo passwd root” ,然后两次输入密码,即可。

           以后在终端需要转换root账户的时候,只需键入su root,输入密码。

           请牢记密码哈,当然如果实在忘了,可以通过$sudo passwd root 进行更改。

二、配置NFS文件系统(详见相关文档)


 

三、开发板与Ubuntu10.10共享NFS目录

Ubuntu端配置:

在上文中已经提到过我的共享目录为/home/sun/mc9260,在每次开发板需要与PCUbuntu

共享文件的时候,Ubuntu都需要先挂载共享目录,具体指令如下:

 Linux 下交叉编译环境设置_第1张图片

 

 

从截图大家可以看出来,mount指令是需要root权限的,至于root的密码设置,在文章的最开始已经介绍过了,ls /mnt指令可以看出已经将/home/sun/mc9260共享目录下的文件夹hello挂载到/mnt下。

PS: mount 命令简介 总是敲击这命令总该明白咋回事吧:-)

    mount [-t vfstype] [-o options] device dir

  其中:

  1.-t vfstype指定文件系统的类型,通常不必指定。mount会自动选择正确的类型。常用类型有:

  光盘或光盘镜像iso9660

  DOS fat16文件系统:msdos

  Windows 9x fat32文件系统:vfat

  Windows NT ntfs文件系统:ntfs

  Mount Windows文件网络共享:smbfs

  UNIX(LINUX)文件网络共享:nfs

    2.-o options主要用来描述设备或档案的挂接方式。常用的参数有:

  loop:用来把一个文件当成硬盘分区挂接上系统

  ro:采用只读方式挂接设备

  rw:采用读写方式挂接设备

  iocharset:指定访问文件系统所用字符集

  3.device要挂接(mount)的设备。

4.dir设备在系统上的挂接点(mount point)

开发板配置:

启动ARM开发板,应该保证开发板与Ubuntu在同一个网段。我的PCUbuntuIP地址为192.168.1.244

$ ifconfig eth0 192.168.1.100   //可以对开发板IP进行设置。

 

也可以在开发板启动的时候进入U-BOOT选项进行配置,由于针对不同的开发板,配置不同,这里就简单说一下我的开发板,大家具体看说明书进行配置。

 

上电启动板子,在超级终端显示 Hit any key to stop autoboot 时快速敲一下回车键,

进入 u-boot 进行配置(如未配置 uboot 环境变量中的启动脚本,将不出现 Hit any key to

stop autoboot,而自动停在 uboot 命令提示符界面)U-boot命令可以只输入前几个字母,

 setenv=set,save=sa 等。

设置物理地址:

setenv ethaddr 00.11.22.33.44.55

设置本地 IP 地址

setenv ipaddr 192.168.1.100

保存设置

save

 

至此,开发板的IP问题解决。

 

下面进行 NFS 连接,

将主机 NFS 共享目录的/ home /sun/mc9260 目录 mount ARM Linux/mnt /nfs

目录下。

$ mount -t nfs -o nolock 192.168.1.244: /home/sun/mc9260  /mnt/nfs

运行后,可以查看ARM开发板中/mnt/nfs目录下的文件:

$ls /mnt/nfs

至此,可以看见ARM开发板已经与Ubuntu主机共享了文件目录,以后可以将需要开发板运行的程序放在此目录中即可。

 

 

四、Ubuntu10.10下的交叉编译器的安装配置

1、解压缩编译器工具包

把交叉编译工具的安装包 arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2直接解压缩到根目录下。如果使用的是Ubuntu可以直接右键解压缩,当然也可以使用命令行,在终端进入压缩包所在文件目录,然后执行:

$tar jxvf arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /home/sun

2、建立环境变量

关于在Ubuntu下建立环境变量的方法有很多,网上的介绍也是数不尽。这里我党然是选最简单的办法啦:

找到/etc/profile文件,单击鼠标右键,以管理员身份打开(文章开头的介绍很方便有用的),然后在文件的末尾加上PATH="$PATH:/home/sun/arm-2007q1/bin"

export PATH 

如下图:

  

 

 

 

修改结束后保存关闭文件,重启Ubuntu即可。

当然了,这里的修改可以在用vi指令修改:

$ vi ~/.bashrc

在文件最后一行修改为:

export PATH=/home/sun/arm-2007q1/bin/:$PATH

保存退出,执行下面命令。:$ source ~/.bashrc

测试环境变量$ arm-none-linux-gnueabi-gcc -v

arm-none-linux-gnueabi-gcc -v 用来查看 arm-linux-gcc 的版本,输出信息如下说明交叉编 译环境安装成功:

细心的朋友可以发现我使用两种方式修改的不是同一个文件,前者修改/etc/profile文件,后者修改~/.bashrc文件,关于这其中的原因,就是两种修改环境变量的不同方法,也是不同级别的,关于这方面得知识,大家可以自己学习,也不是本文的重点。

 

 

Linux 下交叉编译环境设置_第2张图片

同样我们编辑我们的Makefile文件,如下

 

 

输入make命令$make

 

 

Linux 下交叉编译环境设置_第3张图片

 

至此,交叉编译结束,由于开发板与Ubuntu共享此文件目录,所以可以通过GTKTerm来给开发板输入执行hello程序的命令来运行程序:

Linux 下交叉编译环境设置_第4张图片

 

 

 

至此,hello程序运行成功!

你可能感兴趣的:(Linux 下交叉编译环境设置)