使用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我先去查下