ucos调试经验

1、中断里不能创建任务、删除任务,若需要在中断里创建任务,可以在中断里利用邮箱或消息队列来发送到另一个任务,然后在另一个任务里进行创建。

2、使用邮箱或消息队列时,若在中断里向另一个任务发送信号,中断里所执行的程序不能过长,若需要处理大量数据,那么最好把处理程序放在一个任务里,然后通过邮箱或队列来发送信号。若中断里放了大量处理数据,这时使用邮箱发送信号,有可能信号会丢失。ucos需要中断尽量简洁,耗时尽量短。

3、检测堆栈使用情况,可以使用OSTaskStkChk();另外可以参考工程目录下的htm文件,在工程目录下搜索下就能找到,这个文件里包含了堆栈的使用信息,以及所达到的深度。实际设置堆栈时建议利用率在50%~80%。

你可能感兴趣的:(经验)