TI中文支持网
TI专业的中文技术问题搜集分享网站

6746的L1P memory的使用方法

请教一下,想要把6746的L1P memory直接用作SRAM,不当作CACHE使用,只是用于存放固定代码,从数据手册来看好像是可以这么使用的,但是《TMS320C674x DSP Megamodule Reference Guide》中有这样的说法:

The L1P regions can only be written to using EDMA or IDMA accesses; the L1P regions cannot be written
to using CPU stores. The L1P regions can be read from using EDMA or IDMA accesses. CPU access is
limited to instruction fetch. The CPU cannot read from L1P, even if L1P is memory-mapped

感觉CPU不能直接从L1P中取指,那么实际使用时我应该怎么处理,使用时只需要在定义CMD文件的时候,指定固定代码在L1P SRAM对应的地址就可以了吗?还是需要其他使用方法?谢谢!

xiaoan li:

回复 Tony Tang:

谢谢您的回复,由于我们的应用对时间性能要求比较严格,对执行时间的一致性也有要求,所以考虑是否能够把L1P RAM使用起来,从您的回复来看,若是想把L1P和L1D定义为SRAM使用,是有一些不方便的,但是我们目前想要评估一下所有应用程序的代码和数据都放在片内的可能性,所以就希望能够把6746的片内L1D 和L1P的32K空间都利用起来。若采用您建议的方式,来实现把L1P定义为RAM使用,确实比较困难,您建议的方式我后续会测试看看。以后有问题再咨询您。

关于L1D RAM的使用需要请教您:

1)从TI的数据手册来看,只说复位后L1P和L1D有可能被配置为"all RAM" 或 "maximal cache."两种方式中的任意一种,您说的默认是CACHE是什么意思?对于6746来说,默认复位后就是 "maximal cache."吗?

2)若我使用legnecy NORBOOT的模式,在二级bootload代码的最开始直接把L1D 配置为RAM,这种应用方式是否可以在cmd文件中直接指定某些变量存储在L1D中?还是L1D RAM任何情况均不能通过cmd文件定义的方式来使用?

3)如果想要把L1D定义为RAM使用,在系统启动后,将L1D配置为RAM后,应用程序通过地址指针的方式就可以访问L1D中的数据了,这么理解正确吗?

谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 6746的L1P memory的使用方法
分享到: 更多 (0)