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.
hello,
our company uses the DSP F2812 for motor control application (space vector modulation with EVTimer module). We perform a software-reset with stopping EVTimer and setting program counter to start address of the boot code/application software. After this software and hardware (EVTimer) initialization is performed in the same way as done by normal power up. But in some times after we performed the software reset, the motor control application does not work properly (it seems, that space vector modulation is not active at the PMW outputs of the DSP F2812). We think, that our performed software reset sequence is not correct.
Are similiar problems known?
Can you help me with doing a correct software reset for the DSP F2812?
yours sincerely
Josef Preisinger, software development engineer
The software reset is performed with jump to address 0x3F7FF6 (no furtrher action).
The best way to do a SW reset is to force the watchdog to reset the device. This ensures the boot-ROM is executed. The BROM code ensures the CPU registers are left in a specific state to enable proper execution of the application code.
Thank you for your answer,
i have also found out, that the watchdog can do the software reset. I have implemented following, which seems to work.
/* allow modification of the protected registers */
EALLOW;
/* enable software watchdog */
SysCtrlRegs.WDCR = 0x28U;
/* wait for proper register setting */
DO_NOTHING_10_CPUCLOCKS;
/* write improper value to initiate a device reset */
SysCtrlRegs.WDKEY = 0x23;
/* disallow modification of the protected registers */
EDIS;
Josef