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

软件无法启动(处理器,TMS570LC4357,编译器,GCC 4.9.3)

TI的专家,你好

我们已有产品使用TMS570LS3137,程序使用的是片内的FLASH和RAM。现在升级处理器,使用TMS570LC4357,在修改了驱动部分后,发现通过UNIFLASH下载后,程序可以正确启动,但是当软件复位或者硬件复位后,程序无法启动。

我们现在的问题是

1、通过UNIFLASH下载后启动程序是不是仿真器直接引导到_c_int0来启动的?

2、程序中正确配置了地址0x0向量,即指向_c_int0函数,那么程序应该可以启动的?

3、通过UNIFLASH读取存储空间信息,向量0x0的内容没有变化,但是信息内容和MAP表中查到的地址不一致,不知道这里应该如何理解?

希望能够尽快得到你们的答复,谢谢

读取存储空间信息如下:

user5655976:

不知道为什么截图信息没有发上来,UNIFLASH读到0x0地址内容为0xFA0036D2,而从map中查询_c_int00地址为0x0000db50。
还有一个问题,
4、硬件复位后,ESM Status Register 1 (ESMSR1)读到的值为0x80000000,这时候没有配置,这个值有什么意义吗?

谢谢

Susan Yang:

请问您“修改了驱动部分”可以具体描述一下吗?另外您是否有直接烧TI的例程试一下看是否也会出现这样的情况?

目前手边没有这个板子,无法亲自测试

Susan Yang:

回复 user5655976:

截图信息的话,您可以选择“使用高级编辑器编辑文本” 然后以附件形式上传

user5655976:

回复 Susan Yang:

工程的内容很简单,在进入main之后通过het点亮四个LED。这个工程我
1、首先用CCS 8.0 +TI 编译器,CCS下载可以运行正确(点亮LED),下电再次上电仍然运行正确。
2、用Halcogen重新生成GCC代码,使用makefile+GCC 4.9编译,使用UNIFLASH可以运行正确,下电再次上电后便无法运行了。

user5655976:

回复 Susan Yang:

您好,我尝试了连接中提到的方法,在make+GCC编译实验,仍然是下电后上电无法运行。

我通过查看lst文件确定的,新编译的文件中都是ARM指令,而原来的文件中包含THUMB指令,因此确认新的版本中hl_sys_startup确实只使用了ARM指令,但是实验结果仍然是下电后上电无法运行。

user5655976:

回复 Susan Yang:

你好,这个链接不能解决全部问题,但是可以解决部分问题,我的代码中同时还需要修改-O2为-O1。

赞(0)
未经允许不得转载:TI中文支持网 » 软件无法启动(处理器,TMS570LC4357,编译器,GCC 4.9.3)
分享到: 更多 (0)