1、 文檔目標
指定MDK在工程構建過程中指定退出構建的退出代碼。
2、 問題場景
在構建過程中,通常會輸出工程中涉及的Error和Warning信息。但是對于一些系統(tǒng)錯誤不會進行報告。所以無法確認在構建過程中是否會出現(xiàn)一些系統(tǒng)錯誤。
3、軟硬件環(huán)境
1)、軟件版本:Keil MDK 5.38a
2)、電腦環(huán)境:Windows 11
3)、外設硬件:無
4、解決方法
1)、μVision在每個構建過程之后設置ERRORLEVEL來指示狀態(tài)。包含的ERRORLEVEL有(如圖4-1):
(1)、Level 1:警告
(2)、Level 2:報錯
(3)、Level 3:致命錯誤
(4)、Level 11:無法打開項目文件進行寫入
(5)、Level 12:在數(shù)據(jù)庫中找不到給定名稱的設備
(6)、Level 13:對于工程文件進行寫操作出錯
(7)、Level 15:讀取導入XML文件時出錯
(8)、Level 20:轉換項目出錯

圖4-1
2)、在window中定義的調(diào)試錯誤代碼有15999個(如圖4-2)。常見的幾個為:
(1)、Level 0 ERROR_SUCCESS:操作成功完成。
(2)、Level 1 ERROR_INVALID_FUNCTION:不正確的函數(shù)。
(3)、Level 2 ERROR_FILE_NOT_FOUND:系統(tǒng)找不到指定的文件。
(4)、Level 3 ERROR_PATH_NOT_FOUND:系統(tǒng)找不到指定的路徑。
(5)、Level 4 ERROR_TOO_MANY_OPEN_FILES:系統(tǒng)無法打開該文件。
(6)、Level 5 ERROR_ACCESS_DENIED:拒絕訪問
(7)、Level 6 ERROR_INVALID_HANDLE:無效的處理
(8)、Level 7 ERROR_ARENA_TRASHED:存儲控制塊被銷毀。

圖4-2
3)、在MDK中可以通過在對于單文件的配置中去設置退出條件。在Option窗口中,在Properties中的Stop on Exit Code中就可以設置退出代碼(如圖4-3)。
例如:Translator WarningsErrorFatal Error:就是對于這些等級的退出代碼進行解釋,確認具體情況。
Custom Exit Code >=4/5/6/78/9/10:如果出現(xiàn)了大于這個退出代碼等級的報錯,就會停止構建。

圖4-3