Flasher ARM - Stand Alone: Application does not start when i try to activate it remotely

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

  • Flasher ARM - Stand Alone: Application does not start when i try to activate it remotely

    Hi Segger and everyone else!
    I have a Flasher ARM, using 'SEGGER J-Flash ARM V4.66' on a Nordic Semiconductor nRF51822.
    When I use the J-Flash ARM via USB and set up the 'Production'-tab with the following options on 'Actions performed by "Auto"'
    Erase = yes
    Prorgam = yes
    Verify = yes
    Secure chip = no
    Start application = yes
    press F7. Everything works properly!
    Then I download the project to the flasher and connects via RS232-interface, i write select the correct file and executes the '#AUTO' command. It reports the following
    #ACK
    $FW: Entering standalone mode... OK
    #STATUS:INITIALIZING
    #STATUS:CONNECTING
    #STATUS:UNLOCKING
    #STATUS:ERASING
    #STATUS: PROGRAMMING
    #STATUS:VERIFYING
    #OK (Total 0.125s, Erase 0.048s, Prog 0.030s, Verify 0.016s)

    But the application did NOT start!
    Something is different from when i run it J-Flash ARM...
    BUT! If I add these 'Exit steps' in the 'CPU'-tab of the Project settings
    Reset (0, 0)
    Go
    and download the project to the Flasher and runs #Auto again the application starts but i get the following error message + a 2second delay before i get it
    #ACK
    $FW: Entering standalone mode... OK
    #STATUS:INITIALIZING
    #STATUS:CONNECTING
    #STATUS:UNLOCKING
    #STATUS:ERASING
    #STATUS: PROGRAMMING
    #STATUS:VERIFYING
    #ERR255:Timeout while restoring target, core does not stop
    #OK (Total 2.257s, Erase 0.048s, Prog 0.030s, Verify 0.016s)
    Any suggestions how to get this to work? I've tried different reset types by changing Reset (0,0) to Reset (1,0) ... up to ... Reset (10, 0) without success. Also tried to add a delay in the Reset command i.e Reset (0, 100) also without success.

    Best Regards
    Peter
  • Hi,

    Please note that the "Start application" requires the RESET pin of the MCU to be connected to Flasher.
    Otherwise this option will not work.

    Reason: Toggling the RESET pin to start the CPU is the only device-independent way to implement this.
    The problem with the Reset() + Go() steps you implemented is that this will not work for all devices because a "Reset" command on Cortex-M usually does not toggle the RESET pin but uses a Cortex-M internal signal (writing an SFR) to perform the reset.
    We have seen devices on which this does not work correctly. Some do not have wired this signal properly inside the MCU on some it does not work when security was activated by the image that has been programmed, ...

    Regarding the error you are seeing:
    Not sure where this comes from. Since I do not know your application code I would guess that it performs some steps that inhibits Flasher from communicating with the target any longer as soon as the application starts running.


    Best regards
    Alex
    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.