ucos在中断中有 OSIntEnter(), OSIntExit()这两个函数,freertos有相应的函数吗?
如题 不需要,ucos的这种是为了实现中断多级嵌套和退出中断时,没有中断嵌套,即最后一级中断的情况下根据需要才执行任务切换。对于M3/M4内核中断嵌套已经做的很好了。在FreeRTOS中没有调用其API,什么都不用加。其实uCOS也可以这样做的,但是为了所有代码的统一,加上为好。 明白了 eric2013 发表于 2016-2-20 11:31
不需要,ucos的这种是为了实现中断多级嵌套和退出中断时,没有中断嵌套,即最后一级中断的情况下根据需要才 ...
在FreeRTOS中没有调用其API,什么都不用加。其实uCOS也可以这样做的
对于这个问题,以前在407做的一个项目,USB挂载U盘,会出现跑飞的情况,后面发现,中断函数没有加OSIntEnter ,加上去之后就好了。。。
现在看到你这回答,我都担心我的代码还有问题了 eric2013 发表于 2016-2-20 11:31
不需要,ucos的这种是为了实现中断多级嵌套和退出中断时,没有中断嵌套,即最后一级中断的情况下根据需要才 ...
UCOS中感觉这个OSIntEnter和OSIntExit完全没必要吧。PendSV的优先级是最低的,即使不是在最后一级中断中调用了相关API进行任务切换,也不会打断当前中断啊,所以根本不需要调用OSIntEnter和OSIntExit shibinjie 发表于 2020-6-9 09:49
UCOS中感觉这个OSIntEnter和OSIntExit完全没必要吧。PendSV的优先级是最低的,即使不是在最后一级中断中 ...
其实不写,没啥影响。
现在最新版的uCOS全家桶修改成受uCOS控制的中断和不受uCOS控制的中断,不受控制的可以不用写了。 eric2013 发表于 2020-6-9 10:45
其实不写,没啥影响。
现在最新版的uCOS全家桶修改成受uCOS控制的中断和不受uCOS控制的中断,不受控制 ...
就是那个Kernel Aware和Non-Kernel Aware咯。话说不受控制的中断里面可以调用OS的API吗,比如带POST的API shibinjie 发表于 2020-6-9 12:49
就是那个Kernel Aware和Non-Kernel Aware咯。话说不受控制的中断里面可以调用OS的API吗,比如带POST的API
不受控制的,不可以调用API,本意是这样的。 eric2013 发表于 2020-6-9 12:52
不受控制的,不可以调用API,本意是这样的。
硬汉兄看源码 不受控的中断 调用POST这些其实没啥事啊 pendsv中断 反正优先级最低。 受控中断只会在最后一次中断退出的时候调用OS_Sched,不受控的可能每次都会调用OS_Sched,OS_Sched()多调用几次也没影响把,只是找出最高优先级的就绪任务的控制块然后触发pendsv中断。 dyhfaily 发表于 2020-6-22 11:44
硬汉兄看源码 不受控的中断 调用POST这些其实没啥事啊 pendsv中断 反正优先级最低。 受控中断只会在最 ...
主要是想通过不受控的中断实现0中断延迟。 eric2013 发表于 2020-6-22 17:05
主要是想通过不受控的中断实现0中断延迟。
老哥 可否详细点 我没听懂 拜托了:Q:loveliness: dyhfaily 发表于 2020-6-22 17:27
老哥 可否详细点 我没听懂 拜托了
专门搞出一个不受控的中断优先级出来,本意就是实现0中断延迟,这里的实现方法就是基于BASEPRI寄存器实现,通过这个寄存器可以仅开关受控中断,而不会开关不受控的中断,这样这些不受控的中断就可以随时响应,是0中断延迟。 eric2013 发表于 2020-6-23 00:19
专门搞出一个不受控的中断优先级出来,本意就是实现0中断延迟,这里的实现方法就是基于BASEPRI寄存器实现 ...
这个0中断的意思啊 懂了
页:
[1]