友善之臂mini2440配置方案

更新时间:2023-10-27 15:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

5.3 建立交叉编译环境

在Linux 平台下,要为开发板编译内核,图形界面Qtopia,bootloader,还有其他一 些应用程序,均需要交叉编译工具链。

之前的系统,要使用不同的编译器版本才能正常编译各个部分,因此要在开发过程不

断切换设置,这十分不利于初学者使用,也降低了开发的效率;自从Linux-2.6.29 开始,我

们把交叉编译器统一为arm-linux-gcc-4.3.2,下面是它的安装设置步骤。

Step1:将光盘目录linux\\中的arm-linux-gcc-4.3.2.tgz 复制到某个目录下如tmp\\,然后

进入到该目录,执行解压命令:

#cd \\tmp

#tar xvzf arm-linux-gcc-4.3.2.tgz –C /

注意:C 后面有个空格,并且C 是大写的,它是英文单词“Change”的第一个字母, 在此是改变目录的意思。

执行该命令,将把arm-linux-gcc 安装到/usr/loca/arm/4.3.2 目录。 解压过程如图所示:

Step2:把编译器路径加入系统环境变量,运行命令 #gedit /root/.bashrc 编辑/root/.bashrc

export

PATH=$PATH:/usr/local/arm/4.3.2/bin 如图,保存退出。

重新登录系统(不必重启机器,开始->logout 即可),使以上设置生效,在命令行输入 arm-linux-gcc –v,会出现如下信息,这说明交叉编译环境已经成功安装。

5.4 解压安装源代码及其他工具

本小节将解压安装开发学习过程所用到的全部源代码以及其他一些小工具,这包括: - linux-2.6.29 内核源代码

- 嵌入式图形界面Qropia 源代码(分为x86 和arm 平台两个版本) - busybox-1.13 源代码

- linux 编程示例源代码(均为友善之臂自主开发并开放) - linux 下的开源bootloader(vivi 和u-boot)

- 其他开源软件源代码,如boa(web server), madplay(一个命令行mp3 播放器) - 目标文件系统目录

- 目标文件系统映象制作工具mkyaffsimage - 图形界面的Linux logo 制作工具logo_maker

注意:所有的源代码和工具都是通过解压方式安装的,所有的源代码均使用统一的编 译器arm-linux-gcc-4.3.2 编译(见上一节) 下面是详细的解压安装过程,并有简要的介绍。 5.4.1 解压安装源代码

首先创建工作目录/opt/FriendlyARM/mini2440

在命令行执行 mkdir –p /opt/FriendlyARM/mini2440 ,如图,后面步骤的所有源代码

(1)准备好Linux 源代码包

在Fedora9 系统中/tmp 目录中创建一个临时目录/tmp/linux

#mkdir /tmp/linux

把光盘中linux 目录中的所有文件都复制到/tmp/linux 目录中

说明:这样做是为了统一下面的操作步骤,其实你可以使用其他目录,也可以直接从 光盘解压安装。

(2)解压安装Linux 内核源代码

在工作目录/opt/FriendlyARM/mini2440 中执行:

#cd /opt/FriendlyARM/mini2440

#tar xvzf /tmp/linux/linux-2.6.29-mini2440-20090331.tgz 将创建生成linux-2.6.29 目录,里面包含了完整的linux 内核源代码

说明:20090331 是我们的发行更新日期标志,请以光盘中实际日期尾缀为准。 (3)解压安装嵌入式图形系统qtopia 源代码

在工作目录/opt/FriendlyARM/mini2440 中执行:

#cd /opt/FriendlyARM/mini2440 #tar xvzf /tmp/linux/x86-qtopia.tgz #tar xvzf /tmp/linux/arm-qtopia.tgz

将创建x86-qtopia 和arm-qtopia 两个目录,并内含相应的全部源代码。

说明:和之前的qtopia 源代码包不同,现在的源代码包不再区分mouse(鼠标支持)和 tp(触摸屏支持),此系统可以支持二者共存,因此只有一个源代码包,其中也包含了嵌入式浏

览器konquor 的源代码。

