我是初学linux和Tingy 6410的学员,在实现这个交叉编译的过程也遇到不少问题,在此分享一下我编译成功的成果,若有不妥或是不对之处,请多多指出不足之处。
下面我们将来实现交叉编译的过程:
1.首先我们必须把服务器和客户端(目标板)连接成功,而查看是否连接成功我们要在电脑的linux下ping他们相互地址(假设服务器的地址是192.168.3.120,客户端的地址是192.168.3.121);在服务端下就ping 192.168.3.121,在客户端下就ping 192.168.3.120
2.开始安装NFS服务器,实现服务器和客户端的资源共享
# apt-get install nfs-common
#apt-get install nfs-kernel-server
3.进行NFS服务器的配置
# vim /etc/exports (注:要在root用户下进行,用# sudo su进入root)
/home/XXX/nfs 192.168.*.*(rw,no_root_squash,sync) (注:不要在前面加“#”,否则会不成功的)
下面我们来说明一下rw,no_root_squash,sync这几个参数:
rw:读写权限
sync:资料同步写入内存和硬盘
no_root_squash:nfs客户端共享目录使用者的权限
4.接下来我们就开始启动NFS服务器了
# /etc/init.d/portmap restart
# /etc/init.d/nfs-kernel-server restart
5.查看显示的共享目录
#showmount -e
6.创建服务文件目录,更改权限;创建之后,以后可以不用创建
# mkdir /home/xxx/nfs
# chmod 777 /home/xxx/nfs
7.在客户端(开发板)上挂载NFS目录
首先我们要进入所在的共享目录: # cd /home/XXX/nfs
在客户端挂载服务器的共享目录: # mount -t nfs -o nolock 192.168.3.120(服务器的地址):/home/XXX/nfs /mnt
8.那么接下来就让我们来看一下是否创建成功吧
# cd /home/XXX/nfs
# touch as
#ls /mnt
如果我们在/mnt目录下能看到as这个文件,那么我们就成功创建了!!
9.进行编译(这个是在服务器上进行的,要切记哦!!!)
# cd /home/XXX/nfs
接下来更改PATH环境变量这一步比较重要,之前我是把这一步忘了才造成编译失败的,所以大家要细心点,不要像我这样把这步忘写了哦!!!!
#export PATH=/opt/FrierndlyARM/toolschain/4.5.1/bin:$PATH
现在我们用vim这个命令来编译一个文件名为hello.c的文件,输出结果为"hello work".
# arm-linux-gcc hello.c -o hello
10.接下来就是重头戏了,我们将在客户端(开发板)上运行程序
# cd /mnt
# ./hello
运行之后我们将在客户端上看到"hello work"这几个字样显示出来!
哈哈,第一次实现了交叉编译的心情是不是很高兴 !
我是刚入门的菜鸟,这个是我在学嵌入式过程中,第一个小小的成果,望大神们多多指点,我的一些不足之处,也希望更多的像我这样刚入门的朋友带来一些帮助!