老大给我个东西的成熟的裸机代码,让我修改优化,好吧,那就加个RTOS吧,uC/OS收费…RT-Thread正火,那就选择RT-Thread吧。昨天搞着搞着出现了问题,
Thread_IPC_Init()函数用来创建信号量的,发现一创建信号量那些程序就卡死了不断重启(开了看门狗),因为是成熟的东西,只有研发样机,无调试接口,没法用仿真器debug。那只能一点一点试这样调试了。
最后发现原因竟然是RT_TICK_PER_SECOND的问题,默认是1000的,改成100后程序就没有崩溃了。这究竟是啥原因?难道是切换太快?
6月14好,今天继续瞎几把搞,将RT_TICK_PER_SECOND改回默认的1000,
发现给Thread_IPC_Init()函数加入临界区保护就程序就不会卡死不断重启了。原因可能是设置为1ms的时钟节拍太快了打算了信号量的创建导致程序卡死?
RT-Thread使用过程问题记录
最新推荐文章于 2024-05-11 11:58:49 发布