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

TMS570LS3137使用EMIF外挂SRAM 通过MEMSET对SRAM地址操作时,导致仿真器断开并且无法加载

现在使用TMS570LS3137处理器,外挂sram,并将bss段和data段,配置在sram中;在调用memset函数设置一个全局静态数组元素为0,执行该语句后,flash出现不能被擦除,仿真器也不能链接的问题;但使用for循环实现数组初始化这一功能,未出现此问题。

1.之前整个工程没有外观SRAM 使用memset时无该情况,新增SRAM后出现该情况 地址配置为:origin=0x80000000 length=0x02000000 

2.程序只是做了外挂SRAM 将BSS段与DATA段放到SRAM 使用MEMSET后便会引起仿真器无法加载,只能通过加载过程中手动复位JTAG使仿真器连接上。

之前未加SRAM时从未出现该情况。

3.但通过单步跟进MEMSET语句执行正确,但是放开后便会出现该情况。

补充说明:

1.目前在论坛查到现有类似情况,文内说,C版本芯片因为指令集的原因,导致在使用MEMset对外部地址操作时出现上述描述情况。e2e.ti.com/…/2444546

2.该BUG是否只针对MEMSET对外部地址使用,对内部地址是否有影响?

3.该BUG是否只针对MEMSET函数,同类型函数是否都有潜在问题?

gaoyang9992006:

这个不太懂,不知道这个库函数是怎么个原理,竟然跟通过循环的效果不一样,可以定位MEMSET原型看看,这个函数怎么实现的,是不是哪儿不合适。实在不行,就自己封装一个同名的函数吧。

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS3137使用EMIF外挂SRAM 通过MEMSET对SRAM地址操作时,导致仿真器断开并且无法加载
分享到: 更多 (0)