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.

TM4C123GE6PM: "Unlock" operation

Part Number: TM4C123GE6PM
Other Parts Discussed in Thread: UNIFLASH, LMFLASHPROGRAMMER

Tool/software:

I have programmed and setup the BOOTCFG register with the following code:

#include <stdint.h>
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"

#define FLASH_FMA  0x400FD000
#define FLASH_FMD  0x400FD004
#define FLASH_FMC  0x400FD008

int main(void)
{
    // 1. FMA should have this value to program BOOTCFG
    HWREG(FLASH_FMA) = 0x75100000;

    // Data to be flashed in BOOTCFG, must be stored in FMD
    // 2. BOOTCFG value: PD1 active LOW = 0xFFFF64FE
    HWREG(FLASH_FMD) = 0xFFFF64FE; //FMD to enable Port D1 on LOW for ROM bootloader execution

    // FMC should have writekey and commit bit
    HWREG(FLASH_FMC) = 0xA4420000 | 0x9;

    // Wait until commit is complete
    while (HWREG(FLASH_FMC) & 0x9);
}

I have the tested this and it worked and the BOOTCFG is working as programmed.

I now want to change the BOOTCFG register to say [0xFFFF66FE] and based on a previous support issue I believe I need to "unlock" the device and then reprogram.

"Once programmed, the only method to change its value again is to do a "Unlock" operation and restore the device to its factory setting."

I have a JTAG interface using the XDS110 Debug Probe. I have tried the Uniflash utility with 'Erase Flash' and 'Blank Check' and LMFlashProgrammer 'Debug Port Unlock -> Unlock' but I have not had success. In Uniflash Memory Browser I am still seeing BOOTCFG as FFFF64FE

What is the best way to go about this?

Thanks!