从数据手册上看到,有两个部分的DSP L2 RAM,一部分是DSP专用的,一部分是DSP与ARM都可以使用的。
问题:
1、
使用Ti官方的linux3.3内核,如何知道Linux系统是不是使用上这部分0x1180 0000 到0x1183 FFFF的RAM。或者Linux使用了哪些芯片资源,以避免与DSP核心冲突。
2、
在使用DSP核心做FFT时,将数据放在0x1180 0000 到0x1183 FFFF中运算,比放在0x0080 0000 到0x0083 FFFF中要快一点,是什么原因?
要快2000到3000个 cycles
3、
0x1180 0000 到0x1183 FFFF这部分RAM与0x8000 0000到 0x8001 FFFF的128KRAM有什么不同的,可以把这部分DSP L2 RAM也用于Shared RAM么?
Shine:
1. linux内核放在片外DDR上跑的。
2. 这两块地址对应同一块物理地址,访问速度应该不会有差别。从DSP看,其片上空间L2是从0x00800000开始的,而这块空间从ARM,或者说DSP外来看,是从0x11800000开始的。 DSP从两个地址来访问L2都可以,而ARM,或DMA等只能从0x11800000开始的地址访问DSP的L2。3. share RAM不能做Cache,L2是DSP CPU上的内存,而Share RAM是芯片内部总线上的一块内存,其时钟为CPU/2但实际访问速度不如L2快,因为在传输路径上经过了SCR及Bridge.
user3688025:
回复 Shine:
谢谢你的回答!不过还有如下疑问:
1、那么对于其他的资源,比如定时器,DMA,Linux应该也是使用了吧,那么从哪里查看其使用的是哪些呢?留给DSP使用的又是哪些?2、是同一块物理地址,那么这两块空间为什么会有两个地址呢?有什么特殊的用途么?还是说当cache用时,地址是从0x00800000开始,当RAM用时,从0x11800000开始?