高级会员

- 积分
- 943
- 金钱
- 943
- 注册时间
- 2015-11-24
- 在线时间
- 162 小时
|

楼主 |
发表于 2019-2-20 10:59:26
|
显示全部楼层
找到了官方说明:
Kernel Aware can be described as an ISR that makes use/calls to OS kernel services, such as semaphores,mutexes, flags, etc. The proper Handler implementation when using uCOS-III is shown in Listing 1.
void KA_ISR_Handler (void)
{
CPU_SR_ALLOC();
CPU_CRITICAL_ENTER();
OSIntEnter(); /* Tell OS that we are starting an ISR */
CPU_CRITICAL_EXIT();
/* HANDLE YOUR ISR HERE */
/* HANDLE YOUR ISR HERE */
OSIntExit(); /* Tell OS that we are leaving the ISR */
}
Non-Kernel Aware can be described as Fast ISRs, which do not require any kind of OS kernel service calls.
The proper handler implementation when using uCOS-III is shown below
void NKA_ISR_Handler (void)
{
/* HANDLE YOUR ISR HERE */
/* HANDLE YOUR ISR HERE */
} |
|