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环境占用空间较大磁盘空间,所以最终否决,决定使用静态编译方案
相关推荐
zz_lzh5 天前
arm版AI牛马:armbian(rk3588)设备部署openclaw
arm开发·人工智能·arm
v_JULY_v7 天前
ARM——用于长时序操作的优势奖励建模:采用三态标注策略(前进/后退/停滞),实现对相对优势的估计(含SARM详解)
arm·优势奖励建模·三态标注策略·相对优势的估计·sarm·阶段感知奖励建模·ra-bc
徐某人..8 天前
基于i.MX6ULL平台的智能网关系统开发
arm开发·c++·单片机·qt·物联网·学习·arm
程序员黄老师10 天前
一分钟了解ARM发展史与全系列产品
arm开发·嵌入式硬件·arm
同勉共进11 天前
并发编程系列(二)—— store, load 与 RMW
c++·arm·并发编程·x86·store·load·rmw
誰能久伴不乏14 天前
SPI总线通信协议基础与ICM20607传感器驱动开发指南
arm开发·c++·驱动开发·嵌入式硬件·arm
Mike_detailing14 天前
资源分享:VMware-Fusion-25H2u1 和 arm版本win11
macos·arm·虚拟机
独小乐18 天前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm
独小乐20 天前
018.使用I2C总线EEPROM|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm·信息与通信
咸鱼不用加盐22 天前
HC32F460 USB CDC通信异常:非对齐访问异常排查
单片机·arm·c·cm4