CheckSum 說明
>> CheckSum定義原因
應於記憶體的資料檢測方法 , 包括程式碼( code ROM ) 及 參數資料碼( RAM or EERAM ) ,為防止 不正常因素導致的 code 破壞 使系統安全性受到危害 所做的防制措施 ¸ 凡記憶體都有被不明因素引起的 (bit lose) or (bank lose)之風險而做的 , 一般以system Bus 倍精度為最佳 8 bit bus checksum 為16bit , 16bit bus 用 32 bit checksum 這樣可以偵測出bit ERR 的機率較高
>> CheckSum 算法
有兩種
[1] 補數法
選定check 區段 由起使位址 加到結束位址 就是加總到最後剩一個byte,用100H - sum = x 將 x 寫入最後一個 byte。 下次檢查,其值為00H則為正確。使 checksum 保持為 0x0000
[2] 加總法
選定check 區段 由起使位址 加到結束位址 一直加,加到完!其值就是CheckSum 由上面延伸,就有8位元16 32 .....位元的方式,當然也有非規則的 CheckSum, 但通常應用在特殊用途上。以system Bus 倍精度為最佳 8 bit bus checksum 為16bit , 16bit bus 用 32 bit checksum
>> CheckSum 應用方法
計算checksum 應在何時應用啟動check ?
*於開機power on時重要週邊設定好後啟動 check prg code AND 參數RAM
*於進入測試MODE 時列為 重要項目並顯示測值及 軟體板本
*系統校正程序前後 做checksum 主要檢查 參數區 Rom , RAM
沒有留言:
張貼留言