STM32
登录
直播中
刘军
7年用户
1396经验值
私信
关注
[问答]
为什么在CLion开发stm32下重定向printf却导致浮点型数据无法输出呢
开启该帖子的消息推送
STM32
浮点
为什么在CLion开发
STM32
下重定向printf却导致浮点型数据无法输出呢?有哪几种解决办法呢?
回帖
(1)
李皓圳
2021-12-2 14:56:12
使用CLion开发stm32的情况下,重定向printf后,只能格式化字符串和整数输出,浮点型数据无法输出,根本原因是eabi 编译器为了节省空间,删减了一部分代码
方法一:
打开CMakeLists.txt,找到
就会发现其中有一个:-specs=nano.specs 这个参数的目的就是使用一个较小的库来代替,如果把这个删掉,然后重新加载cmake,
因为cmake文件有缓存,所以先清除缓存
这样的话,发现内存占用达到了59.2% ,之前占用时19%左右,所以这种方法不是优先考虑
方法二:
打开CMakeLists.txt,
在此处最后加上-u _printf_float,标识仍然使用删减库,但是浮点型输出例外.然后仍然和上面一样操作,先清除cmake缓存进行加载,然后重新编译
这次变成了34.28,虽然相比最开始增加了这么多,但是为了输出浮点型也没办法
使用CLion开发stm32的情况下,重定向printf后,只能格式化字符串和整数输出,浮点型数据无法输出,根本原因是eabi 编译器为了节省空间,删减了一部分代码
方法一:
打开CMakeLists.txt,找到
就会发现其中有一个:-specs=nano.specs 这个参数的目的就是使用一个较小的库来代替,如果把这个删掉,然后重新加载cmake,
因为cmake文件有缓存,所以先清除缓存
这样的话,发现内存占用达到了59.2% ,之前占用时19%左右,所以这种方法不是优先考虑
方法二:
打开CMakeLists.txt,
在此处最后加上-u _printf_float,标识仍然使用删减库,但是浮点型输出例外.然后仍然和上面一样操作,先清除cmake缓存进行加载,然后重新编译
这次变成了34.28,虽然相比最开始增加了这么多,但是为了输出浮点型也没办法
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
浮点
使用
CLion
开发
stm32
的情况下
浮点
型
数据
无法
输出
怎么解决?
2021-12-01
807
为什么使用IAR
开发
STM32
发现
无法
通过
printf
重定向
到串口打印出
浮点
数
呢
2021-12-02
1788
串口(USART)
输出
浮点
型
数据
该怎样去修改
呢
2021-12-02
1008
如何在
STM32
CubeIDE实现
printf
重定向
呢
2021-12-02
1776
怎样去解决sw4
stm32
环境
下
遇到
重定向
完成后
printf
没有
输出
的问题
呢
2021-12-02
1108
如何
重定向
printf
输出
到串口
输出
呢
2021-12-02
829
怎样去解决
在
gcc环境
下
printf
输入
输出
重定向
的问题
2021-12-14
3489
如何对
printf
函数进行
重定向
呢
2021-12-01
1407
如何对
printf
函数进行
重定向
呢
2022-01-27
1141
如何去实现sw4
stm32
串口
重定向
呢
2021-12-02
645
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分