当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 55 篇帖子 ]  前往页数 1, 2, 3, 4  下一页
作者 内容
1 楼 
 文章标题 : [原创]ubuntu7.10上搭建arm9交叉开发环境
帖子发表于 : 2008-03-17 9:32 
头像

注册: 2007-04-09 15:19
帖子: 353
送出感谢: 0 次
接收感谢: 0 次
首先说下我使用的环境:

主机:ubuntu7.10桌面版 开发板:友善之臂QQ2440V3

主机IP:172.16.53.214 网关:172.16.53.1 子网掩码:255.255.255.0 广播地址:172.16.53.255

开发板IP:172.16.53.168 广播地址:172.16.53.255 子网掩码 255.255.255.0


第一步:连接主机和开发板

我选择了串口线和网线连接起了主机和开发板

连接好电源,串口线,网线,打开串口终端

第二步:配置minicom

进入到minicom配置界面后选择 :Serial port setup

然后按照下面的设置下就OK了

A - 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

第三步:配置主机和开发板IP

1.主机

由于我们学校使用的是动态获取IP,所以主机IP我的不需要设置

如果你的不是的话可以参考这个命令配置下

root@xhylyx-desktop:~# ifconfig eth0 172.16.53.214 netmask 255.255.255.0

配置完成后使你的配置生效

root@xhylyx-desktop:~# ifdown eth0

root@xhylyx-desktop:~# ifup eth0

2.开发板

我使用的是友善之臂的QQ2440V3开发板

开发板原先的IP是192.168.1.230

为了能和主机建立起连接我必须得把开发板IP改成和主机一个网段的

经过第二步的配置我们现在应该能进到开发板了的

进入到/etc/init.d/目录下会看到一个rcS文件

IP就是在这个文件修改的

[root@FriendlyARM init.d]# ls
rcS rcS.old
[root@FriendlyARM init.d]# vi rcS

我只复制了其中的一段出来:/sbin/ifconfig eth0 172.16.53.168 netmask 255.255.255.0 broadcast 172.16.53.255 up

这就是我改过的

改完后就重启一下开发板

[root@FriendlyARM /]# reboot

第四步:安装arm-linux-gcc编译器

我买开发板的时候光盘上已经给有编译器了

所以我的不需要去下载

没有的就自己去下载吧

我使用编译器版本分别是arm-linux-gcc-2.95.3 arm-linux-gcc-3.3 .2 arm-linux-gcc-3.4.1

把这三个编译器的压缩包放到你的home目录下去

我的是放在/home/xhylyx/qq2440目录下

然后我们cd进入到根目录下分别执行

root@xhylyx-desktop:/# tar xvzf /home/xhylyx/qq2440/arm-linux-gcc-2.95.3.tgz

root@xhylyx-desktop:/# tar xvzf /home/xhylyx/qq2440/arm-linux-gcc-3.3.2.tgz

root@xhylyx-desktop:/# tar xvzf /home/xhylyx/qq2440/arm-linux-gcc-3.4.1.tgz

解压完后会在/usr/local目录下生成一个arm文件夹

如果没有则是你解压的路径不正确

把交叉编译器的路径加入到PATH,以方便使用:

xhylyx@xhylyx-desktop:~$ sudo gedit /etc/bash.bashrc

在后面加入如下代码:

if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/3.4.1/bin:"${PATH}"
fi

保存退出

我们重启下ubuntu使以上设置生效

重启后

xhylyx@xhylyx-desktop:~$ arm-linux-gcc -v

会出现如下信息,这说明交叉编译环境已经成功安装

Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs
Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1

第五步:打开NFS服务

1.安装NFS

Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:

xhylyx@xhylyx-desktop:~$ sudo apt-get install nfs-kernel-server

安装nfs-kernel-server时,apt会自动安装nfs-common和portmap

这样,宿主机就相当于NFS Server

2.配置NFS

(1)配置portmap

方法1: 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉.

方法2: $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N.

(2)配置/etc/hosts.deny

禁止任何host(主机)能和你的NFS服务器进行NFS连接,加入:

### NFS DAEMONS

portmap:ALL

lockd:ALL

mountd:ALL

rquotad:ALL

statd:ALL

(3)配 置/etc/hosts.allow

