RTT的執行緒同步篇 異常管理

2021-09-28 18:15:29 字數 843 閱讀 6949

野火rtt第25章異常

2023年12月29日

10:47

一、中斷中使用rrt的ipc通訊機制。

異常分為同步異常和非同步異常。

中斷屬於非同步異常。

rtt建議在中斷中採用訊號量、訊息、事件來標記。

中斷相關的硬體:外設、中斷控制器、cpu。

中斷過程:外設產生中斷,中斷控制器設定優先順序等並向cpu傳送中斷訊號,cpu執行執行中斷。

二、中斷號:和外設相繫結、指示哪個外設。

中斷向量:中斷程式服務程式入口位址

中斷向量表:儲存中斷向量的表,在表中,中斷向量按照其中斷向量號的順序進行排列。

臨界段:不允許中斷打斷的**段、進入只是關中斷。

關閉中斷只是說不響應中斷,只是將中斷掛起,當開中斷的時候還會處理中斷。

中斷延時:中斷發生時刻到中斷程式開始執行時刻之間的時間,再加其他延時時間。即:

中斷延時=識別中斷時間+等待中斷開啟時間+關閉中斷時間。

四、中斷向量表stm32預設是在啟動檔案中定義也就是.s檔案中定義。

五、cortex -m系列和arm7 arm9的中斷機制不一樣,後者有個中斷統一入口,方便os管理,前者是已經固定了,有啟動檔案定義好了中斷向量表。

所以rtt在中斷上的使用和裸機一樣。

中斷2023年12月29日

10:49

1.中斷的重對映問題

cortex m系列微控制器核心,其啟動檔案.s檔案,定義了弱化的中斷服務程式入口,

使用者可以再定乙個同名的中斷服務程式入口來替換它,不定義也可以,那它執行的是預設的入口。

所以用不到的中斷可以不寫出來。

2.實時系統常用中斷,輪循系統採用輪循方式。

RTT執行緒管理篇 rtt執行緒恢復

rtt執行緒恢復,關鍵是第一步是有個 移除當前執行緒在任意表中的掛鉤。這個就厲害了,避免了重複恢復。比如我設定一定時間等待某個訊號量,等待時的操作 從就緒表中移除當前執行緒的掛鉤,將其掛到訊號量的阻塞鍊錶中。若等待時間到了,那就執行執行緒超時函式恢復當前執行緒 移除當前執行緒的掛鉤掛到的表,然後把它...

VS C 執行緒篇之執行緒同步

執行緒同步解決 不同執行緒函式的執行順序,進行執行緒協調。api dword winapi waitforsingleobject handle hhandle,物件控制代碼 thread event job mutex process semaphore waitable timer memory...

執行緒同步之mutex篇

原理 當乙個互斥物件不再被乙個執行緒所擁有,它就處於發訊號狀態。此時首先呼叫waitforsingleobject 函式的執行緒就成為該互斥物件的擁有者,此互斥物件設為不發訊號狀態。當執行緒呼叫releasemutex 函式並傳遞乙個互斥物件的控制代碼作為引數時,這種擁有關係就被解除,互斥物件重新進...