welcom ! Handel home

2009年10月27日 星期二

ROM , RAM CheckSum 說明

 
 

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

沒有留言: