0、前言
参考资料:
《野火 Linux 基础与应用开发实战指南基于 i.MX6ULL 系列》PDF 第24章
参考视频:
https://www.bilibili.com/video/BV1JK4y1t7io?p=26&vd_source=fb8dcae0aee3f1aab700c21099045395
注意,一定要记得把虚拟机的网络适配器设置为桥装模式,需要下载东西的时候改回NAT模式
0.1 GLIBC_2.34 not found
虚拟机的版本太高了:一直解决不了,搞个18版本的应该就好了???
解决过程:
开发主机(我的台式电脑的虚拟机VMware的ubuntu),ubuntu下载回18.04低版本,重新运行上面的步骤,成功!!
注意,一定要记得把虚拟机的网络适配器设置为桥装模式,需要下载东西的时候改回NAT模式
0.2 开发板debian的/mnt里没文件
/mnt里面没有找到文件,是因为开发主机的网络适配器没有改回桥装模式!
改回来以后,在主机打ifconfig,然后再开发板写:
sudo mount -t nfs 192.168.1.100:/home/embedfire/workdir /mnt
再cd~ 再cd回/mnt ,就出现啦
1、在 ARM 板上运行 x86_64 平台的程序
ARM 板是野火的开发板,x86_64 平台是电脑主机。
先在开发板写挂载指令:
sudo mount -t nfs 192.168.1.100:/home/embedfire/workdir /mnt
//将192.168.1.104是开发主机的ip(NFS服务端IP),因此该指令将开发主机的“/home/embedfire/workdir”地址挂载到开发板的“/mnt”
2、安装并使用交叉编译工具链
2.1 使用 APT 安装 ARM-GCC
2.2 交叉编译 Hello World 程序
P319
虚拟机的版本太高了:一直解决不了,搞个18版本的应该就好了???
解决过程:
开发主机(我的台式电脑的虚拟机VMware的ubuntu),ubuntu下载回18.04低版本,重新运行上面的步骤,成功!!
注意,一定要记得把虚拟机的网络适配器设置为桥装模式,需要下载东西的时候改回NAT模式
3、如何选择编译器
4、编译器类型对程序的影响
4.1 安装软浮点编译器
4.2 运行软浮点动态编译的程序
4.3 开发板的 glibc 库类型
/mnt里面没有找到文件,是因为开发主机的网络适配器没有改回桥装模式!
改回来以后,在主机打ifconfig,然后再开发板写:
sudo mount -t nfs 192.168.1.100:/home/embedfire/workdir /mnt
再cd~ 再cd回/mnt ,就出现啦
是 readelf -h /lib/libc.so.6
4.4 运行软浮点静态编译的程序