EIDE [Builder Options]下[Global Options]说明

EIDE [Builder Options]下[Global Options]说明


ARM/Thumb Mode — Thumb Mode

  • 使用 Thumb 指令集(16位压缩指令)

  • Cortex-M 系列(如你的 N32G430)只支持 Thumb/Thumb-2,必须选这个

  • 选 ARM Mode 会编译失败


Thumb Interwork

  • 允许 ARM 指令和 Thumb 指令**混合调用**

  • Cortex-M 不需要


Hardware floating-point ABI

  • <span data-type="code">soft</span>:纯软件模拟浮点,最慢

  • <span data-type="code">softfp</span>:用硬件FPU计算,但函数调用用软件ABI传参,兼容性最好

  • <span data-type="code">hard</span>:最快,但库必须全部用 hard 编译,否则链接报错

  • N32G430 /STM32F4这种有 FPU的,<span data-type="code">softfp</span> 是稳妥选择,但如果不调用别人编译好的lib,可以使用hard


Output debug information

  • 生成调试符号(.elf 里含地址/变量名映射)

  • 调试阶段必须开,量产时可关掉缩小固件体积


Other Global Options

--specs=nosys.specs --specs=nano.specs
选项 作用
​<span data-type="code">--specs=nosys.specs</span> 用**空桩函数**替代系统调用(_write/_read等),裸机必须加,否则链接报”undefined reference to _sbrk
​<span data-type="code">--specs=nano.specs</span> 使用 **newlib-nano**,精简版 C 库,printf 体积大幅减小,嵌入式推荐

⚠️ –specs=nano.specs带来的问题

​<span data-type="code">--specs=nano.specs</span> 下的 printf **默认不支持 %f 浮点格式化**,如果你的日志里有打印浮点数,需要加:

-u _printf_float

否则浮点日志会输出空或乱码