【野火i.MX6NULL开发板】ARM-GCC 和开发板的 HelloWorld(ubuntu主机和野火开发板debian交叉编译)、开发板的/mnt里没文件

发布时间:2024年01月16日

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 运行软浮点静态编译的程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/m0_48808835/article/details/135572430
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。