环境为Ubuntu 14.04 LTS
一、准备交叉编译工具
xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
官网需要认证lisence才能下,网上搜索一下
二、安装交叉编译工具
1、开启root登录
Ubuntu无法直接登录root(对开发人员简直扯淡…),我们首先要打开root登录界面
sudo passwd root
sudu su
vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
在尾部加入
greeter-show-manual-login=true
重启后我们可以看到一个登录选项,使用root用户登录就可以了。
2、安装x86的32位开发库
sudo apt-get install ia32-libs ia32-libs-gtk
因为系统的原因,会提示
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
现在没有可用的软件包 ia32-libs,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
可是下列软件包取代了它:
lib32z1 lib32ncurses5 lib32bz2-1.0
所以我们按照提示安装lib32z1等库来替代
sudo apt-get install lib32z1
dpkg-reconfigure -plow dash
3、安装交叉编译工具
直接运行xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
完毕后配置交叉编译环境
vi /etc/bash.bashrc
添加以下命令
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/:$PATH
source /etc/bash.bashrc
使设置生效
4、验证交叉编译环境
运行
arm-xilinx-linux-gnueabi-gcc -v
查看编译器信息
5、编译程序
在编译时加入-lnet -lpcap,在移植到arm上的时候,将/usr/local/lib/目录下的libnet.so、libpcap.so以及相关库拷贝到arm下/usr/lib/目录下,交叉编译后在arm运行程序。