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.

DM642 Reset

Right now I'm trying to write an application on the DM642 EVM that is capable of doing a live update of its binaries.  Basically the plan is to get an updated version of the application via TCP/IP, write it to flash over the old binaries and then reset the application to startup the new binaries.  The problem I am having is that I’m unsure how to get the DSP to jump to the boot loader to load the new binaries into program memory.  I’ve tried using c_int00, but it seems to just jump to main() with the existing application still running.

Is there any way to force a restart and the application re-loaded from flash?  Any suggestions would be appreciated.

-James

  • The easiest way would be to have the device reset or power cycled if you have the hardware in place to do so, such as if you had an external watchdog timer and let it expire, or a master processor that could force a reset.

    With a device like the DM642 the secondary boot loader that brings in the rest of your code from flash is outside of the C environment, so it is not necessarily so simple as a function call to get the effect you want. If you wanted to try to simulate the hardware reboot without actually power cycling or resetting the part you would have to do as the boot loader does, that is copy the first 1k bytes out of the flash to 0x0 and than branch to 0x0 thus running your secondary boot loader. Note that there may be caveats to doing this, such as you might have to invalidate the L1P cache before the final branch to 0x0, and if your code is expecting the entire device to be in a state after reset you may have to go through and put peripherals in their original states as well, however in theory this should work.

  • Thanks for your suggestions.  Once I have a chance to get back to that project I'll try it out and see how it works.