RT-Thread使用过程问题记录

老大给我个东西的成熟的裸机代码,让我修改优化,好吧,那就加个RTOS吧,uC/OS收费…RT-Thread正火,那就选择RT-Thread吧。昨天搞着搞着出现了问题,
在这里插入图片描述
RT-Thread使用过程问题记录_第1张图片
Thread_IPC_Init()函数用来创建信号量的,发现一创建信号量那些程序就卡死了不断重启(开了看门狗),因为是成熟的东西,只有研发样机,无调试接口,没法用仿真器debug。那只能一点一点试这样调试了。
最后发现原因竟然是RT_TICK_PER_SECOND的问题,默认是1000的,改成100后程序就没有崩溃了。这究竟是啥原因?难道是切换太快?

RT-Thread使用过程问题记录_第2张图片
6月14好,今天继续瞎几把搞,将RT_TICK_PER_SECOND改回默认的1000,RT-Thread使用过程问题记录_第3张图片
发现给Thread_IPC_Init()函数加入临界区保护就程序就不会卡死不断重启了。原因可能是设置为1ms的时钟节拍太快了打算了信号量的创建导致程序卡死?

你可能感兴趣的:(RT-Thread,杂的文)