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空间。
    Boot Loder一般涉及引导模式的设定、程序搬移、程序运行首地址的设定等几个步骤。F28335有多种引导模式,在一般特定的启动模式中,可以利用TI集成在片上的BootLoder程序。
    BootLoder程序与中断向量表、浮点计算数学表都存放在一个8K×16大小的BOOT ROOM中。
    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
初始化.switchSwitch表达式的表格FLASH
初始化.pinit全局构造函数表(C++里的constructor)FLASH
未初始化.ebss全局与静态变量RAM
未初始化.stack堆栈空间低64K的RAM
未初始化.esysmemFarmallocRAM
  • 4
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值