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.

[参考译文] TM4C1294KCPDT:TI/RTOS -上下文切换

Guru**** 2556030 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/871377/tm4c1294kcpdt-ti-rtos---context-switch

器件型号:TM4C1294KCPDT

https://e2e.ti.com/support/legacy_forums/embedded/tirtos/f/355/t/520700

本主题中提到了它  

任务被抢先
一个 Hwi
一个 Swi
-较高优先级的任务
此外、如果一个阻断调用被发出(例如 Task_sleep、Semaphore_pend 和信标不可用等)、一个任务将放弃处理器(运行环境切换到另一个任务)。

我想知道、例如、如果低优先级任务正在执行某种算法、并且没有进行分块调用、但高优先级任务已准备就绪、请运行; 假设这个应用中没有使用 Hwi 和 Swi、在哪种情况下、高优先级任务可以优先于低优先级任务?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     当高优先级任务变为不挂起时、一个较高优先级的任务将优先于较低优先级的任务。 例如、较高优先级的任务可能处于信标挂起状态。 一旦高优先级任务获得信标发布、它就准备好运行、并将优先于当前运行的低优先级任务。 或者较高优先级的任务在一段时间内处于睡眠状态。 在持续时间超时后、它将开始再次运行并优先于低优先级任务。  

     下面的 TI-RTOS 培训链接也应有助于您理解。  

    https://training.ti.com/sites/default/files/docs/TI_RTOS_Kernel_Workshop_Student_Guide_rev4.00.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles、

    感谢您的回答。

    后来我找到了另一个线程 https://e2e.ti.com/support/legacy_forums/embedded/tirtos/f/355/t/148254

    这就是我所理解的"只有在进行任何系统调用时才会发生上下文切换"和 w.r.t。我的问题中提到的情形、高优先级任务绝不会优先于低优先级任务。

    此致

    Abhijit