ATSAMV71Q21B基于Microchip Studio以及ASF4.0架构使用printf打印float类型
0. 问题现象
使用Microchip Studio和ASF4.0搭建ATSAMV71Q21B开发板,使用printf打印float类型时,无法输出
1. 软硬件平台
- MCU: ATSAMV71Q21B
- IDE: Microchip Studio 7.0
- 软件架构: ASF4.0
- 编译器: arm-none-eabi-gcc 14.2.Rel1
2. 编译器链接-u _printf_float

3.添加-u _printf_float

4.打印测试,串口输出float类型数据


5.虽然编译使用了-specs=nano.specs,但是目前来,新版的精简库内部并非完全剥离了浮点打印的代码,而是通过链接器优化默认不包含这些代码。当加上 -u _printf_float 后,强制要求链接器保留 float 打印相关的符号,从而使得 printf 能够输出 float 类型。
