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

6678 LL2内的数据异常改变

Ti专家,你好,请教个问题,最近在做6678平台开发的项目时发现有个代码运行异常  

经过定位发现6678 LL2(只用了一个核0)内的数据异常被改变了,如附图1所示,

(1)在代码里定义了1个结构体数组包含3个结构体变量,3个结构体变量里的元素的内容值是相同的

(2)结构体在代码运行过程中只会被读取用于逻辑运行,逻辑不会去修改。

但是实际测试过程中发现程序大概率经常执行异常跑飞(如图2所示),测试暂停程序至断点处查看各阶段的数据,

发现该结构体数组的数据值竟然被篡改了,

图中黄色的表示值有变动

这些变量代码本身都是定义在核0的LL2内部的,请问LL2会有什么CACHE的刷新维护机制导致数据更动么?

初始化后CACHE相关配置:

CACHE_setL1PSize(CACHE_L1_32KCACHE); //将L1P的32K空间全部用作cache
CACHE_setL1DSize(CACHE_L1_32KCACHE); //将L1D的32K空间全部用作cache
CACHE_setL2Size(CACHE_64KCACHE);

图1:

图2:

Nancy Wang:

应该不是因为开启了cache的原因,看您上面的描述只用了core0并且没有做修改。
是修改了什么内容之后才出现这种情况的?
加大堆栈试试。
单步调试看看具体是在哪里跑飞。

赞(0)
未经允许不得转载:TI中文支持网 » 6678 LL2内的数据异常改变
分享到: 更多 (0)