搭建树莓派交叉编译环境 一、 安装arm-linux-gcc 变译工具 arm-linux-gcc-4.4.3-20100728.tar.gz下载arm-linux-gcc4.4.3,并解压到/usr/local/arm。接着按一下步骤进行: A. 修改环境变量,把编译器的路径加入到PATH。 在/etc/profile 文件的最后加上 export PATH=$PATH:/usr/local /arm/4.4.3/bin 修改/etc/bash.bashrc文件
在最后加上:
- export PATH=$PATH:/usr/local/arm/3.4.1/bin
- <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> export PATH
复制代码使更新其作用:
# source /etc/bash.bashrc # source /etc/bash.bashrc
B. 使新的环境变量生效 在终端中输入 source /etc/profile C. 查看编译器的版本信息 在终端中输入 arm-linux-gcc -v , 如果出现版本信息,说明安装成功。 D. 编写hello.c程序,用 arm-linux-gcc –o hello hello.c 来编译。用file命令查看hello文件的属性,可以看到hello是arm所能接受的可执行文件。 二、 配置nfs服务器 1. 在pc上安装nfs服务器 终端中输入 sudo apt-get install nfs-kernel-server . 2. 配置pc上的ubuntu 由于我的ubuntu是安装在虚拟机里面的,所以要先把网络的模式改为桥接模式,
然后编缉ubuntu的有线连接。点击右上角的网络连接的图标,Wire connection 修改IPv4Setting 如下:
然后用ifconfig命令查看eth0的ip地址。在我的pc上,这个地址是169.254.8.175。 接下来配置/etc/exports 文件,在文件末尾加上 /armfs 169.254.8.*(rw,sync,no_root_squash) l /armfs 为服务器端共享目录 l *为允许nfs服务器共享目录的ip范围,这里表示限制ip地址和主机同一个网段。 l sync表示同步写入存储器 l no_root_squash表示客户机享有主机的root权限 修改了文件后,还需要在/目录下创建armfs文件夹,把权限改为777。 sudo chmod 777 /armfs 然后重启nfs服务使上面的配置生效。 3. 配置树莓派的ip 把树莓派和主机用网线连接。如果上面对ip地址作了限制的,在这里需要通过 sudo ifconfig eth0 169.254.8.100 来设置树莓派的ip地址。设置好后让树莓派和主机之间互ping一下,如果都能ping通,说明前面的设置应该正确。 4. 把共享文件挂载到树莓派上 在树莓派的终端中输入 mount –t nfs –o nolock 169.254.8.175: /armfs /mnt, 把pc上的/armfs 挂载到/mnt上。如果没有出错就表示成功了。 三、 编写测试程序 1. 把前面编译好的hello可执行文件放到/armfs中,在树莓派中输入./hello 2. 编写浮点测试程序float_test.c,测试浮点数的加减乘除。 #include void main() { float i = 3.14159; float j = 1.23451; float add, sub, mul, dif; add= i + j ; sub = i - j ; mul = i * j ; dif = i / j ; printf("i+j= %f\n", add); printf("i-j= %f\n", sub); printf("i*j= %f\n", mul); printf("i/j= %f\n", dif); } |
用 arm-linux-gcc –o float_test float_test.c 来编译,编译后的float_test放到/armfs中去,在树莓派的/mnt目录下,执行./float_test 转自:http://blog.sina.com.cn/s/blog_9ea6edb90101c8xe.html
|