CC2530之Flash映射


標准51系列內核的邏輯空間為哈佛結構,也就是說,程序空間和地址空間是分開的。具體分為:

CODE區:存放程序代碼和一些常量信息,有16根地址總線,尋址范圍為0x0000~0xFFFF,共計64K

DATA區:存放運行中的數據,8根地址總線,尋址范圍為0x00~0xFF,共計256個字節,其中,低128字節可直接尋址,高128字節可間接尋址。

XDATA:外部數據存儲器,間接尋址,16根地址總線,尋址范圍為0x0000~0xFFFF.共計64K。

Technorati 標簽: CC2530 Flash

51系列內核的物理存儲空間划分為Flash,SRAM,SFR,Info Page,XREG。

邏輯空間划分為4類,CODE、DATA、SFR、XDATA。

CODE全部映射到Flash中去,DATA區全部映射到SRAM中去,其中,低128字節的DATA可直接或間接尋址,高128字節只能間接尋址。XDATA大部分映射到Flash,少部分映射到SRAM中。DMA在XDATA上尋址。

這里,就有一個疑問了,既然CC2530系列內部Flash最大可達256K,最小可以為32K。但是CODE區可尋址范圍最大只有64K,如何去尋址256K呢?為了兼容不同系列的Flash大小空間讀寫問題,以32K為一個bank單位,最大空間256K,划分為8個bank,編號為bank0~bank7,其中,bank0是root bank,始終占有。那么CODE尋址還剩下32K空間,因此,最多可以再映射一個bankx(x=1~7),其中,x值的選擇由FMAP[2:0]數值來確定將高位空間映射到剩下的0x8000-0xFFFF 中去。

空間結構圖如下:

image

下圖是示意Flash映射分配圖

image

 

Flash中,一個page的大小為2K,.SRAM映射的空間為低位的8K空間,地址范圍為0x0000~0x1FFF.其頂部256個字節用於映射DATA區。

那么,在這么些bank里面,每個區域又是如何划分的呢?這就要用到IAR的全局鏈接文件f8w2530.xcl了。

f8w2530.xcl文件時IAR的鏈接工具的配置文件,其中,定義了許多段(-Z.-P)、宏(-D)。 image

 

對於一些NV項目的存儲,鏈接文件中有如下說明:

image

內部NV項存儲地址開始和結束,總體預留空間為6個page,也就是12K。

 

在Flash中的最后一個bank的最后一個page,保留使用,其內容分布如下:

 image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM