RT-1052学习笔记(4)FlexRAM

FlexRAM框架


RT-1052学习笔记(4)FlexRAM_第1张图片
FlexRAM意为高度可配置RAM门列阵。这个东西把内部集成的512KBRAM平均分成了16个bank,每个32KB。FlexRAM可以把他们配置成三张模式之一:ITGM,DTIM,OCRAM

  • ITCM:指令紧耦合RAM。与内核同频运行,通过64-bit的I-TCM总线访问,用来存放指令
  • DTCM:数据紧耦合RAM。与内核同频运行,通过2*32-bit的D0/D1-TCM总线访问,用来存放只有内核访问的数据
  • OCRAM:片上RAM。以1/4内核频率运行,连接到总线矩阵SIM_M7的NIC接口,由于这个特性,OCRAM可以被连接到SIM_M7的其他master访问。比如DMA。当打开L1 Cache时,OCRAM会通过L1 Cache访问以加快访问速度。

FlexRAM常用配置


RT-1052学习笔记(4)FlexRAM_第2张图片

FlexRAM划分的16个bank并不是可以自由配置模式,其只有16中组合方式,通过fusemap(offset 0x6d0)[19:16]字段或者IOMUXC_GPR_GPR17[FLEXRAM_BANK_CFG]配置

IOMUXC_GPR_GPR16[FLEXRAM_BANK_CFG_SEL] 说明 备注
0 使用fusemap(offset 0x6d0)[19:16]字段对FlexRAM进行配置 静态配置,启动时配置
1 使用IOMUXC_GPR_GPR17[FLEXRAM_BANK_CFG]字段对FlexRAM进行配置 动态配置,芯片运行时会根据字段配置而动态调整bank分配

FlexRAM配置原则

  1. 需要快速执行的code存放于ITCM中,比如中断服务函数,中断向量表
  2. 仅core使用,需要快速访问的date存放于DTIM中,比如任务堆栈
  3. core为总线矩阵其中一个master,多master访问的数据必须存放于OCRAM或者外扩SDRAM/SRAM。其他不频繁访问的数据可以选择存放于OCRAM,

以上存放位置通过分散加载文件配置

你可能感兴趣的:(RT1052,C语言,i.MX,RT)