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

TMS320C6678: 数组初始化问题

Part Number:TMS320C6678

TI专家好:

          现在有如下情况,使用section将数组分配至DDR(0xc0000000,大小640*513字节)用随机数进行初始化,通过工具链将out文件转换后烧写至Flash中。加载out文件后,发现数组在初始化完成后数据全部都是0,在memory view里直接修改相应地址可以写入成功。

           1)增加标志位确定程序经过数组初始化;

           2)在线使用仿真器加载程序时,数组可以初始化成功;

           3)同section内的其他数据可以初始化成功。

          想咨询TI专家造成这种现象的原因是什么,CMD文件分配和数组赋值方法如下图。

Nancy Wang:

自启动状态下,仿真器跟一下看看。

Duan Siyu 说:   3)同section内的其他数据可以初始化成功。

其它数据有什么不同吗?

,

Duan Siyu:

感谢回复,其他的元素都为结构体,只有gEthTestBuffer为640*513大小的数组。

如果我直接将gEthTestBuffer指向0xc0200000位置,数据是可以初始化段成功的。

自启动状态下,仿真器跟一下看看。是指加载符号表吗?

,

Nancy Wang:

Duan Siyu 说:自启动状态下,仿真器跟一下看看。是指加载符号表吗?

是的。

,

Duan Siyu:

这个在程序初始的位置,挂上仿真后已经过去了。有什么方法能让它停住吗

,

Nancy Wang:

是打断点无法停住吗?

,

Duan Siyu:

测试程序烧写到NorFlash,上电挂上仿真初始化已经过了。。。

,

Nancy Wang:

在合适的地方定义一个volatile int flag = 1;while(flag){};,然后修改再修改flag的值试一下。

,

Duan Siyu:

好的,谢谢。我试一下。

另外,想问个问题。有没有_c_int00跳转到main()函数的代码?

,

Nancy Wang:

7.8 System Initialization

https://www.ti.com.cn/cn/lit/ug/spru187u/spru187u.pdf

ti-processor-sdk-rtos-c667x-evm-06.03.00.106-Windows\openmp_dsp_c667x_2_06_03_00\packages\ti\runtime\rts6000\boot.c

,

Duan Siyu:

好的,感谢回复。

,

Nancy Wang:

不客气,我会暂时将该帖关闭。

,

Duan Siyu:

您好,我在Auto Run and Launch Options 中 Auto Run Options 设置为_c_int00,然后loacte上述提供的文件,感觉定位的过程好像有些问题,无法打断点也无法单步运行,加载后定位的位置在#pragma DATA_SECTION (_stack, ".stack"),请问这是什么情况

,

Nancy Wang:

在线仿真的时候有问题吗?或者将完整截图出来看一下。

我试了一下没有出现这种情况。

,

Duan Siyu:

这是在线跳转到_c_int00位置时没loacte和locate上方链接的boot.c文件的图片。

定位的位置#pragma DATA_SECTION (_stack, ".stack");

感觉好像不太对

,

Nancy Wang:

不太清楚,应该会直接跳到_c_int00,我测试下来也是这样的。

,

Duan Siyu:

是这个boot.c文件对应不上吗,有啥解决办法吗?

另外,关于数组话初始化失败的方法,根据您的之前提供的方法,好像是关闭DDR中的Cache使能导致初始化失败(不是该数组地址的Cache),在Cache禁能后增加1s延迟后,数据初始化正常,请问Cache禁能需要增加延迟时间吗?

,

Nancy Wang:

直接将boot.c添加到工程里。

另外打断点到main,然后在如图点击_c_int00定位到这里试试。

Duan Siyu 说:在Cache禁能后增加1s延迟后,数据初始化正常,请问Cache禁能需要增加延迟时间吗?

应该是不需要的,cache部分配置在代码中的哪个地方

,

Duan Siyu:

好的,

1.添加boot.c后需要将工程重新编译吗,我编译了一下,会报错。

2.就在数组初始化前

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: 数组初始化问题
分享到: 更多 (0)