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.

Resetting MCU

Other Parts Discussed in Thread: TMDSDOCK28035

What's the best, fastest, cleanest way to do it from CCS? By resetting, I mean a "fresh" state as the one it has once On-Chip Flash Programmer completes the programming and verification.

When I selected Debug -> Reset CPU, my program yields different result compared to when it starts from "fresh" state. All I've been doing so far is to open On-Chip Flash Programmer and hit "Execute Operation" to regain this "fresh" state. How to do it in better, faster way?

Also, how do I pull the RESET pin high from TMDSDOCK28035 control card? Will doing this bring the MCU back to "fresh" state?

Thanks

  • Resetting the processor (e.g. with JTAG) will cause setting the internal registers to reset values and to restart the bootloader. But the internal memory keeps its values (whatever these values are, code or data). And if you initialize all memory regions you use, it will not matter if you are in a "fresh" startup state (after power up) or just did a JTAG-reset.

    Best regards,
    Edwin Krasser

  • The best and fastest way to "frash" MCU is Disconnect -> Power Cycle -> Connect. After JTAG or hardware reset MCU's memory isn't cleared.

    But in your case it looks like some memory regions are not initialized.  There are two possibilities:

    1)  The program works after flash programing but doesn't work standalone. That's because some initialized compiler sections isn't initialized. The solution in the SPRA958 "Running an Application from Internal Flash Memory on the TMS320F28xx DSP".

    2) Program works correctly for the first time but works incorrect after JTAG reset (no power cycle). In this case there are some uninitialized global variables in the program. They may keep values from previous program execution. The compiler did not perform "clearing" of static   variables. There are possibilities to do it manually but the best way is to do it explicitly in a C-program.

     

    regards,

     Roman Ermakov

     

  • Gloria,

    When you reset the MCU, the MCU goes to the default device state. What you term as "fresh state" is not the same as reset state. If your objective is to get to the "fresh state", all you need to do is Load the symbols of the coeff file programmed in flash.

    Regards,

    Manoj