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.

How to erase MSP430FR5969 program memory if RST/NMI pin was configured to NMI and JTAG pins were configured as outputs.

Other Parts Discussed in Thread: MSP-TS430RGZ48C, MSP430FR5969

Hi,

I am using MSP-TS430RGZ48C with MSP430FR5969. In order to achieve low power operation all the JTAG pins are configured to be an output. I also then need in my application to configure RST/NMI to be an NMI with a pull-down. However, this prevents connection of the MSP-FET430UIF to the target for all the subsequent downloads. Is there a way how to clear/erase the memory and unlock the micro-controller?

Kind Regards,

Bronislav Paykin.

  • So you chopped off the head intentionally and now want to know how to glue it back when you need the victim alive again?

    Bronislav Paykin said:
    In order to achieve low power operation all the JTAG pins are configured to be an output.

    That's not a problem. the TEST pin, if pulled high, overrides any port pin configurations and puts the JTAG pins back into JTAG mode.

    However,

    Bronislav Paykin said:
    I also then need in my application to configure RST/NMI to be an NMI
    Which will disable reset functionality and therefore won't allow the FET to reset the MSP for programming.

    Well, let's play Dr. Frankenstein...

    You need some electronics that keeps the RST pin low after a power-cycle, until it was pulled down and released manually.
    This way, you can attach a serial connection to the BSL pins and after a power cycle you should be able to establish a BSL connection and upload a new firmware through BSL.

    One should have really good reasons (and good MSP experience too) to disable the reset input.

  • Hi Jens-Michael,

    Thanks for your help. I was somewhat confused by the :

    The connection to the JTAG connector RST pin is optional when using a device that supports only 4-wire JTAG
    communication mode, and it is not required for device programming or debugging. However, this connection is
    required when using a device that supports 2-wire JTAG communication mode in 4-wire JTAG mode.

    -Bronislav.(Slav)

  • In my opinion, the Tools should have known better. It does not matter whether you call it Flash Emulator, Bootstrap Loader, Spy-by-wire or any other name, it should have held RST of the target low before it powers up the target.

  • old_cow_yellow said:
    In my opinion, the Tools should have known better. It does not matter whether you call it Flash Emulator, Bootstrap Loader, Spy-by-wire or any other name, it should have held RST of the target low before it powers up the target.

    I agree that such a mode should be available. However, it would require a 'turn power off, then on, then press OK' dialog, which is ugly.
    On the FET430UIF, it could be programmed, i guess. But it better should be directly available in the FET firmware.

    Bronislav Paykin said:
    Thanks for your help. I was somewhat confused by the :

    The connection to the JTAG connector RST pin is optional when using a device that supports only 4-wire JTAG
    communication mode, and it is not required for device programming or debugging. However, this connection is
    required when using a device that supports 2-wire JTAG communication mode in 4-wire JTAG mode.


    Indeed, the 4-wire JTAG doesn't normally need the RST pin. JTAG can attach to an already running MSP. However, the MSP shouldn't reset during attach. Also, a running MSP won't have all of its registers reset to default when the debugger attaches and restarts the firmware. So usually, a reset cycle is started and then the JTAG connection is established and the CPU is halted before it proceeds to main.

    SBW, however, requires teh RST pin for serial JTAG data transfer. If the RST pin is connected to a external signal such as an NMI source, this will prevent JTAG data transfer in SBW mode.

  • Hi Bronislav,

    I wanted to try to explain this statement a little more for others since this is a common question:

    Bronislav Paykin said:
    The connection to the JTAG connector RST pin is optional when using a device that supports only 4-wire JTAG communication mode, and it is not required for device programming or debugging. However, this connection is required when using a device that supports 2-wire JTAG communication mode in 4-wire JTAG mode.

    This statement means that on any device that is capable of SBW mode, you need to have a connection to the RST pin in order to program the part (even if you are only using 4-wire JTAG on the part). It doesn't matter that you are not using SBW, what matters is that you are using a part that has SBW capability (which MSP430FR5969 does - and most MSP430 devices do have this capability.)

    The reason for this is because on devices that are capable of SBW, you need a way to tell the MSP430 device what mode you want it to enter (SBW vs. 4-wire JTAG vs. BSL, etc). This is achieved through an entry sequence that involves the two signals on RST and TEST (it has to be these two signals because if you happened to use SBW these would be the only two pins connected to the programming tool other than Vcc/GND).

    You can see documentation on these entry sequences in this document: www.ti.com/lit/pdf/slau320 Figure 1-11 on p. 21 and there is a description on the previous page. I hope this helps make things a little clearer.

    Regards,

    Katie

  • Katie Enderle Pier said:
    on any device that is capable of SBW mode, you need to have a connection to the RST pin in order to program the part (even if you are only using 4-wire JTAG on the part).

    Thanks Katie, this was new to me too. One more vote against using NMI at all.

**Attention** This is a public forum