//task
》使用task可以使用到更多的排程特性
- task可以處於block狀態等待event出現
- 啟用其他層級的**處理事件
》任務的數量和狀態可以在執行中動態的改變
》任務的優先順序可以動態改變
》排程機制由多工核心提供
- 優先等級
task
邏輯完備的程式塊包含如下元件
- 函式指標,定義程式塊的開始執行入口
- 參數列
- 優先順序
-獨一無二的任務堆疊(作用是儲存本地變數資料,巢狀函式呼叫)
中斷執行在系統堆疊中
上圖可以看出,乙個task包含了五個塊 fxn是c**,env,優先順序,堆疊,任務名。
task與swi的不同點
圖顯然的展示了swi和task的區別,swi不存在block狀態,一旦被排程必須執行完才肯罷休。而task是可以block的。
task的幾種狀態
task如果處於running狀態,那麼這個任務將會被排程器排程,排程器會給到他時間片去執行,如果task被訊號量卡住了,那就是處於block狀態,等待乙個訊號量post使得task從block回到ready狀態,在running狀態的task可以被優先順序更高的task打回ready狀態!
小結:簡單講了一些關於task的幾個狀態,task與swi的區別。
CC2640 建立連線(connection)
1 連線圖示 根據藍芽spec規定,advertiser傳送完乙個廣播包之後150us t ifs advertiser必須開啟一段時間的射頻rx視窗,以接收來自observer的資料報。observer可以在這段視窗時間裡給advertiser傳送連線請求。注 圖中m 代表手機,s 代表裝置b m...
CC2640 射頻前端電路匹配設定
cc2640不同的射頻前端電路需要軟體不同的設定。射頻前端電路可分單端 差分,和是否使用內部bis 在ble user config.h裡面設定 下面這個rf fe mode and bias 可以配置為 define rf fe differential 0 define rf fe single...
第三章 初始CC2640藍芽協議棧
藍芽協議棧由兩部分組成 控制端和主機。控制端和主機遵循標準藍芽基本傳輸速率或者增強型資料傳輸速率。這兩部分是單獨進行工作的。所有的配置檔案和應用都是在 gap和 gatt 層上進行的。物理層 phy 是一種頻寬自適應跳頻gfsk 高斯頻移鍵控 工作在未授權的全球都允許使用的2.4ghz ism 工業...