This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28377S: FreeRTOS 移植中的问题

Part Number: TMS320F28377S
Other Parts Discussed in Thread: C2000WARE

参考TI的官方移植的freeRTOS 库, 发现一个问题,定时器1 的中断执行任务时机切换的函数,如下图。 但实际上这个输入参数始终为pdFALSE, 相当于这个函数没有执行有效的内容? 这么设计的含义的是什么,为什么要添加这个函数? 

  • 方便指一下代码的具体路径吗?

  • 在C:\ti\C2000Ware_5_00_00_00\kernel\FreeRTOS\Demo\C2000_F28003x_C28x_CCS  路径下

  • FreeRTOS为了防止中断执行时间过长、程序陷入中断,进而影响其他任务的执行,所以让所有的中断ISR只起跳转的作用。

    比如task A正在运行,这时Timer1触发中断,我们并不会像裸机编程那样,直接在Timer1的ISR中进行相应的处理,而是在另一个任务、比如task Timer1中进行;Timer1 ISR的作用仅仅是跳转到task Timer1。

    ISR中的第一行实际上是创建了一个参数,用来唤醒更高优先级的任务,也就是ISR要跳转到的任务;

    第二行传递信号量给要跳转到的任务;

    第三行就是做上下文切换以及return from ISR。