為驗證燒錄進去的數(shù)據(jù)是否正確,我們一般有兩種方式:checksum和readout。下面我們以Flashrunner2.0為例,來講講兩者的區(qū)別。
為了縮短燒錄時間,使用checksum代替readout很有用。因為readout通常比checksum慢。發(fā)生這種情況是因為readout會檢查所有編程的存儲器,將它從存儲器中讀取的值與frb中存在的相應值進行比較。readout的工作方式非常簡單,從目標存儲器中讀取一個或多個字節(jié),并將它們與frb中的相應值進行比較。顯然,這種類型的驗證非常準確,因為它逐個比較了所有已注冊的值。如前所述,readout會逐字節(jié)進行比較,因此,如果它沒有返回錯誤,則意味著編程已正確完成,沒有出錯的可能性。

checksum會向目標設備發(fā)送命令,目標設備會計算特定內(nèi)存部分的校驗和。在執(zhí)行此操作的同時,F(xiàn)lashRunner 2.0 使用 frb 中的值計算該內(nèi)存位置中預期值的校驗和。此時,當兩者都完成計算時,將對兩個校驗和進行比較。如果它們對應,則 FlashRunner 2.0 將繼續(xù)執(zhí)行下一個內(nèi)存部分,直到完成。請注意,checksum作為驗證讀出命令是不安全的,因為它是基于內(nèi)存區(qū)域計算結果的。因此,如果內(nèi)存中存在不正確的值,則 FlashRunner 2.0 和設備計算的校驗和是不同的,這會導致驗證校驗和返回錯誤并中斷腳本的執(zhí)行。

Cheksum在我們的驅(qū)動程序中廣泛存在。但在某些情況下可能無用。校驗和需要一個實際執(zhí)行計算的 CPU,因此內(nèi)存會自動排除。從 FlashRunner 2.0 讀取執(zhí)行目標計算將導致與驗證讀出方法相同的執(zhí)行時間。
微控制器還必須在引導加載程序的特定函數(shù)中包含啟動此計算的可能性。這將通過與目標設備內(nèi)存計算并行進行 frb 計算來帶來加速優(yōu)勢。
-
存儲器
+關注
關注
39文章
7739瀏覽量
171724 -
內(nèi)存
+關注
關注
9文章
3212瀏覽量
76388 -
程序
+關注
關注
117文章
3846瀏覽量
85268 -
命令
+關注
關注
5文章
755瀏覽量
23767 -
燒錄
+關注
關注
8文章
317瀏覽量
37110
發(fā)布評論請先 登錄
IC安全燒錄量產(chǎn)設計的一種機制
一種新型半自動驗證流程 SoC連通性的正確性
怎么去驗證ads1292R采集到的數(shù)據(jù)是否正確?
如何驗證FFT的結果是否正確?
ads1292R采集數(shù)據(jù)怎么驗證據(jù)是否為正確的
驗證STM32的設備號讀取是否正確
請問如何驗證加速度計數(shù)據(jù)是否正確?
深層解析形式驗證
關于使用燒錄器燒錄Nand Flash
啟明分享|ISP燒錄uboot遇到問題解決方法及sigmastar工具使用說明
如何驗證燒錄的數(shù)據(jù)是否正確
評論