[DUPLICATE] RP2040 / Pi Pico problem with J-Flashing via J-Link EDU and a EDU mini...

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

  • [DUPLICATE] RP2040 / Pi Pico problem with J-Flashing via J-Link EDU and a EDU mini...

    Good morning All :)

    Late last week I purchased a Pi Pico board and a Arduino Nano RP2040 Connect, with an J-Link EDU mini (dated 9th week year 21)...

    I then did a firmware update to EDU mini, it was dated 7th June 2021.

    Then in PlatformIO I then tested the Pi Pico with the classic Blinking LED sketch, this is where the problem showed. On first upload was
    with out error and the LED blinked. On the second upload of the identical sketch the RP2040 appeared to go in to a low power stupor of

    about 5mA and it's serial port disappeared. The only thing that would bring it back is a power cycle / reset...

    To test further I directly took the compiled hex from PlatformIO as well as a hex file compiled by Arduino IDE 2.0b6 and uploaded them
    directly via Segger J-Flash Lite V7.20, I did so to bypass any possibility configuration error by PlatformIO or Arduino IDE.

    This was also done both a Win10 and Mx Linux (Debian based) machine...

    Was about this time I crossed paths with another Maker / Hobbyist on line, he did the same test with his MacOS and also used blinky
    hex file compiled from Pi Pico SDK (bare metal) the result was the same, upload was also done via Segger J-Flash Lite V7.20....

    Five days later I then purchased a full size J-Link EDU hw version 11 (dated 9th week year 21), firmware updated. The exactly same
    issue showed it self as described above...

    Below shows result of the first and second upload via Segger J-Flash Lite V7.20 ....
    Images
    • J-LinkFlasher.png

      36.8 kB, 502×579, viewed 261 times
  • Morning :)

    Yesterday Sunday 27th this firmware update come through for my EDU hw 11:-

    Connecting to J-Link via USB...Updating firmware: J-Link V11 compiled Jun 17 2021 16:42:11
    Replacing firmware: J-Link V11 compiled Jun 7 2021 15:48:52
    Waiting for new firmware to boot
    New firmware booted successfully
    O.K.
    Firmware: J-Link V11 compiled Jun 17 2021 16:42:11
    Hardware version: V11.00
    S/N: xxxxxx823


    I've since retested my Pi Pico mentioned in my first post, and the result is the same when using Segger J-Flash Lite V7.20....

    I also did the test with SEGGER J-Link Commander V7.22b via PlatformIO, the result is shown below.... :(

    1st Test...
    ============================================================================================
    SEGGER J-Link Commander V7.20 (Compiled Apr 28 2021 17:35:36)
    DLL version V7.20, compiled Apr 28 2021 17:34:08


    J-Link Command File read successfully.
    Processing script file...


    J-Link connection not established yet but required for command.
    Connecting to J-Link via USB...O.K.
    Firmware: J-Link V11 compiled Jun 17 2021 16:42:11
    Hardware version: V11.00
    S/N: xxxxxx823
    License(s): FlashBP, GDB
    OEM: SEGGER-EDU
    VTref=3.277V
    Target connection not established yet but required for command.
    Device "RP2040_M0_0" selected.


    Connecting to target via SWD
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    Found SW-DP with ID 0x0BC12477
    DPIDR: 0x0BC12477
    Scanning AP map to find all available APs
    AP[1]: Stopped AP scan as end of AP map has been reached
    AP[0]: AHB-AP (IDR: 0x04770031)
    Iterating through AP map to find AHB-AP to use
    AP[0]: Core found
    AP[0]: AHB-AP ROM base: 0xE00FF000
    CPUID register: 0x410CC601. Implementer code: 0x41 (ARM)
    Found Cortex-M0 r0p1, Little endian.
    FPUnit: 4 code (BP) slots and 0 literal slots
    CoreSight components:
    ROMTbl[0] @ E00FF000
    ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
    ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
    ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
    Cortex-M0 identified.
    PC = 100061F6, CycleCnt = 00000000
    R0 = 00000001, R1 = 00000001, R2 = 00000001, R3 = 00000000
    R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
    R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
    R12= 00000000
    SP(R13)= 2000B260, MSP= 2003FFC0, PSP= 2000B260, R14(LR) = 10006EC7
    XPSR = 61000000: APSR = nZCvq, EPSR = 01000000, IPSR = 000 (NoException)
    CFBP = 02000001, CONTROL = 02, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 01
    FPU regs: FPU not enabled / not implemented on connected CPU.


    Downloading file [.pio\build\pico\firmware.hex]...
    Comparing flash [100%] Done.
    J-Link: Flash download: Bank 0 @ 0x10000000: Skipped. Contents already match
    O.K.


    Reset delay: 0 ms
    Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.
    Reset: Halt core after reset via DEMCR.VC_CORERESET.
    Reset: Reset device via AIRCR.SYSRESETREQ.


    Script processing completed.

    ============================================================================================

    2nd Test...
    ============================================================================================

    SEGGER J-Link Commander V7.20 (Compiled Apr 28 2021 17:35:36)
    DLL version V7.20, compiled Apr 28 2021 17:34:08


    J-Link Command File read successfully.
    Processing script file...


    J-Link connection not established yet but required for command.
    Connecting to J-Link via USB...O.K.
    Firmware: J-Link V11 compiled Jun 17 2021 16:42:11
    Hardware version: V11.00
    S/N: xxxxxx823
    License(s): FlashBP, GDB
    OEM: SEGGER-EDU
    VTref=3.277V
    Target connection not established yet but required for command.
    Device "RP2040_M0_0" selected.


    Connecting to target via SWD
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    Cannot connect to target.

    Target connection not established yet but required for command.
    Device "RP2040_M0_0" selected.


    Connecting to target via SWD
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    Cannot connect to target.

    Target connection not established yet but required for command.
    Device "RP2040_M0_0" selected.


    Connecting to target via SWD
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    ConfigTargetSettings() start
    J-Link script: ConfigTargetSettings()
    ConfigTargetSettings() end
    InitTarget() start
    InitTarget() end
    Cannot connect to target.

    Script processing completed.

    ============================================================================================

  • Hello,

    Thank you for your inquiry.

    FeK9 wrote:

    about 5mA and it's serial port disappeared. The only thing that would bring it back is a power cycle / reset...
    That is expected behaviour see here:
    wiki.segger.com/Raspberry_Pi_RP2040#J-Link_Support

    A workaround for this is planned but without a fixed time schedule.

    To get notifications when J-Link software updates are available you can subscribe here:

    segger.com/notification/subscribe.php?prodid=7


    Before you do not see that a workaround has been implemented in release notes you will have to power cycle/reset the chip.


    As this has already been discussed in multiple other threads this thread will be closed as duplicate.

    Best regards,
    Nino
    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.