F28335的儲存器及其地址分配

1. F28335的儲存器

F28335採用多流水線的增強的哈佛總線結構。其具有多種儲存器,有256K × 16位的FLASH,34K × 16位的SRAM,8K × 16位的BOOT ROM,還有2K × 16位的OPT ROM。此外,F28335還有外部並行拓展接口XINTF,可以進一步外拓儲存空間。

2. F28335的儲存器的地址分配

F28335的儲存器的地址分配見下圖:
在這裏插入圖片描述F28335的儲存器地址是唯一的,不能重複交叉定義。
以下具體對各個區間進行說明:

  1. M0向量RAM
    該空間屬於SRAM的M0中的一部分。當STE狀態寄存器VMAP=0時,該區間作爲中斷向量的存儲空間。
    F28335中有34K × 16位的SRAM,包括M0、M1及L0~L7快。M0和M1都是(1K ×\times 16位),L0~L7都是(4K ×\times 16位)。
  2. M0 SRAM
    該空間屬於SRAM的M0中的剩餘部分。
  3. M1 SRAM
    該空間屬於SRAM的M1。
  4. PF0
    該空間屬於外設幀空間之一。
    外設寄存器的地址分別爲PF0、PF1、PF2、PF3。
  5. PIE中斷向量表
    該空間爲中斷向量表空間。
  6. PF3 DMA
    該空間屬於外設幀空間之一。
  7. PF1
    該空間屬於外設幀空間之一。
  8. PF2
    該空間屬於外設幀空間之一。
  9. L0 SRAM
    該空間屬於SRAM的L0。
  10. L1 SRAM
    該空間屬於SRAM的L1。
  11. L2 SRAM
    該空間屬於SRAM的L2。
  12. L3 SRAM
    該空間屬於SRAM的L3。
  13. L4SRAM
    該空間屬於SRAM的L4。
  14. L5 SRAM
    該空間屬於SRAM的L5。
  15. L6 SRAM
    該空間屬於SRAM的L6。
  16. L7 SRAM
    該空間屬於SRAM的L7。
  17. FLASH
    該空間屬於FLASH。
    F28335有256K × 16位的FLASH
  18. 128位密碼
    該空間屬於FLASH中的A段。
  19. TI OTP
    該空間爲OTP的部分,爲TI用來測試的引導程序。
    F28335有2K × 16位的OPT ROM。
  20. 用戶 OTP
    該空間爲OTP的剩餘部分。
  21. L0 SARAM
    該空間爲SARAM的L0。
    SARAM空間爲雙映射空間,也就是名字相同,但是空間地址不同,有利於數據的備份。
  22. L1 SARAM
    該空間爲SARAM的L1。
  23. L2 SARAM
    該空間爲SARAM的L2。
  24. L3 SARAM
    該空間爲SARAM的L3。
  25. Boot ROM
    該空間爲BOOT ROM空間。
    F28335有8K × 16位的BOOT ROM。
  26. BROM 向量表-ROM
    該空間屬於BOOT ROM空間的部分。

3. 寄存器特點

  1. FLASH和OTP
    28335片上有 256K × 16位嵌入式FLASH儲存器和 1K × 16位一次可編程EEPROM儲存器,均受片上Flash中的密碼保護。FLASH儲存器由8個 32K × 16位扇區組成,用戶可以對其中任何一個扇區進行擦除、編程和檢驗,而其他扇區不變。但是,不能在其中一個扇區上執行程序來擦除和編程其他的扇區。
  2. SRAM
    28335片內共有34K × 16位單週期單次訪問隨機儲存器 SRAM,分爲10 個塊,分別位M0、M1、L0~L7。
    M0和M1快SARAM的大小均爲 1K × 16位,當復位後,堆棧指向M1塊的起始地址,堆棧指針向上生長。M0和M1段都可以映像到程序區和數據區。
    L0-L7塊SARAM的大小均爲 4K × 16位,既可以映射到程序空間,也可以映射到數據空間,其中 L0~L3可映射到兩塊不同的地址空間並且受片上FLASH中的密碼保護,以免存在上面的程序或者數據,被他人非法複製。

4. 程序段在儲存區間分配

CMD文件就是將下面的段合理分配到儲存空間中。

是否初始化 名稱 描述 連接位置
初始化 .text 代碼 FLASH
初始化 .cinit 全局於靜態變量的初始值 FLASH
初始化 .econst 常數 FLASH
初始化 .switch Switch表達式的表格 FLASH
初始化 .pinit 全局構造函數表(C++裏的constructor) FLASH
未初始化 .ebss 全局與靜態變量 RAM
未初始化 .stack 堆棧空間 低64K的RAM
未初始化 .esysmem Farmalloc RAM
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章