實踐是每個固件應用程序都應該遵循的基本的、基本的實踐。防御性編程一直是一項重要的軟件技能。以下是嵌入式開發人員應牢記的一些使用C進行防御性編程的實踐:
l 檢查功能的輸入和輸出
l 檢查函數的返回值(它們經常被忽略!)
l 監控緩沖區以防止溢出
l 驗證指針不為空,尤其是函數指針
l 使用斷言宏來檢測錯誤而不是錯誤條件
l 2–3%的代碼應該是斷言
l 斷言不應該修改系統的狀態
l 僅公開大型程序需要知道的數據和函數(封裝)
l 在構建過程中執行靜態分析
l 監視堆棧是否溢出
l 用已知模式、ISR向量或stop指令填充未使用的ROM
l 看門狗系統應該是綜合的,不能盲目寵看門狗
嵌入式開發人員遵循這些簡單的實踐有助于確保提高固件質量,這是開發安全固件的第一步。