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

偶发上电后无法跳入APP段

使用28335,用两个工程定义两个Flash段,外部IO配置为Flash启动。启动后首先进入自定义的boot代码段,该段为在线更新使用,如无更新flag,跳入APP段。

跳入的方法为LB #300000,0x300000是APP的codestart对应地址,APP是从0x300002开始。

最近发现几十次连续下电上电会造成无法正常跳入APP段,或者已经跳入,但APP段无法正常执行。这时如果用仿真器烧录,会提示Devive有可能处于low-power mode,但是有几点疑问。

查找手册发现测试结果和lower-power mode不太相符:

1.即使芯片不正常工作,XINTF接口的CLK还在正常输出,因此认为进入的是IDLE或者Standby模式,而不是HALT模式

2.但IDLE和Standby模式看门狗定时器是工作的,所以我尝试在boot段跳转进入APP前将看门狗启动,APP段进行喂狗,企图如果芯片进入APP段无法正常喂狗或者一直停留在boot段就会重新复位启动,但是发现看门狗并没有动作

P.S.还尝试过如下测试:

1.在APP的main函数首句代码就点灯,正常启动时灯亮,异常启动灯不亮,所以怀疑未正常跳入APP的main

2.在BOOT跳入APP前最后一句前点灯,正常启动和异常启动时灯都会闪(因为APP会复位该GPIO口,所以会灭),所以认为跳出了boot

现在就不知道芯片到底处于什么模式,程序又跳到了哪里。

烦请各位大拿帮忙分析下啊,多谢多谢

Brian Wang0:如果预留了仿真器接口的话可以尝试在不reset CPU的情况下连接仿真器 查看PC值 帮助排查故障

使用28335,用两个工程定义两个Flash段,外部IO配置为Flash启动。启动后首先进入自定义的boot代码段,该段为在线更新使用,如无更新flag,跳入APP段。

跳入的方法为LB #300000,0x300000是APP的codestart对应地址,APP是从0x300002开始。

最近发现几十次连续下电上电会造成无法正常跳入APP段,或者已经跳入,但APP段无法正常执行。这时如果用仿真器烧录,会提示Devive有可能处于low-power mode,但是有几点疑问。

查找手册发现测试结果和lower-power mode不太相符:

1.即使芯片不正常工作,XINTF接口的CLK还在正常输出,因此认为进入的是IDLE或者Standby模式,而不是HALT模式

2.但IDLE和Standby模式看门狗定时器是工作的,所以我尝试在boot段跳转进入APP前将看门狗启动,APP段进行喂狗,企图如果芯片进入APP段无法正常喂狗或者一直停留在boot段就会重新复位启动,但是发现看门狗并没有动作

P.S.还尝试过如下测试:

1.在APP的main函数首句代码就点灯,正常启动时灯亮,异常启动灯不亮,所以怀疑未正常跳入APP的main

2.在BOOT跳入APP前最后一句前点灯,正常启动和异常启动时灯都会闪(因为APP会复位该GPIO口,所以会灭),所以认为跳出了boot

现在就不知道芯片到底处于什么模式,程序又跳到了哪里。

烦请各位大拿帮忙分析下啊,多谢多谢

user4638834:

回复 Brian Wang0:

Hi, Brain能帮忙提供下不用debug设断点查看PC的方式吗,之前没有用过,我也很想看下PC值,和map对应下,看看程序到底跑到哪里了,谢谢

使用28335,用两个工程定义两个Flash段,外部IO配置为Flash启动。启动后首先进入自定义的boot代码段,该段为在线更新使用,如无更新flag,跳入APP段。

跳入的方法为LB #300000,0x300000是APP的codestart对应地址,APP是从0x300002开始。

最近发现几十次连续下电上电会造成无法正常跳入APP段,或者已经跳入,但APP段无法正常执行。这时如果用仿真器烧录,会提示Devive有可能处于low-power mode,但是有几点疑问。

查找手册发现测试结果和lower-power mode不太相符:

1.即使芯片不正常工作,XINTF接口的CLK还在正常输出,因此认为进入的是IDLE或者Standby模式,而不是HALT模式

2.但IDLE和Standby模式看门狗定时器是工作的,所以我尝试在boot段跳转进入APP前将看门狗启动,APP段进行喂狗,企图如果芯片进入APP段无法正常喂狗或者一直停留在boot段就会重新复位启动,但是发现看门狗并没有动作

P.S.还尝试过如下测试:

1.在APP的main函数首句代码就点灯,正常启动时灯亮,异常启动灯不亮,所以怀疑未正常跳入APP的main

2.在BOOT跳入APP前最后一句前点灯,正常启动和异常启动时灯都会闪(因为APP会复位该GPIO口,所以会灭),所以认为跳出了boot

现在就不知道芯片到底处于什么模式,程序又跳到了哪里。

烦请各位大拿帮忙分析下啊,多谢多谢

mangui zhang:像硬件带来的问题。如上电自复位等

使用28335,用两个工程定义两个Flash段,外部IO配置为Flash启动。启动后首先进入自定义的boot代码段,该段为在线更新使用,如无更新flag,跳入APP段。

跳入的方法为LB #300000,0x300000是APP的codestart对应地址,APP是从0x300002开始。

最近发现几十次连续下电上电会造成无法正常跳入APP段,或者已经跳入,但APP段无法正常执行。这时如果用仿真器烧录,会提示Devive有可能处于low-power mode,但是有几点疑问。

查找手册发现测试结果和lower-power mode不太相符:

1.即使芯片不正常工作,XINTF接口的CLK还在正常输出,因此认为进入的是IDLE或者Standby模式,而不是HALT模式

