armel、armhf和arm64

本文介绍了ARM架构中armel与armhf的区别,主要聚焦于浮点运算的处理方式。armel采用普通寄存器传递参数,而armhf则利用FPU寄存器,使得后者在浮点运算性能上更优。同时,文章还提到了GCC编译器如何通过-mfloat-abi选项指定浮点运算的具体方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 这些名词是什么的缩写

1.1 armel

是arm eabi little endian的缩写。eabi是软浮点二进制接口,这里的e是embeded,是对于嵌入式设备而言。

1.2 armhf

是arm hard float的缩写。

1.3 arm64

64位的arm默认就是hf的,因此不需要hf的后缀。

2 armel和armhf的区别

它们的区别体现在浮点运算上,它们在进行浮点运算时都会使用fpu,但是armel传参数用普通寄存器,而armhf传参数用的是fpu的寄存器,因此armhf的浮点运算性能更高。

gcc编译的时候,使用-mfloat-abi选项来指定浮点运算使用的是哪种,soft不使用fpu,armel使用fpu,使用普通寄存器,armhf使用fpu,使用fpu的寄存器。

编译时,kernel、rootfs和app的指定必须一致才行。

 

转载于:https://www.cnblogs.com/hustdc/p/7224980.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值