代码放在DDR上可以正常运行,但是用CCS5.2进行Debug遇到一个问题。启动Debug Session后,CCS自动Load程序,Load完成会自动进行Go Main,PC停在Main入口处,这样是OK的。但是如果自己手动执行Reset和Load,Load完成后程序就会跑飞,无法进入main函数。代码放在L2上是没有这个问题的,放在DDR上就会出现。
使用的平台是: XDS510USB EVM TCI6618 仿真板
cfg设置:
Program.sectMap[".text"] = new Program.SectionSpec();
Program.sectMap[".text"].loadSegment = "DDR3";
Program.sectMap[".text"].loadAlign = 32;
程序的cache设置:
CACHE_setL2Size (CACHE_0KCACHE);
CACHE_setL1DSize (CACHE_L1_0KCACHE);
CACHE_setL1PSize (CACHE_L1_32KCACHE);
CACHE_enableCaching (128);
还有个关于cache知识的问题:
Cache User Guide说L1P总是会Cache外存,如果代码放在DDR,并且也开启L2 Cache,那么代码会cache到L1P还是L2?
谢谢!