1. Arm Corstone SSE-320内存架构深度解析
在嵌入式系统开发中,内存管理是影响系统性能和可靠性的关键因素。Arm Corstone SSE-320作为一款面向物联网和边缘计算的高性能子系统,其内存架构设计体现了现代嵌入式系统的典型特征。
1.1 TCM(紧耦合内存)架构设计
TCM(Tightly Coupled Memory)是Arm架构中一种低延迟、高带宽的存储区域,与处理器核心直接相连,避免了通过总线访问主存带来的延迟。在SSE-320中,CPU0配置了独立的指令TCM和数据TCM:
- 指令TCM地址范围:
- 主区域:0x0000_0000 - 0x00FF_FFFF
- 别名区域:0x1000_0000 - 0x10FF_FFFF
- 数据TCM地址范围:
- 主区域:0x2000_0000 - 0x20FF_FFFF
- 别名区域:0x3000_0000 - 0x30FF_FFFF
每个TCM区域提供最大16MB空间,采用别名设计主要是为了满足不同安全域(Secure/Non-secure)的访问需求。在实际应用中,建议将实时性要求高的代码和数据放入TCM,例如中断服务程序、实时任务等。
重要提示:虽然CPU可以通过主互联访问其他CPU的TCM,但Arm明确建议不要将TCM作为CPU间共享内存使用。如需数据传输,应使用DMA或软件模拟DMA方式。
1.2 存储区域安全属性配置
SSE-320的内存空间通过IDAU(Implementation Defined Attribution Unit)划分安全属性,主要区域包括:
| 地址范围 | 大小 | 区域类型 | 安全属性 |
|---|---|---|---|
| 0xE010_0000-0xE01F_FFFF | 1MB | 调试系统 | Non-secure |
| 0xF010_0000-0xF01F_FFFF | 1MB | 调试系统 | Secure |
| 0x1100_0000-0x11FF_FFFF | 16MB | ROM(FSBL) |
