[SOLVED] Debug Lock Access - Start Application

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Debug Lock Access - Start Application

    Hi all,

    I encounter a problem as I want to perform a standalone programming and debug lock access in one shot using a Flasher Arm with a BGM13S (EFR32G13 from Silicon Labs).
    The program is placed in the Flasher secure area to prevent software read back from a third party facility. Standalone programming (as well as unlocking locked device) works fine.
    I have added exit steps in J-Flash to clear the Debug Lock Word (which works) to block the device access to prevent malicious actions. The problem is after these steps, the embedded application does not start. Attempts to reset the device or using the Start Application check box in the Production tab do not work. Logs show that a connection is attempted to perform the reset (whatever the reset type used); unfortunately, such an attempt triggers a mass device erase. If I remove the reset step, everything is fine apart that the application does not start, even when power cycling the embedded system.

    Would you have a hint to solve this problem?
    Thanks,
    Alex
  • I finally found the problem.

    For writing my Exit Steps, I followed the sequence described in this KB article (replacing the MSC address with the correct one):
    silabs.com/community/mcu/32-bi…/writing_to_internal-D0Tt

    The problem lies in the fact that the Lock Bits Page is firstly erased. This lead for me to the following sequence:
    - Chip Unlock (if necessary)
    - Chip Erase
    - Program
    - Verify
    - Erase Lock Bits Page
    - Clear Debug Lock Word
    - Reset

    This was the Erase Lock Bits Page which caused the misbehavior, probably because some Lock Bits where cleared during the programming phase, but I cannot confirm this... at least I have not checked.

    In any case, the Erase Lock Bits Page is not necessary because there is only two use cases. In one case, the chip is new and completely blank. On the other case, the chip is programmed (eventually locked) and before programming, it is unlocked and erased. In both cases, the Lock Bits Page is cleared before the programming phase.

    As far for the application start, checking the application start checkbox and selecting the Reset Pin method in the J-Flash production tab do the job.

    And I checked that the chip is correctly locked :)
  • Hi Alex,
    Good to hear that you found a solution and are up and running again.

    We will consider this thread as closed.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.