打印
[其他ST产品]

JSON C 库在 RTOS 中不起作用。

[复制链接]
128|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yunfu1117|  楼主 | 2025-4-14 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在 stm32cubeide 中开发 json-c 和 cJSON 库,在没有 RTOS 的情况下能正常工作。但是当我切换到 RTOS 时,两个库都不起作用。并且提示不同的错误。
json-c :- 当我调用“json_object_object_add”函数时,程序卡在 syscall.c 中_exit Status 时。
cJSON :- 没有卡在任何地方,但无法创建任何对象。显示 null 对象。

使用特权

评论回复
沙发
jcky001| | 2025-4-14 15:23 | 只看该作者
json-c 库在裸机环境中可能没有正确处理错误路径。检查内存分配。

使用特权

评论回复
板凳
elephant00| | 2025-4-14 15:24 | 只看该作者
检查 cJSON_CreateObject() 调用是否返回 NULL。

使用特权

评论回复
地板
cr315| | 2025-4-14 18:00 | 只看该作者
修改 json-c 的源代码,避免在错误路径中调用 _exit()。

使用特权

评论回复
5
两只袜子| | 2025-4-14 18:23 | 只看该作者
如果堆内存不足,可以考虑使用静态内存分配或内存池来管理 cJSON 对象。

使用特权

评论回复
6
laocuo1142| | 2025-4-14 19:00 | 只看该作者
如果 json-c 或 cJSON 支持调试日志,启用日志记录以帮助定位问题。

使用特权

评论回复
7
powerantone| | 2025-4-14 21:00 | 只看该作者
检查库的线程安全性或者实现适当的同步机制。

使用特权

评论回复
8
stormwind123| | 2025-4-14 21:23 | 只看该作者
用最新版本的 json-c 和 cJSON 库。

使用特权

评论回复
9
probedog| | 2025-4-14 22:00 | 只看该作者
可以考虑使用其他更轻量级或更适合 RTOS 环境的 JSON 库,如 parson 或 Jansson。

使用特权

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

本版积分规则

10

主题

11

帖子

0

粉丝