大牛们:
1)c6678的Memory map 中 0x00800000-0x0087FFF是Local L2 SRAM 以及其后的Local L1P SRAM 和L1D SRAM(0x00f00000-0x00f07fff),这与DSP内核的L1P SRAM 或者L2 SRAM有什么关系,这三个SRAM的作用是什么?
2)这三个是不是只能是SRAM 而不能像内核的SRAM能够配置为CACHE?
3)这三个SRAM怎么不能使用EDMA和其他SRAM(如MSMC、DDRSDRAM)进行数据传输?我能够实现IDMA的传输。为何?
4)使用EDMA3的0,1,2针对不同的TC为何数据传输速度有较大的差别?
比较急,希望各位大牛给与解答.谢谢!
King Wang1:
1) SRAM都是内存,用来存放数据,L1D和L1P是最接近core的内存,分别存放数据和代码,L2是仅次于L1接近核的内存。
2)这三个都可以配置为内存或者cache,或者部分内存部分cache
3)这个三个SRAM都可以被EDMA访问,但不应该用你写的那个地址。你写的那个是核内地址,比如0x00800000, 真实物理地址应该是0x10800000,你用EDMA可以直接访问这个地址;你用IDMA能访问是因为你的IDMA就是在核内,因此它能识别核内地址。
4)主要是TC接的总线和处的位置不同。TC的总线宽度和频率不完全相同,因此搬移速度有差别。