码迷,mamicode.com
首页 > 其他好文 > 详细

FreeRTOS - 中断使用注意

时间:2017-05-22 01:22:42      阅读:664      评论:0      收藏:0      [点我收藏+]

标签:rtos   任务   没有   系统   中断   有用   程序   ror   设置   

注意点:
1:首先要将中断的嵌套全部设置为抢占优先级。
2:将freertos系统内核中断(configKERNEL_INTERRUPT_PRIORITY)的优先级设置成最低。
3:将freertos的最大系统调用中断优先级(configMAX_SYSCALL_INTERRUPT_PRIORITY)设置为合适的优先级,比如11。
4:如果有用户中断函数调用到freertos提供的系统函数,一定要使用带FromISR的freertos提供的系统函数,并且这个用户中断的优先级一定要在configKERNEL_INTERRUPT_PRIORITY和configMAX_SYSCALL_INTERRUPT_PRIORITY的优先级之间,比如FREERTOS中的优先级数值设定的参数是configMAX_SYSCALL_INTERUPT_PRORITY。默认值是5,所以要想在中断中使用操作系统函数需要将中断的优先级设置的大于等于5

(原因分析:

1、执行带FromISR的FreeRTOS提供的系统函数会进入临界区,屏蔽了任务的切换,否则有高优先级的任务调用了这个系统函数,但这个系统函数的使用资格被用户中断函数霸占(低优先级),高优先级任务因为得不到操作这个系统函数的资格而被阻塞,就好像高优先级任务不能打断低优先级任务

2、如果用户中断的优先级高于configMAX_SYSCALL_INTERRUPT_PRIORITY,还调用系统函数,由于系统被此用户中断打断而不能正常运行,会导致程序出错(猜测)


5:其他没有调用到freertos提供的系统函数的中断的优先级没有特别要求。

FreeRTOS - 中断使用注意

标签:rtos   任务   没有   系统   中断   有用   程序   ror   设置   

原文地址:http://www.cnblogs.com/god-of-death/p/6886823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!