yanxp 发表于 2011-3-17 09:38:49

FreeRTOS的中断函数以及使用heap_2,函数pvPortMalloc,vPortFree是否可以中断函数?

FreeRTOS的中断函数分两类:
第一类是可以调用os的api函数的,这类中断优先级要低于
configMAX_SYSCALL_INTERRUPT_PRIORITY;
第二类是不能调用os的api函数的,这类中断优先级要高于configMAX_SYSCALL_INTERRUPT_PRIORITY,可以中断嵌套第一类中断函数,在cortex-m3的移植,调用portDISABLE_INTERRUPTS,portENTER_CRITICAL也不会屏蔽掉这类中断。呵呵呵,实时要求最高的可以放到此类中断处理,不受os影响。

不知道这样是否正确?

还有一个问题:
FreeRTOS使用heap_2,函数pvPortMalloc,vPortFree是否可以在第一类中断函数使用?
使用FreeRTOS的queue,配合pvPortMalloc,vPortFree可以实现ucos中消息队列(加osmem)的功能。
页: [1]
查看完整版本: FreeRTOS的中断函数以及使用heap_2,函数pvPortMalloc,vPortFree是否可以中断函数?