CC2640開發記錄3 TI RTOS TASK

2021-09-19 14:14:09 字數 910 閱讀 3983

//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 工業...