一个良好的调试对于开发是及其重要的。“环境搭好了,基本就算入门了”,我是这样认为的。嵌入式开发免不了使用“交叉编译”的环境,以及开发主机与开发板之间的文件传输。
环境
开发主机:Arch-linux 64位
开发板Beaglebone black:Debian wheezy
交叉编译器(主机上安装)
依赖库(64位系统需要):
lib32-glibc, lib32-libstdc++5, lib32-ncurses, lib32-zlib
因为我的主机是64位的arch,对应的32位库应该就是这些了,其他系统参照:【EEWIKI】:http://eewiki.net/display/linuxonarm/BeagleBone+Black
编译器:
解压,设置环境变量,参照【EEWIKI】。可以将下面的环境变量写入~/.bashrc中:
CC=specified directory/gcc-linaro-arm-linux-gnueabihf-
我写了个hello.cpp,然后 ${CC}gcc hello.cpp -o hello,chmod +x hello,就得到了一个之后可以在 'bone 上运行的hello程序。
NFS共享服务
主机(Arch):
参照下面的链接,(1)安装nfs-utils,(2)修改/etc/exports,(3)sudo exportfs -ra(4)sudo systemctl start rpc-idmapd && sudo systemctl start rpc-mountd
https://wiki.archlinux.org/index.php/NFS_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
'bone(Debian):
参照下面的链接,(1)安装nfs-common,(2)mount -t nfs4 192.168.7.1(主机IP):/test /root/nfs/test
https://wiki.debian.org/NFS/Kerberos
至此,就可以在/mnt/music下看到共享的文件了。你可以将你之前编好的hello程序拷贝到共享目录,运行./hello:
root@arm:~/nfs/test# ./hello
Hello Beaglebone!