-
Notifications
You must be signed in to change notification settings - Fork 99
Warning: sysresetreq not set on rp2350.dap.core1 #120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I have the same problem. I also don't know how to set this specific item in whatever configuration file. |
@PaulskPt I've just been specifying it on the command line to launch openocd. Here's a somewhat over-complicated example: |
@cibomahto. Thank you for your message. What I need is to know where I can add the command line: -c "rp2350.dap.core1 cortex_m reset_config sysresetreq" inside the Arduino IDE v2.3.4. I searched in places like:
however, I didn't find where I could add a command like mentioned. |
I'm not using Arduino so I don't know specifically, but try searching those directories for another part of the command, such as "interface/cmsis-dap.cfg". That should help narrow down where the configuration is. |
Thank you. I go to look in there. |
Perhaps @earlephilhower can help? |
Not really sure that the Arduino core (which already has its own OpenOCD core built from the new SDK and RPI's OpenOCD fork) would ever call your own custom built OpenOCD. I suppose you could hack file places, overwriting the Arduino package manager installed copy, but that's not a good long term plan. FWIW, the distributed OpenOCD app also does uploads (and believe me, plenty of debugging too 😆 ) from the IDE w/o any issue that I've heard about. In any case you can look in the installed core's |
@earlephilhower, thank you for your message. In this moment I am using MS Windows 11 Pro. board to test: iLabs cPico (RP2350 with a 3-wire debug connector), an iLabs iProbe (clone of the PicoProbe). Using Arduino IDE v2.3.4. As far as I know, I am not using an "own custom built OpenOCD". In the Arduino IDE v2.3.4 settings, your library https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json. In the sketch menu > Optimize for debugging and in the tools menu > Upload method > Picoprobe/Debuggingprobe (CMSIS-DAP). Debugging is functioning. The only thing is the error mentioned above regarding core1 reset_config sysresetreq. |
The "cortex_m reset_config sysresetreq" setting in the RP2350.tcl script doesn't seem to set the value for core1, leading to warning messages during successful runs: ```` Warn : [rp2350.dap.core1] VECTRESET is not supported on this Cortex-M core, using SYSRESETREQ instead. Warn : [rp2350.dap.core1] Set 'cortex_m reset_config sysresetreq'. ```` Explicitly add the setting to the RP2350 config file to silence the warnings. Fixes raspberrypi#120
Ah, I think I see. Two different users using two different builds of OpenOCD (one from source, one from the arduino-pico core). But both do generate the same warning (which makes sense since I don't patch the source, just take it and build for the ~9 architectures). In any case the warning message seems to be just a warning and not a real problem. Uploads work fine and multicore operations also seem good in all my testing. You can edit those files I suggested or ignore the warning, it seems benign. That said the TCL for the RP2350 here probably needs a patch to remove the warning as @cibomahto suggested. #127 implements his suggestion and does clear things up in testing here. |
I added the line as in #127 in rp2350.cfg. Now the warning is gone. Tnx! See the image of the test sketch halting at a breakpoint. Note that in the Arduino IDE I had to choose as board: "iLabs Challenger 2350 Bconnect" because there does not yet exist a definition for the iLabs CPico RP2350 board. |
That hasn't been added to Pico-SDK either yet: https://github.com/raspberrypi/pico-sdk/tree/develop/src/boards/include/boards |
It's seems that core 1 is not properly reset in my testing. I ran stdio on core 1 on the RP2350. After uploading the binaries using OpenOCD, the input and output are not produced (both USB and UART are checked). I need to reset the target RP2350 by shorting RUN to GND to have input/output working normally. Here is the code used in my testing.
The OpenOCD version is 0.12.0+dev-gcf9c0b41c and the command used for uploading the binaries is: |
I don't think anyone here is reporting that, @light655 . My own multicore I/O tests (using the Arduino core and rp2350) run just fine with or without the extra line to remove the warning (AIUI OpenOCD is doing the exact same thing in both cases, anyway, just removing a warning). You should double check your setup (especially serial ports -> when the chip is reset asynchronously like w/OpenOCD the host USB stack may take some time to reconnect after it runs and may give it a different devnode (COM*: or /dev/tty*). If that's still the case then the forum or the SDK repo would be the right spot for it... |
I've also see the same [rp2350.dap.core1] warnings so I thought it belongs here. |
If I build OpenOCD from the sdk-2.0.0 branch, and use it with a Raspberry Pi Debug Probe to flash a binary to an RP2350, I get the following warnings:
In the rp2350 target, it appears that this is meant to be set, but it seems to be applied to the first core only. If I configure sysresetreq for the second core specifically:
then the warning goes away. I'm not familiar enough with the configuration system to know if the second core should be configured explicitly in the rp2350 config file, or if there is a bug somewhere else.
The text was updated successfully, but these errors were encountered: