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.

关于2812软件看门狗复位问题



请问,软件看门狗复位与硬件电源掉电再上电的复位有什么细微差别?

问题是这样的,通过FLASH_API我在2812的FLASH里弄了2个程序(A和B),先运行程序A,然后跳转到程序B。通过电源掉电上电复位,程序运行正常;但是通过在程序B中操作软件看门狗复位,软件复位后,运行完程序A后,一运行到跳转B指令就立马复位导致反复地运行程序A。

  • anche,

    FLASH里弄了2个程序(A和B),先运行程序A,然后跳转到程序B。通过电源掉电上电复位,程序运行正常;

    这里的程序B是没有看门狗复位的对吧?

    但是通过在程序B中操作软件看门狗复位,软件复位后,运行完程序A后,一运行到跳转B指令就立马复位导致反复地运行程序A。

    这里的程序B设置了看门狗复位,那么当复位完成后,运行完A,又去运行B,B又设了看门狗复位,那照理也是会循环复位的。还是你认为根本就没再一次执行B的程序,就已经产生看门狗复位了?可以在程序B中设置GPIO翻转,看是否有执行B的程序。

    如果是看门狗复位,在复位后的code start中你应该重新关掉它。当程序B执行完相关FLASH操作后,再一次打开,设置一个循环导致看门狗复位。

     

    Eric

     

  • code start中有关闭看门狗操作,B中的看门狗是需要我上位机发命令才会复位的,正常是不会复位的。

    我想知道软件看门狗复位与硬件掉电复位的细微差别。