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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章