關於RTOS的筆記之二

2022-08-20 09:09:10 字數 1089 閱讀 4631

1、stm32中斷優先順序和freertos中斷優先順序的關係

freertos本身沒有優先順序,只能通過配置檔案進行管理stm32的硬中斷,比如設定中斷優先級數為16,freertos可管理的

優先級數大於5,則說明freertos只能遮蔽優先順序小於5的優先級數(數值大於5),優先順序大於5的級數則不能被遮蔽

2、stm32中斷優先順序與任務優先順序的關係

沒有任何關係,中斷優先順序永遠比任務優先順序要高。只有任務優先順序之間才有比較的可能。

3、任務優先順序怎麼分配

從高到低

irq 任務:irq 任務是指通過中斷服務程式進行觸發的任務,此類任務應該設定為所有任務裡面優先順序最高的。

高優先順序後台任務:比如按鍵檢測,觸控檢測,usb 訊息處理,串列埠訊息處理等,都可以歸為這一類任務。

低優先順序的時間片排程任務:比如 emwin 的介面顯示,led 數碼管的顯示等不需要實時執行的都可以歸為這一類任務。

實際應用中使用者不必拘泥於將這些任務都設定為優先順序 1 的同優先順序任務,可以設定多個優先順序,只需注意這類任務不

需要高實時性。

空閒任務:空閒任務是系統任務。

特別注意:irq 任務和高優先順序任務必須設定為阻塞式(呼叫訊息等待或者延遲等函式即可),只有

這樣,高優先順序任務才會釋放 cpu 的使用權,,從而低優先順序任務才有機會得到執行。

4、關於佇列

在沒有作業系統時,兩個應用程式進行訊息傳遞一般使用全域性變數的形式,但是在才做系統中用全域性變數來傳遞訊息就會

涉及到資源管理的問題,freertos提供了乙個叫做「佇列」的東西來完成任務與任務,任務與中斷之間的訊息傳遞。

佇列傳送在任務中有阻塞時間,在中斷中則不存在阻塞時間

5、全域性標誌可以用二值型訊號量來進行訊息傳遞,也可以用任務通知功能模擬二值型訊號量來進行訊息傳遞

6、空指標指沒有定位記憶體的指標,值為null(0),你使用new或者malloc申請了指標p,使用後delete或者free,

你必須將指標值設定為null,否則,p將成為乙個非法指標,後續**如果使用到該指標有可能會造成系統崩潰(記憶體不可以讀不可寫),

或者,破壞自身有效記憶體資料(釋放後,又在申請作為別的用途,恰巧系統分配了同一塊記憶體)

關於XFS之二

上次大致講了xfs的架構,這次談談具體在整個架構中,各個層次的角色 ap 應用,這裡指的是基於windows的應用 應用通過xfs管理器用api來和sp通訊。這些api大部分都能以 同步 管理器讓應用等待直到api的函式執行完成 或 非同步 應用馬上取回控制權,同時函式並行執行 的方式呼叫。管理器在...

python筆記之二

2.使用python實現http連線 其實使用python實現http連線的方法還是十分簡單的。比如說,我們不要求什麼,僅僅只需要獲取內容時,我們可以這樣的書寫 但是對實際應用來說,這個簡單的句子也是不能夠滿足我們各式各樣的開發需求的。比如說,我們需要user agent redirects gzi...

SVC筆記之二

對於pdf提出的糾正漂移的三種方法,其第一種是在殘差支路上新增補償。可以證明,高精度環路方程變為 dh,n fn qh fn rn 1 dh,n 1 fn 1 d rn 1 dh,n 1 fn 1 而低精度環路方程為 dl,n fn ql fn rn 1 dh,n 1 fn 1 d rn 1 dl,...