arm64上面运行armhf程序

arm64屏上跑armhf程序

起因:我们之前给客户的屏是armhf的,由于性能问题需要升级,现在提供给他们的屏是arm64的。

客户之前在armhf环境开发时花钱买了armhf版本的第三方的静态库使用,

现在升级用arm64的话又得花钱买arm64版本的库(据说挺贵的客户不想重新花钱买),

问我们能不能在arm64环境继续使用armhf版本的第三方静态库。

思路:由于arm64是兼容armhf的,即armv8兼容armv7,所以理论上客户可以直接编译它们的程序直接在arm64上的屏上运行,类似windows一样64位的兼容32位的。

所以我们直接还是使用原来的armhf编译链编译程序并连接第三方静态库,

然后放到我们arm64的屏上面跑,结果报错no find Directory,根本跑不起来。

排查原因:我们屏上面没有armv7的环境和动态库(好比win64位的电脑只有64位的库没有32位的库)

解决办法:

  1. 使用静态编译,即编译的时候加上-static 参数, 即armhf-linux-g++ -static main.c -lotherdrm ,缺点编译出来的可执行程序很大,但是不需要依赖其他动态库
  2. 将armv7环境sys-rootfs拷贝到arm64上面,准备一套armv7的环境,缺点整套armv7环境占用空间较大磁盘空间,所以最终否决,决定使用静态编译方案
相关推荐
eggcode1 天前
【Qt学习】Linux(ARM架构)在线安装Qt6.x
linux·qt·学习·arm
amuzhichuang3 天前
阿姆智创ARM-3568A工控核心板,协作机械臂驱动智造升级
arm·瑞芯微·工控核心板
凉、介5 天前
深入理解 ARMv7-A|异常/中断处理
笔记·学习·嵌入式·arm
谷公子的藏经阁6 天前
Arm Cortex-M programmer model
arm·cpu·architecture·cortex-m
楼兰公子9 天前
嵌入式 Linux U-Boot 完整启动流程深度解析
arm·uboot
底层开发智库10 天前
无需硬件开发板,从零构建并运行ARM aemfvp-a-rme软件栈
arm开发·arm
黑猫学长呀13 天前
存储宝典第1篇:Nand SCA是什么
arm开发·arm·nand·存储芯片·nandflash·onfi
凉、介13 天前
Armv8-A virtualization 笔记 (二)
笔记·学习·嵌入式·arm·gic
代码讲故事14 天前
mac电脑上docker突然无法运行,不停的出现弹框,“com.docker.vmnetd”将对你的电脑造成伤害。附国内不同芯片高速下载地址,下载直接运行。
macos·docker·容器·arm·mac·intel·下载
你刷碗15 天前
嵌入式UART printf 数据处理方法
c语言·单片机·嵌入式硬件·arm