嵌入式爱好者

静态编译支持不同编译链

2023-11-24 14:18| 发布者: 会飞的大灰狼| 查看: 127| 评论: 0

类目: 知识库  >  T507系列产品     文档编号: 1203

问题来源:T507需要硬浮点编译链,目前制作文件系统的编译链不支持硬浮点计算,需要更换编译链,
这里我贴出了linaro的下载链接,有需要的自行下载即可Linaro Releases  
gcc-linaro-7.4.1-2019.02-x86_64_armv8l-linux-gnueabihf.tar.xz
由于更换文件系统的编译链复杂且风险过大,这里使用静态编译来脱离文件系统的限制
./armv8l-linux-gnueabihf-gcc -static -mfloat-abi=hard
-mfloat-abi=hard是调用硬浮点编译的参数
在编译带有浮点参数的函数时,有三种可能的编译选项: -mfloat-abi=soft -mfloat-abi=softfp -mfloat-abi=hard "soft"选项:表明不使用FPU硬件,而是使用GCC的整数算术运算来模拟浮点运算。 "softfp"选项:表明要使用FPU硬件来做浮点运算,只是,函数的参数传递到整数寄存器中,然后再传递到FPU中。 "hard"选项:表明要使用FPU硬件来做浮点运算,并且,函数的参数直接传递到FPU的寄存器中。
静态编译完成就可以在原文件系统中运行,且运行速度脚软浮点有提升
需要注意的是静态编译
1.程序体积会相对大一些
2.如果静态库需要更新,程序需要重新编译
3.如果多个应用程序使用的话,会被装载多次,浪费内存。
所以如果没有硬性的需求,尽量不替换编译链。

已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 12:02

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部