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环境占用空间较大磁盘空间,所以最终否决,决定使用静态编译方案
相关推荐
2035去旅行1 小时前
两核 CPU:CPU1 和 CPU2 是如何协同工作的?
嵌入式·arm·soc
奔跑的架构师2 天前
[A-51]ARMv9/v8-SCMI系统架构
linux·arm开发·架构·系统架构·arm
susplus2 天前
【Linux驱动开发】中断、工作队列及中断子系统详解
arm·中断·linux驱动开发·中断子系统
chu_bingzhi3 天前
ARMv8体系结构
arm
一直C5 天前
嵌入式 Linux 驱动开发学习笔记(三)设备树、GPIO子系统、中断与外设驱动实战
驱动开发·单片机·嵌入式硬件·嵌入式·arm·imx6ull
zbyyd6 天前
Linux字符设备驱动:LED驱动实战开发
linux·单片机·arm·驱动
祖力557 天前
驱动工程搭建与字符设备驱动框架
linux·运维·服务器·内核·arm·imx6ull·驱动
susplus7 天前
【Linux驱动开发】字符设备介绍 | LED灯驱动基本实现(自动申请设备号+手动添加节点)
arm·led驱动·linux驱动开发
gscsded8 天前
MCUboot裸机移植实战
单片机·嵌入式硬件·arm
想喝奶茶啾啾8 天前
AMBA CHI架构以及规范中使用的术语 翻译笔记(1)
笔记·arm·chi