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

編輯:admin 最后修改時間:2019-07-31