允许那些你想要的主机和你的NFS服务器建立连接。下列步骤将允许任何IP地址以192.168.2开头的主机(连 接到NFS服务器上),也可以指定

特定的IP地址,加入:

### NFS DAEMONS

portmap: 192.168.2.

lockd: 192.168.2.

rquotad: 192.168.2.

mountd: 192.168.2.

statd: 192.168.2.

/etc/hosts.deny 和 /etc/hosts.allow 设置对portmap的访问. 采用这两个配置文件有点类似"mask"的意思. 现在/etc/hosts.deny中禁止所有用

户对portmap的访问. 再在/etc/hosts.allow 中允许某些用户对portmap的访问.

xhylyx@xhylyx-desktop:~$sudo /etc/init.d/portmap restart

重启portmap daemon.

(4)配置/etc/exports

NFS挂载目录及权限由/etc/exports文件定义

比如我要将将我的/opt/FriendlyARM/QQ2440/root_nfs目录让172.16.53.*的IP共享, 则在该文件末尾添加下列语句:

/opt/FriendlyARM/QQ2440/root_nfs 172.16.53.0/24(rw,sync,no_root_squash)

172.16.53.* 网段内的NFS客户端能够共享NFS服务器/opt/FriendlyARM/QQ2440/root_nfs目录内容.且有读,写权限, 并且该用户进入

/opt/FriendlyARM/QQ2440/root_nfs目录后的身份为root

最好加上sync, 否则 $ sudo exportfs -r 时会给出警告, sync是NFS的默认选项.

root@xhylyx-desktop:/#showmount -e 查看NFS server的export list.

若更改了/etc/exports, 运行 xhylyx@xhylyx-desktop:~$sudo exportfs -r 更新

运行 xhylyx@xhylyx-desktop:~$ sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务

(5)测试NFS

可以尝试一下挂载本地磁盘

我前面开始时已经提到了我的主机IP是172.16.53.214

我现在试把/opt/FriendlyARM/QQ2440/root_nfs目录挂载到/mnt目录下

root@xhylyx-desktop:/#mount -t nfs 172.16.53.214:/opt/FriendlyARM/QQ2440/root_nfs /mnt

成功的挂载上的话你会在/mnt目录下看到root_nfs这个文件夹下的内容

第六步:通过NFS启动开发板

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

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

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

设置目标板启动模式跳线J1 为Nand Flash 启动,连接好电源,串口线,网线;打开串口终端,在开机或者复位的时候先按下PC 机的空格

键再启动开发板,这样我们就进入了vivi 模式,输入命令之前提醒下,现在在vivi下是不能自动换行的,我们必须手动打开

打开的方法是同时按住ctrl+a键,然后同时松开这两个键,接着再按W键,这时我们就把自动换行打开了,如果你不打开后面的命令你是输入

不完那命令进去的,因为那命令挺长的

Supervivi>param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=172.16.53.214:/opt/FriendlyARM/QQ2440/root_nfs ip=172.16.53.168:172.16.53.214:172.16.53.214:255.255.255.0:FriendlyARM.arm9.net:eth0:off"

首先在这里解释下这条命令里面的意思,我第一次接触这条命令时完全不知道什么意思

IP改了好多次也没能成功从NFS启动开发板

最后经过同学的测试终于成功了,之前失败的原因就是因为对这条命令的不理解造成的

nfsroot=172.16.53.214 这个是我的主机IP

ip=172.16.53.168:172.16.53.214:172.16.53.214:255.255.255.0

第一个IP是开发板的IP(开发板的IP不要与局域网内其它IP冲突),第二个是主机的IP,第三个也是主机的IP,第四个是开发板的子网掩码

其他的不改就好了

总结:Supervivi>param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=主机IP:/opt/FriendlyARM/QQ2440/root_nfs
ip=开发板IP:主机IP:主机IP:开发板子网掩码:FriendlyARM.arm9.net:eth0:off"

执行完这条命令后再继续执行Supervivi>boot

如果一切顺利的话将会进入到开发板上去

进入到开发板后你就可以去mount你主机的共享目录了

我主机的共享目录是/opt/FriendlyARM/QQ2440/root_nfs

