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.

Recovering a "Locked" Microcontroller

Other Parts Discussed in Thread: TM4C123GH6PM, UNIFLASH

Hello,

I would like to recover ( restore) non-volatile registers on Tiva MCU ( the reason is to re-programming "BOOTCFG" register),

so I read the recover sequence

on the chapter "4.3.4.3 Recovering a "Locked" Microcontroller" in the document

"Tiva™ TM4C123GH6PM Microcontroller DATA SHEET",

but I feel the sequence is complex...

Is there any method to recover non-volatile registers , for example , by using any TI tool ?

I would appreciate if someone could reply.

Regards,

Hiroyasu

  • Hello Hiroyasu

    If a non-volatile register is committed then Unlock is the only mechanism to recover it. Please refer to the following application note for details.

    www.ti.com/.../spma075.pdf

    It may see complex but if done correctly, it is not.
  • Hello Amit Ashara,

    Thank you for your reply.
    I could execute the "Recover the Tiva Mcu" by using Uniflash command.
    (And it could be done easily, not complexed.)

    And ,I programmed the "Bootcfg" register as I expected.
    But the program cound not be configured after power-up.

    The value of the Bootcfg register is shown on the attached figure.
    And I also attached the CCS project that I used to try to boot.

    The CCS Version is 6.1.3.00034.

    And, the boot sequence I expected is : demo_primitive.zip

    Check the "PB4" port if its polarity is 1 or not.
    ->
    The polarity on the circuit is "0",so the polarity is
    unmatched, then check the address *0000 0004.
    ->
    The value of *0000 0004 is "0000 0A9D", so
    the Tiva mcu starts to run application program.

    And this demo program would be executed ,if I use
    CCS and the debugger (XDS100V2),load the program on CCS,
    and execute "Run" on CCS.

    I wonder what is incorrect about this demo program and the
    custom board ( or the setting of "Bootcfg" ?).

    What should I do to boot the demo program correctly ?
    I would appriciate if someone could reply to my quesiton.

    Regards,

    Hiroyasu

  • Hello Hiroyasu

    The PB4 pin must be held to the active polarity, when the reset is asserted and then released OR device is powered up for the ROM boot loader to be invoked.
  • Hello Amit Ashara,

    Thank you for your reply.
    I tried to change the "bootcfg" resister value about the "Polarity" and "EN" to some patterns,
    but the boot configuration couldn't be done.

    I wonder if any hardware condition , any specific pin setting ,is incorrect or not.

    Could you suggest any possibility to resolve this problem ?

    Regards,
    Hiroyasu
  • Hello Hiroyasu

    The BOOTCFG_GPIO_EN must be set to 0 and BOOTCFG_GPIO_NW must be set to 0 as well when committing the register. Can you please confirm and check the same?
  • Hiroyasu Matsubara said:
    I would appriciate if someone could reply to my quesiton.

    Pardon but vendor's Amit has been "all over" your questionS!

    Your "appreciation" would better register here if you'd avoid such unfair characterizations.  (and surely - NOT in your best interest to be so negative!)

  • Hello cb1,

    Thank you for your advice.
    I take advice from your adivice sincerely.
  • Hello Amit Ashara,

    I could boot the device correctly.
    The reset circuit on our custom board was incorrect !
    I'm sorry that our circuit was incorrect.

    I set the Bootcfg register as, NW to 0, EN to 0, and so on.
    Thank you for your detailed advice.

    Regards,
    Hiroyasu