基於uds的bootloader開發中的意外情況
1、flash擦除過程中意外斷電。
此時,可能導致flash不能被讀,一旦對其進行讀操作后會陷入exception。
bt中需要提供一種防止flash變磚的機制。
2、uds-bt運行中(正在執行實質性任務)意外斷電
需要防止app意外被執行。
3、uds協議棧缺陷
4、上位機流程未按照符合uds的刷寫流程進行。
刷寫流程需要不多不少。防止多余的動作導致刷寫異常。
以下是開發中需要考慮的問題:
對uds的自動化測試用例。
對uds的can報文的自動解析。
不同的單片機的從一個完整的bt跳轉到一個完整的app的機制是不太一樣的。初始化程序一般都會被再次運行。中斷的處理和中斷的安裝需要一定技巧,否則可能會陷入異常。
由於從bt跳到app,app得以運行,和一上電就運行app是不同的。從bt跳轉到app,需要將bt對app的影響降到最低。
在源代碼級別的調試中,有以下全局變量需要關注:
CanTp_RuntimeData[0]
DcmComStatus
DcmRunTime