2.但IDLE和Standby模式看门狗定时器是工作的,所以我尝试在boot段跳转进入APP前将看门狗启动,APP段进行喂狗,企图如果芯片进入APP段无法正常喂狗或者一直停留在boot段就会重新复位启动,但是发现看门狗并没有动作

P.S.还尝试过如下测试:

1.在APP的main函数首句代码就点灯,正常启动时灯亮,异常启动灯不亮,所以怀疑未正常跳入APP的main

2.在BOOT跳入APP前最后一句前点灯,正常启动和异常启动时灯都会闪(因为APP会复位该GPIO口,所以会灭),所以认为跳出了boot

现在就不知道芯片到底处于什么模式,程序又跳到了哪里。

烦请各位大拿帮忙分析下啊,多谢多谢

Brian Wang0:

回复 user4638834:

请参考下面这个连接:

http://processors.wiki.ti.com/index.php/MSP430_-_Connecting_to_a_running_target

使用28335,用两个工程定义两个Flash段,外部IO配置为Flash启动。启动后首先进入自定义的boot代码段,该段为在线更新使用,如无更新flag,跳入APP段。

跳入的方法为LB #300000,0x300000是APP的codestart对应地址,APP是从0x300002开始。

最近发现几十次连续下电上电会造成无法正常跳入APP段,或者已经跳入,但APP段无法正常执行。这时如果用仿真器烧录,会提示Devive有可能处于low-power mode,但是有几点疑问。

查找手册发现测试结果和lower-power mode不太相符:

1.即使芯片不正常工作,XINTF接口的CLK还在正常输出,因此认为进入的是IDLE或者Standby模式,而不是HALT模式

2.但IDLE和Standby模式看门狗定时器是工作的,所以我尝试在boot段跳转进入APP前将看门狗启动,APP段进行喂狗,企图如果芯片进入APP段无法正常喂狗或者一直停留在boot段就会重新复位启动,但是发现看门狗并没有动作

P.S.还尝试过如下测试:

1.在APP的main函数首句代码就点灯,正常启动时灯亮,异常启动灯不亮,所以怀疑未正常跳入APP的main

2.在BOOT跳入APP前最后一句前点灯,正常启动和异常启动时灯都会闪(因为APP会复位该GPIO口,所以会灭),所以认为跳出了boot

现在就不知道芯片到底处于什么模式,程序又跳到了哪里。

烦请各位大拿帮忙分析下啊,多谢多谢

user4638834:

回复 mangui zhang:

感觉有点像是,上电后通过复位引脚多次复位,没有发现启动异常。准备按照Brian的方法查一下

使用28335,用两个工程定义两个Flash段,外部IO配置为Flash启动。启动后首先进入自定义的boot代码段,该段为在线更新使用,如无更新flag,跳入APP段。

跳入的方法为LB #300000,0x300000是APP的codestart对应地址,APP是从0x300002开始。

最近发现几十次连续下电上电会造成无法正常跳入APP段,或者已经跳入,但APP段无法正常执行。这时如果用仿真器烧录,会提示Devive有可能处于low-power mode,但是有几点疑问。

查找手册发现测试结果和lower-power mode不太相符:

1.即使芯片不正常工作,XINTF接口的CLK还在正常输出,因此认为进入的是IDLE或者Standby模式,而不是HALT模式

2.但IDLE和Standby模式看门狗定时器是工作的,所以我尝试在boot段跳转进入APP前将看门狗启动,APP段进行喂狗,企图如果芯片进入APP段无法正常喂狗或者一直停留在boot段就会重新复位启动,但是发现看门狗并没有动作

P.S.还尝试过如下测试:

1.在APP的main函数首句代码就点灯,正常启动时灯亮,异常启动灯不亮,所以怀疑未正常跳入APP的main

2.在BOOT跳入APP前最后一句前点灯,正常启动和异常启动时灯都会闪(因为APP会复位该GPIO口,所以会灭),所以认为跳出了boot

现在就不知道芯片到底处于什么模式,程序又跳到了哪里。

烦请各位大拿帮忙分析下啊,多谢多谢

user4638834:

回复 Brian Wang0:

多谢Brian,我先查一下啊

使用28335,用两个工程定义两个Flash段,外部IO配置为Flash启动。启动后首先进入自定义的boot代码段,该段为在线更新使用,如无更新flag,跳入APP段。

跳入的方法为LB #300000,0x300000是APP的codestart对应地址,APP是从0x300002开始。

最近发现几十次连续下电上电会造成无法正常跳入APP段,或者已经跳入,但APP段无法正常执行。这时如果用仿真器烧录,会提示Devive有可能处于low-power mode,但是有几点疑问。

查找手册发现测试结果和lower-power mode不太相符:

1.即使芯片不正常工作,XINTF接口的CLK还在正常输出,因此认为进入的是IDLE或者Standby模式,而不是HALT模式

2.但IDLE和Standby模式看门狗定时器是工作的,所以我尝试在boot段跳转进入APP前将看门狗启动,APP段进行喂狗,企图如果芯片进入APP段无法正常喂狗或者一直停留在boot段就会重新复位启动,但是发现看门狗并没有动作

P.S.还尝试过如下测试:

1.在APP的main函数首句代码就点灯,正常启动时灯亮,异常启动灯不亮,所以怀疑未正常跳入APP的main

2.在BOOT跳入APP前最后一句前点灯,正常启动和异常启动时灯都会闪(因为APP会复位该GPIO口,所以会灭),所以认为跳出了boot

现在就不知道芯片到底处于什么模式,程序又跳到了哪里。

烦请各位大拿帮忙分析下啊,多谢多谢

user4638834:

回复 Brian Wang0:

多谢Brian我先去查下

赞(0)
未经允许不得转载:TI中文支持网 » 偶发上电后无法跳入APP段
分享到: 更多 (0)