linux与arm的交叉编译的过程(小编用的目标板是arm tiny6410 )

咱们的目标是要做到在宿主机编译,在目标板运行~~~~

思路:

1要进行交叉编译,首先要然宿主机与目标板ping成功(即地址在同一个网段上,IP地址的前三位是一样的,例如宿主 机为192.168.3.111,目标板为192.168.3.112)

ifconfig(可查出宿主机与目标把的地址)

假如宿主机为192.168.2.111    目标板为192.168.3.112(则不在同一个网段上

 在目标板的终端修改其网段

ifconfig eth0 192.168.2.112

注意修改完成后,在宿主机ping 目标板的地址,如果有东西不断的跳出来就算ping成功,在目标板也要ping宿主机的地址哦(有的时候网线没插好,所以最好两个都进行ping)!!!!!

2.安装NFS,建立服务器共享文件

3.在目标板终端挂载宿主机

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

目标板终端,使用minicom打开:

sudo apt-get install minicom安装minicom

sudo minicom -s设置minicom

 修改serial port setup   A将/dev/tty8      改为/dev/ttyUSB0    ;将按F将yes 改为NO

修改完后退出即可,此终端即为目标板的终端

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

安装NFS

#apt-get install nfs-common

#apt-get install nfs-kernel-server


1.配置NFS

步骤:(修改配置文件-------开启NFS-----显示共享目录------创建服务文件目录,更改权限)

在linux工作服务器端配置

1).修改配置文件

#vim /etc/exports#说明是要用root用户,或者加sudo,,不要并不是把#打上去。建议用root用户,不然下面的大部分步骤都要用加上sudo太麻烦

添加

/home/xxx/nfs 192.168.*.*(rw,no_root_squash,sync) (不要在前面加#!!!)

内容说明:

/home/xxx/nfs :分享目录,xxx请用户自行填写(可自行修改,但下面创建目录时要一致)

  *:网段内的所有值

rw:读写权限

       sync:资料同步写入内存和硬盘

           no_root_squash:nfs客户端共享目录使用者的权限


2).开启NFS服务(每次进行交叉编译都要使用这两条命令)

 # /etc/init.d/portmap restart

         # /etc/init.d/nfs-kernel-server restart


3).显示共享出的目录(此步骤可省略)

   #showmount    -e


4).创建服务文件目录,更改权限(第二次起可不用再创建服务文件目录)

     #mkdir /home/xxx/nfs

     #chmod 777 /home/xxx/nfs


2.使用NFS

2.1:在开发板上挂载NFS服务目录

    1.)在宿主机(即你的电脑),把交叉编译后的程序置于共享目录:

#cd /home/xxx/nfs

2.)在目标板中,挂载宿主机的nfs共享目录:(注意是在目标板挂载宿主机哦!!!!

#mount -t nfs -o nolock 192.168.3.x:/home/xxx/nfs  /mnt   


3).查看是否共享成功

        #cd /home/xxx/nfs

  #touch asdf

  #ls /mnt

         如果在/mnt的目录下可以看到asdf这个文件夹,恭喜你成功了

3).使用NFS运行程序

#cd  /mnt

4.)取消挂载(在目标板终端进行)

#cd ~

#umount /mnt

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

交叉编译小小的执行文件

1.安装编译器

     我用的目标板是arm  tiny6410   用arm-linux-gcc进行编译

将arm-linux-gcc的解压包解压到 / (要解压到根目录下哦)

 #tar  -zvxf  (文件压缩包,自己打)-C /

2.进行编译(在宿主机终端进行操作)

      #cd /home/xxx/nfs

更改PATH环境变量(注意只有更改了PATH的值才能够进行编译哦,这步别忘了哟,很重要滴)

export PATH=/opt/FrierndlyARM/toolschain/4.5.1/bin:$PATH

自己用vi编译一个hello world的.c文件,假如取名为haha.c

 #arm-linux-gcc haha.c -o haha

3.执行文件(注意是在目标板上执行的哟)

       #cd /mnt

 #./haha

 成功则输出haha的文件内容

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

该片文章关于安装NFS的那部分是参考网上大神的文章加上自己的注释写出的。

各位大神,小编lucky_leaf是一个linux初学者,如果发现有什么错误的地方,请在评论指出,指导指导我这个晚辈。

这是lucky_leaf的第一篇博客,希望对大家有所帮助微笑


相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页