[SOLVED] RP2040 Support

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

  • [SOLVED] RP2040 Support

    Hi guys,
    so Raspberry recently released their RP2040 MCU, it has dual Cortex M0+. Are there any plans to add support for this MCU? It is using multi-drop SWD for debugger connection. I tried to use it by simply pointing to Cortex M0+ device however it's not really possible...

    Best Regards
  • Hi,

    Yes, unfortunately they are using multi-drop to control access to the cores in the MCU (which does not really make sense and is not what multi-drop was designed for) but it is what it is.
    We just added basic debug support for it internally today (no official version yet).
    QSPI flash programming support is work in progress.
    A first beta version may be available by the end of this week or sometime next week.

    BR
    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.
  • SEGGER - Alex wrote:

    Hi,

    Yes, unfortunately they are using multi-drop to control access to the cores in the MCU (which does not really make sense and is not what multi-drop was designed for) but it is what it is.
    We just added basic debug support for it internally today (no official version yet).
    QSPI flash programming support is work in progress.
    A first beta version may be available by the end of this week or sometime next week.

    BR
    Alex
    Hi Alex,
    nice to hear that, I hope it won't be much pain!


    Chris
  • What J-Link versions will work with the RP2040?
    I have a J-Link Edu mini, is it Ok? If not, the J-Link Edu? Are there hw versions to take care of on new purchase?
    The Embedded Studio will support the RP2040 too?
  • Hi,

    (EDU Mini V1) => Need to check that internally. Not sure about multi-drop being supported.
    EDU / BASE / PLUS V11
    ULTRA+ / PRO V5
    J-Trace PRO Cortex / CortexM V2

    Everything else is out of support and not guaranteed to work.


    BR
    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.
  • SEGGER - Alex wrote:

    Hi,

    (EDU Mini V1) => Need to check that internally. Not sure about multi-drop being supported.
    EDU / BASE / PLUS V11
    ULTRA+ / PRO V5
    J-Trace PRO Cortex / CortexM V2

    Everything else is out of support and not guaranteed to work.


    BR
    Alex
    Hi Alex,
    According to "Software and Hardware Features Overview" on
    wiki.segger.com/Software_and_Hardware_Features_Overview
    SWD multi-drop is supported by EDU/BASE/PLUS starting with version 10 and by ULTRA/PRO starting with version 4. The last two also do not have version 5 yet.
    Could you please clarify this.
  • So the mini is not good for the job. Thank you for testing n1kt0.
    How do I know the version of the J-Link Edu? Distributors like Farnell and RS-Online mark them as 8.08.90. Not sure what that means. The manual simply enumerates all the possible products. I think that a clear version number is mandatory, isn't it?
  • @n1kt0:
    For the EDU Mini it is a bug that will be corrected. It is still under maintenance and shall support the RP2040.

    @misha:
    You misunderstood me. I never wrote that the V4 do not support multi-drop. But just because they do, does not mean that they support a brand new device. You cannot expect that a probe that came out years ago supports every brand new device that comes out today or tomorrow.
    Just because a 10 year old probe supports JTAG as a protocol does not mean it supports all current devices that use the JTAG protocol.

    We will update the wiki but my statement stays the same. No guarantee for any other version than the ones I mentioned.


    BR
    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.
  • EDU Mini:
    SWD multi-drop will be supported in today's release (V6.96).
    Planned to be available in about 4-6 hours from now.


    BR
    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.
  • Hi Alex.

    I see that the J-Link release from last Friday (2021-02-19) V6.96 plus Ozone V3.22b released the same day has RP2040 support baked in as you indicated would be the case earlier in this thread. Downloading and running code out of RAM, plus debugging code in Flash downloaded through another mechanism (like BOOTSEL) also works well and is worlds more stable than the OpenOCD dual RP2040 setup the Raspberry Foundation is pushing for this part. I have been using a J-Link Base (EDU) + Pico + Mac / RPI4 / and Windows 10 machine for testing. All work well.

    Programming the on-board Flash through JLink seems to be a work in progress though - is there any stumbling blocks to making this work within the Segger flow other than development time? With that piece up and running I'd expect a fair few new people could be introduced to the Segger JLink products; unlike the ST and NXP dev boards the Raspberry foundation didn't really address seamless debugging with this product - I don't really count big-banging from a Raspberry Pi to be a viable solution.

    Thanks for supporting this part so quickly, and keeping the users up to date with progress in this thread.
    Chris.
  • Hi,

    To the best of my knowledge, flash programming was supported together with generic debug support for the device.


    BR
    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.
  • I learned today that QSPI support was not added yet but I discussed with my colleague that he will work on it this week.
    If everything works flawlessly, it should be available in a beta version by the end of the week.


    BR
    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.
  • For what it's worth I can confirm it indeed is not working yet after re-trying several boards and configurations, but everything else seems to be working great. When QSPI support is ready to go I'll be happy to try it out. As mentioned running out of RAM or loading the flash via BOOTSEL then debugging works.

    Thanks for updating the status.
    Chris.
  • Debug session is working in Ozone with my Edu mini. :)

    Ozone v3.22b, RP2040_M0_0, SWD, 4MHz

    I compiled a simple blinky project in PlatformIO, using the WizIO-Pico platform.
    I added “build_flags = -g3” to .ini to get debug info in the .elf file.

    The upload is not working in Ozone, but “attach to running program” is OK, single step, breakpoints are working, so I simply use the usb upload in PIO.
    Didn't tried more complex functions yet.

    Thank you for the great J-Link support.
  • Hi,
    We can confirm that QSPI support is not yet working on the PICO board.
    We are currently working on adding support for the QSPI flash.

    Until then you could make use of the workaround suggested by vorosj.

    We will keep you posted.

    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.
  • Beta Release JLink_V697a, released just last Friday Feb 26th indicated in the release notes that RP2040 flash programming was supported (with a whole host of other changes as well). From everything I've tried with this Beta release Raspberry RP2040 support is working well - can debug with builds to flash or RAM, all the Segger tools seem to work with this part just fine. As it is a Beta release presumably it is still being tested, but so far I have not found any problems with it.

    Thanks for getting this up and running so quickly.
    Chris.
  • Hi Chris,
    yes I can confirm that we added QSPI support for this device for the beta version.

    As this is a feature addition it will stay exclusively in beta until the next full release of the J-Link Software (V6.98), which is not yet scheduled.

    Until then you would have to use the beta version, as indicated above (V6.97*, * = Revision).

    We will close this thread now, as the inquiry is solved.

    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.
  • FYI, there is also a V6.98 (release) available now.
    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.