[单片机芯片] CH32V203 FreeRTOS 浮点输出问题

[复制链接]
1699|6
 楼主| ap0405209 发表于 2022-12-12 16:33 | 显示全部楼层 |阅读模式
本帖最后由 ap0405209 于 2022-12-12 16:55 编辑

CH32V203 FreeRTOS 串口1使能printf浮点输出问题会导致异常,希望官方和坛友能解决此问题, 串口1不使能printf浮点输出程序正常使用。

事实证明,官方的MounRiver Studio提供的FreeRTOS模板很多bug!

lanmanck 发表于 2022-12-12 17:22 | 显示全部楼层
有没有rtthread啊?都被制裁了还用美国东西,差评
yangxiaor520 发表于 2022-12-12 19:27 来自手机 | 显示全部楼层
自己重新下载一个freertos的源码包吧
tototm 发表于 2022-12-13 20:47 来自手机 | 显示全部楼层
也是,估计也没有经过严格的测试就匆匆上马,国人通病!要学人家也学全一点,好多东西全靠猜!
WCHTech2 发表于 2022-12-15 11:16 | 显示全部楼层
您好,在FreeRTOS下进行浮点计算时,需要将任务堆栈设置为8字节对齐,此外还需要将“freertos_risc_v_chip_specific_extensions.h”中的ARCH_FPU宏打开,该宏的用途是在任务切换时对FPU寄存器进行压栈和弹栈处理。若不打开该宏,浮点寄存器不会被压栈,使用的值是之前计算a时调用FPU寄存器的值。下图为使用FreeRTOS时浮点计算的一些配置方式。
图片1.png
 楼主| ap0405209 发表于 2022-12-15 12:22 | 显示全部楼层
WCHTech2 发表于 2022-12-15 11:16
您好,在FreeRTOS下进行浮点计算时,需要将任务堆栈设置为8字节对齐,此外还需要将“freertos_risc_v_chip_ ...

谢谢你的回应,我稍后会按照上述配置再进行测试,希望可以把问题解决,也希望官方可以在这些使用细节上出份文档,让开发者或者使用者少走弯路,毕竟使用者怕的就是遇到这些细节问题不知道如何入手处理,花更多时间去找出问题,而且不一定找到情况下,那是最痛苦的。
tototm 发表于 2022-12-17 22:07 来自手机 | 显示全部楼层
全靠猜!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

40

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部