针对RTOS使用过程中的死机问题
(2009-03-19 08:10:43)
标签:
杂谈 |
a) 不能将系统滴答分配到不可屏蔽中断中。
b) 任何中断都不宜申请过大的RAM,所以在中断中使用到的变量最好在程序设计时就分配全局静态变量。
c) 在不可屏蔽中断中,必须直接按照裸机中断的方式进行现场保护和恢复,千万不要调用RTOS类型的保护与恢复,以免破坏RTOS关键变量,
a) 比如在复制代码时,变量忘了修改了或者函数忘了修改了。有些重复次多较多的代码,建议使用宏定义的方式。千万不要忘了,C语言的宏定义功能可是极其强大的哦。
b) 随着微控器的功能的加强,部件增多,硬件设计方便了,可是软件设计还是马虎不得滴。您是不是在部件调用之前忘了初始化了,或者调用方式欠佳。许多官方RTOS都有串口输出调试功能,一般都是以查询的方式调用串行接口,您是不是在将串口驱动初始化为中断方式之后,依然在调用原始的printf?如果没有改变查询方式,您是不是在多个任务中同时调用了printf?一般串口发送中断是发送缓冲区无数据时发生,那么在无数据发送时,有没有屏蔽掉该中断。