在單片機(jī)開發(fā)中NOR_FLASH的應(yīng)用
在單片機(jī)開發(fā)中,NOR_FLASH常用的有4M和8M的大小:
4M的FLASH在程序中可以這樣表示:Ptr < 0x220000
8M的FLASH在程序中可以這樣表示:Ptr < 0x400000(最大只能讀到0x3fffff)
有了這個關(guān)系,在判斷NOR_FLASH好壞的方法上我們可以采用計算checksum的方式來校驗。
在程序中,我們一般把地址的指針定義為unsigned short *ptr 類型。然后通過指針不斷的往后移動可以簡引用獲取到FLASH中的每一個byte,如果此時定義成unsigned short類型,那么用一個temp變量來接收的話,一次是可以接收到2個byte的數(shù)據(jù),如果此時定義成unsigned long類型,同樣用temp變量來接收這時一次性可以讀到4個byte的數(shù)據(jù),所以在處理數(shù)據(jù)方面可以采用位運(yùn)算來進(jìn)行處理。
以下這段程序是每1024byte獲取前16個byte的數(shù)據(jù)依次累加返回,注意,這里累加是以word的形式累加,1 word = 2byte,所以讀512相當(dāng)于讀了1024byte
注意,這里的單片機(jī)是16位的,其它的可能不同,不要類比,需要重新計算相應(yīng)數(shù)據(jù)類型的值。
編輯:admin 最后修改時間:2019-07-31