1. 程式人生 > >powerpc_008_任務排程的簡單實現

powerpc_008_任務排程的簡單實現

       汽車電子實際的工程運用中用到的時間片輪轉模式的排程還是居多,而SPC5Studio中的一個便於OS移植的一個抽象層模組OSAL是可以提供部分模擬功能的。這是一個必選的模組,因此配置上的難度比較低,初始就基本配置好了。

       以下是初始的狀態:

       從上面的資訊可以看出,系統時鐘80M,OS的tick 1ms。此外,任務排程的中斷優先順序可以理解為4,按照我的理解其實這個可以設定為最低。

       先採用這種預設的方式來使用,如果滿足不了需求再進行功能修改。

       如果沒有提供這部分,通常我再實現的時候採用的是一個PIT的中斷來實現。在MCU的手冊中其實也有說到,推薦使用一個PIT來做OS的實現。其實,看一下這部分的程式碼就知道,這裡提供的介面也是通過PIT來實現的。以下是部分實現的介面:

       一個簡單的使用場景:如何實現100ms的週期性任務排程呢?一個簡單的實現例子如下:

執行效果:

       從上面的結果看,計數器實現了週期100ms的自增排程。