另外,为了方便用户学习开发使用,此源代码包相比Qt 公司的原始版本已经打过补

丁,并做了诸多改进,它们都是源代码方式,我们不再一一赘述,感兴趣者可自行比较。 (4)解压安装busybox 源代码

Busybox是一个轻型的linux命令工具集,在此使用的是busybox-1.13.3 版本。用户可以

从其官方网站下载最新版本(

http://www.busybox.net )。

在工作目录/opt/FriendlyARM/mini2440 中执行:

#cd /opt/FriendlyARM/mini2440

#tar xvzf /tmp/linux/busybox-1.13.3-mini2440.tgz 将创建busybox-1.13.3 目录,内含相应版本的全部源代码。

说明:为了方便用户编译使用,我们做了一个缺省的配置文件fa.config。 (5)解压安装linux 示例程序

在工作目录/opt/FriendlyARM/mini2440 中执行:

#cd /opt/FriendlyARM/mini2440 #tar xvzf /tmp/linux/examples.tgz

将创建examples 目录,并包含初学linux 编程代码示例。

说明:examples 目录中的代码均为友善之臂自主开发,并全部以源代码方式提供,它 们都是一些基于命令行的小程序。 (6)解压安装bootloader 源代码

本开发板提供了三种开源的Bootloader(详见本手册第八章节),其中vivi 和u-boot 是 在linux 平台下设计编译的。

在工作目录/opt/FriendlyARM/mini2440 中执行:

#cd /opt/FriendlyARM/mini2440 #tar xvzf /tmp/linux/bootloader.tgz

将创建bootloader 目录,里面包含vivi 和u-boot 两种bootloader 的源代码。 5.4.2 解压创建目标文件系统

在工作目录/opt/FriendlyARM/mini2440 中执行:

#cd /opt/FriendlyARM/mini2440

#tar xvzf /tmp/linux/root_qtopia.tgz

将创建root_qtopia 目录,该目录和目标板上使用的文件系统内容是完全一致的。 说明: 以前的目标文件系统有4 个: root_default, root_nfs, root_qtopia_tp,

root_qtopia_mouse,它们分别是为实现不同的启动方式和功能外设而创建的,现在我们把它

统一为一种,它包含了完整的qtopia 测试系统,最新的busybox,还有常用的命令行工具等,

和之前的相比,它具有如下特性: - 自动识别NFS 启动或本地启动 - 可支持USB 鼠标和触摸屏共存

- 自动识别所接的输出显示模块是否接了触摸屏,以判断在第一次开机使用时是否要 进行校正。如果没有连接,会自动进入系统,使用鼠标即可;否则会先校正触摸屏。 - 自动识别普通或者高速SD 卡(最大可支持32G)和优盘 5.4.3 解压安装必要实用工具

(1)目标文件系统映象制作工具mkyaffs2image

要把上一步中的root_qtopia 目录烧写入目标板中使用, 就需要使用相应的 mkyaffs2image 工具了,它是一个命令行的程序。 在工作目录/opt/FriendlyARM/mini2440 中执行:

#cd /opt/FriendlyARM/mini2440

#tar xvzf /tmp/linux/mkyaffs2image.tgz –C /

注意:C 是大写的,C 后面有个空格,C 是改变解压安装目录的意思

说明:以前的内核系统支持的是yaffs 文件系统,现在使用的是yaffs2 文件系统,因 此需要不同的制作工具,我们在此把它称为mkyaffs2image,按照上面的命令解压后它会被安

装到/usr/sbin 目录下,它只有一个文件。 (2)解压安装LogoMaker

在工作目录/opt/FriendlyARM/mini2440 中执行:

#cd /opt/FriendlyARM/mini2440

#tar xvzf /tmp/linux/ogomaker.tgz –C /

注意:C 是大写的,C 后面有个空格,C 是改变解压安装目录的意思

说明:LogoMaker 是友善之臂开发的一个linux logo 简易制作工具,网上有很多资料 介绍如何使用命令行的工具把bmp, jpg, png 等格式的图片转换为linux logo 文件,在此我们设

计了一个图形化的版本,它是基于Fedora9 开发。

执行以上命令,LogoMaker 将会被安装到/usr/sbin 目录下,它只有一个文件,安装完 之后在命令行输入logomaker 可出现如下界面,在后面的章节我们会介绍它的使用方法: 5.5 配置网络文件系统NFS 服务

如果您已经按照以上章节介绍的方法完全安装好了Fedora 9,则NFS 相关软件都已经 缺省安装好了,请按照以下步骤建立和配置NFS 服务。 5.5.1 设置共享目录

注意:要使用共享目录,必须先按照5.4.2 章节解压安装好root_qtopia 目标板文件系 统包。

(1)设置共享目录 运行命令

#gedit /etc/exports

编辑nfs 服务的配置文件(注意:第一次打开时该文件是空的),添加以下内容:

/opt/FriendlyARM/mini2440/root_qtopia *(rw,sync,no_root_squash) 其中:

/opt/FriendlyARM/mini2440/root_qtopia 表示nfs 共享目录,它可以作为开发板的根 文件系统通过nfs 挂接;

* 表示所有的客户机都可以挂接此目录

rw 表示挂接此目录的客户机对该目录有读写的权力

no_root_squash 表示允许挂接此目录的客户机享有该主机的root 身份 5.5.2 和启动NFS 服务

可以通过命令行和图形界面两种方式启动NFS 服务,我们建立NFS 服务的目的是通

过网络对外提供目录共享服务,但默认安装的Fedora 系统开启了防火墙,这会导致NFS 服务

无法正常使用。因此先关闭防火墙,在命令行输入“lokkit”命令,打开防火期设置界面 选择其中(*)Disabled,然后选择“OK”退出,这样就永久的关闭了防火墙。 下面是启动NFS 服务的方法和步骤: (1)通过命令启动和停止nfs 服务 在命令行下运行:

#/etc/init.d/nfs start

这将启动nfs 服务,可以输入以下命令检验nfs 该服务是否启动。

# mount -t nfs localhost: /opt/FriendlyARM/mini2440/root_qtopia /mnt/ 如果没有出现错误信息, 您将可以浏览到/mnt 目录中的内容和 /opt/FriendlyARM/mini2440/root_qtopia 是一致的。 使用这个命令可以停止nfs 服务:

#/etc/init.d/nfs stop

(2)通过图形界面启动NFS 服务

为了在每次开机时系统都自动启动该服务,可以输入

# serviceconf

5.5.3 通过NFS 启动系统

当NFS 服务设置好并启动后,我们就可以把NFS 作为根文件系统来启动开发板了。

通过使用NFS 作为根文件系统,开发板的“硬盘”就可以变得很大,因为您使用的是主机的

硬盘,这是使用linux 作为开发经常使用的方法,

设置目标板启动模式为Nand Flash 启动,连接好电源,串口线,网线;打开串口终端, 在开机或者复位的时候迅速按下PC 机的空格键,这样我们就进入了vivi 模式,输入以下命 令:

Supervivi> param set linux_cmd_line \nfsroot=192.168.1.111:/opt/FriendlyARM/mini2440/root_qtopia

ip=192.168.1.70:192.168.1.111:192.168.1.111:255.255.255.0:sbc2440.arm9.net:eth0:off\

其中 ,param set linux_cmd_line 是设置启动 linux 时的命令参数。其各参数的含义 如下:

nfsroot 是自己开发主机的IP 地址。 “ip=”后面:

第一项(192.168.1.70)是目标板的临时IP(注意不要和局域网内其他IP 冲突); 第二项(192.168.1.111)是开发主机的IP;

第三项(192.168.1.111)是目标板上网关(GW)的设置;

第四项(255.255.255.0)是子网掩码;

第五项是开发主机的名字(一般无关紧要,可随便填写) eth0 是网卡设备的名称。

由于该命令比较长,容易输入错误,我们已经把它写入了光盘的nfs.txt 文件中,这样 您直接复制过来就可以了。

本文来源:https://www.bwwdw.com/article/5tl2.html

Top