This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Unlock procedure for EFM32LG995F256

Hello!

Chip is locked.

I try to erase full chip  and load hex flash into EFM32LG995F256 using:

Windows10, Ulink2, MDK Arm 4.7.4, MDK Arm 5.28a in SWD mode

And i have errors:

In MDK 4.7.4:

invalid ROM table 

Cannot access memory

Flash Erase failed - Target DLL has been cancelled

In MDK 5.28a:

Unsupported access port

Flash Erase failed - Target DLL has been cancelled

Please help, how resolve it.. Setting, methods, software..

I found this procedure for unlock EFM32LG chips. But how to do it in Keil MDK Arm?

Thanks for any help!

  • First hit for "EFM32 Unlock" on Google.

    https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2014/05/21/unlock_a_brickede-xkAm

    Try the SiLabs community.

    Segger J-Link frequently has tailored tools

    Understand what's happening with the chip, then apply that into the context of what the uLink can achieve.

  • Must have edited post, forum ate a response mid edit.

    Sequence perhaps beyond scope of Keil tools.

    Look if SiLab provides a tool/solution. Code a sequence in another part to drive pins appropriately, ie an MPU where you drive/time pins. Look if Segger has specific app.

  • Thanks for your answer. Yes, segger software can do it, BUT need to use Jlink Arm device. 

    I have only Ulink2 device for communication between IDE -USB - Target and looking how do that using Keil MDK Arm + Ulink2 tool + tool supported Ulink2. Simplicity software support Jlink but Ulink2 is not supported..

    I am very surprised that MDK Arm does not have the option that has been in the software packages of other participants in this market for a long time. this is a very necessary functionality and it is not in MDK, while others will be executed in 1 click: " Unlock chip" "Unsecure chip"

  • Hello Psihuki,

    Thank you for using the Keil tools for Arm devices.

    You said you cannot load the code onto the device. Can you do a flash erase?

    From the screenshot you sent, it looks like this is only possible to write to the AAP registers during flash erasing. The flash algorithm provided with the CMSIS-PACK is probably located on your drive at  C:\Keil_v5\ARM\PACK\SiliconLabs\EFM32LG_DFP\5.7.0\Flash

    It does not look like Silicon Lab provided any source code for the flash programming algorithm, so unless you contact them directly (and see if they will give you the source code) there probably is not a simple way to change those registers.

    (If you contacted Silicon labs, I suspect they will tell you to use their GUI to unlock the device. )


    If you really want to try (and this is speculation, since I usually just use their GUI)

    ... you could try creating a Pre-Download Script

    ... and include it under Options for Target — Utilities — Init File

    ... you would have to uncheck Program in the Flash Download Setup dialog and press OK.

    ... in that script file you could use the "Load" debug command,

    ... finally, you could try the _WDWORD to set the AAP registers.

    To get an idea of what such a script would look like, it would probably be the opposite of this one, where you do the load command first, then use the _WDWORD commands to write values to registers.

    Good luck. Let us know what solution ultimately worked for you.

  • Thanks for your answer. I order jlink v9 ARM tool for unlocking, erasing and loading bin & hex file into EFM32, because software jlink can do it in 1 click.

    Silicon labs GUI = simplicity studio, don't support Ulink2, but support Jlink v9 Arm tool..