打印
[单片机芯片]

CH32V203 FreeRTOS 浮点输出问题

[复制链接]
1229|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 | 只看该作者
也是,估计也没有经过严格的测试就匆匆上马,国人通病!要学人家也学全一点,好多东西全靠猜!

使用特权

评论回复
5
WCHTech2| | 2022-12-15 11:16 | 只看该作者
您好,在FreeRTOS下进行浮点计算时,需要将任务堆栈设置为8字节对齐,此外还需要将“freertos_risc_v_chip_specific_extensions.h”中的ARCH_FPU宏打开,该宏的用途是在任务切换时对FPU寄存器进行压栈和弹栈处理。若不打开该宏,浮点寄存器不会被压栈,使用的值是之前计算a时调用FPU寄存器的值。下图为使用FreeRTOS时浮点计算的一些配置方式。

使用特权

评论回复
6
ap0405209|  楼主 | 2022-12-15 12:22 | 只看该作者
WCHTech2 发表于 2022-12-15 11:16
您好,在FreeRTOS下进行浮点计算时,需要将任务堆栈设置为8字节对齐,此外还需要将“freertos_risc_v_chip_ ...

谢谢你的回应,我稍后会按照上述配置再进行测试,希望可以把问题解决,也希望官方可以在这些使用细节上出份文档,让开发者或者使用者少走弯路,毕竟使用者怕的就是遇到这些细节问题不知道如何入手处理,花更多时间去找出问题,而且不一定找到情况下,那是最痛苦的。

使用特权

评论回复
7
tototm| | 2022-12-17 22:07 | 只看该作者
全靠猜!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

40

帖子

1

粉丝