This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

280049复位问题



你好,TI的技术人员及各位大神,我在移植280049的程序时出现比较奇怪的问题,不知道该怎么解决,希望能够得到各位指点一下。

首先自己的硬件是没有问题的,用官方的程序测试过是可以正常复位的,但是用自己的程序时,当程序量少一些的话,复位也是正常可以的,但是当赋值的全局变量的个数增加的话,就是不能正常复位,复位程序就会跑飞到ESTOP0处,特别是发现只是对全局变量进行定义就不会影响复位,但是对全局变量赋值就会影响复位的正常,是因为cmd文件什么地方定义的长度不够,还是其余什么问题呢,刚入门不久的新人,希望各位大神能够指点一下!

谢谢!

  • 没有人知道是什么地方的问题么???
  • "首先自己的硬件是没有问题的,用官方的程序测试过是可以正常复位的,但是用自己的程序时,当程序量少一些的话,复位也是正常可以的,但是当赋值的全局变量的个数增加的话,就是不能正常复位,复位程序就会跑飞到ESTOP0处"

    Eric:

    这里你说的复位程序是什么程序,这是调试状态还是单机跑的情况?

    “特别是发现只是对全局变量进行定义就不会影响复位,但是对全局变量赋值就会影响复位的正常,是因为cmd文件什么地方定义的长度不够,还是其余什么问题呢”

    Eric:

    对全局变量的赋值很少见会导致异常的情况,你看看code start.asm代码里面,有没有把WD_DISABLE置位1. codestart在跳转到main之前,就会有运行c_int00代码,这段代码会搬运初始值到全局变量里面去,如果变量太多,看门狗又没关掉,就会出现看门狗复位的情况。

    WD_DISABLE .set 1 ;set to 1 to disable WD, else set to 0

    .ref _c_int00
    .global code_start

  • 首先很抱歉现在才回您的消息,我还以为不会有人回答我的问题,刚刚才登上网站看到您的回答。我立马去测试了一下,不愧是TI的专业技术人员,直接看出问题了,确实是WD_DISABLE没有置1,看门狗导致程序重新上电跑飞了,真的很谢谢您,谢谢!!!