所以我在开发板上执行[root@FriendlyARM /]#mount -t nfs -o nolock 172.16.53.214: /opt/FriendlyARM/QQ2440/root_nfs /mnt

mount成功后你进入到/mnt目录下就可以看到你主机root_nfs目录下的内容了




------------------------------------------------------------------------------------------

PS:至此就已经在ubuntu7.10上成功搭建了友善之臂QQ2440V3的开发环境了,现在你就可以把你的程序在开发板上运行了


最后由 xhylyx 编辑于 2009-07-03 11:30,总共编辑了 4 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-03-17 10:03 

注册: 2006-11-30 1:29
帖子: 173
送出感谢: 0 次
接收感谢: 0 次
先顶后看 :lol:


_________________
善知识!菩提自性,本来清净,但用此心,直了成佛。 飞信机器人


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-03-17 10:59 

注册: 2007-11-27 22:20
帖子: 444
送出感谢: 0 次
接收感谢: 0 次
kelvinhan 写道:
先顶后看 :lol:

不明白是干什么的& :D


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-04-03 15:07 

注册: 2008-03-14 16:47
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
good !


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-04-05 15:56 

注册: 2007-12-26 14:47
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
楼主,好帖子!希望楼主有空构架一下ARM7+ubuntu的环境!给我这种菜鸟参考一下。呵呵,对了楼主,能留个联系方式吗?


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-04-06 11:35 
头像

注册: 2007-12-26 20:58
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
mmkk 写道:
楼主,好帖子!希望楼主有空构架一下ARM7+ubuntu的环境!给我这种菜鸟参考一下。呵呵,对了楼主,能留个联系方式吗?


我正在学习中……


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-04-07 16:52 
头像

注册: 2007-04-09 15:19
帖子: 353
送出感谢: 0 次
接收感谢: 0 次
mmkk 写道:
楼主,好帖子!希望楼主有空构架一下ARM7+ubuntu的环境!给我这种菜鸟参考一下。呵呵,对了楼主,能留个联系方式吗?

不好意思,我没有ARM7的板子


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-04-16 0:02 

注册: 2006-07-17 14:36
帖子: 91
地址: 黑龙江
送出感谢: 0 次
接收感谢: 0 次
谁能开发出来一个可以在手机上通用的LINux,我有两个智能手机,都可以换系统了,多好


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-04-16 9:13 
头像

注册: 2006-05-19 9:54
帖子: 1822
地址: Shanghai
送出感谢: 2
接收感谢: 11
按照ds的知识
arm7和arm9编译器一样的,貌似只要编译的时候指定指令集就可以了


_________________
ニンニク入れますか?
x60 with gentoo


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-04-21 14:33 

注册: 2008-04-20 23:13
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
学习 ※※ MARK


页首
 用户资料  
 
11 楼 
 文章标题 : [原创]ubuntu7.10上搭建arm9交叉开发环境
帖子发表于 : 2008-05-18 13:47 

注册: 2008-05-06 18:23
帖子: 11
地址: 云南-麻栗坡
送出感谢: 0 次
接收感谢: 0 次
我用的板子和你的一样的,哈哈 :D


页首
 用户资料  
 
12 楼 
 文章标题 : [原创]ubuntu7.10上搭建arm9交叉开发环境
帖子发表于 : 2008-05-18 13:48 

注册: 2008-05-06 18:23
帖子: 11
地址: 云南-麻栗坡
送出感谢: 0 次
接收感谢: 0 次
谢谢了,学习中! :D


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-06-03 16:53 

注册: 2008-03-26 10:45
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
写的好 啊


页首
 用户资料  
 
14 楼 
 文章标题 : 菜鸟安装NFS失败,向各位大侠请教
帖子发表于 : 2008-06-06 19:11 

注册: 2008-06-06 18:57
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
菜鸟安装NFS失败,向各位大侠请教

输入:sudo apt-get install nfs-kernel-server
提示如下:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
Reading state information... 完成
E: 无法找到软件包 nfs-kernel-server

请问有何办法解决。我的系统是6.10版的,这样的问题和版本有关吗?


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-06-07 10:29 

注册: 2008-06-01 20:24
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
虽然没有板子,但还是先学习一下,并收藏了


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 55 篇帖子 ]  前往页数 1, 2, 3, 4  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译