-
Notifications
You must be signed in to change notification settings - Fork 1.5k
rp2040,rp23xx,rp23xx-rv: allow up to 32 PIO instructions #17515
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
rp2040,rp23xx,rp23xx-rv: allow up to 32 PIO instructions #17515
Conversation
Previously only up to 31 PIO instructions were accepted. But the hardware allowed 32 instructions. Now we accept 32 instructions. See the corresponding commit in the pico-sdk repository: raspberrypi/pico-sdk@6f7dc67 Signed-off-by: Lars Kruse <devel@sumpfralle.de>
6a04bb4 to
9f74074
Compare
|
@sumpfralle I found an issue this weekend when I compiled the raspberrypi-pico board without exporting PICO_SDK_PATH. The compilation went fine, but the final binary doesn't start the board. In the past the build-system stops when PICO_SDK_PATH is not defined, but seems like someone remove the needs for it, but now the binary doesn't work. Exporting the PICO_SDK_PATH and compiling again fixes the issue. Did you notice this issue? |
|
Hi @acassis , does this also occur with CMake? perhaps it is related to this change here #16855 |
No idea, I didn't try CMake, but I can try now and let you know |
CMake is not working here: $ cmake -B build -DBOARD_CONFIG=raspberrypi-pico:usbnsh -GNinja $ sudo apt install python3-kconfiglib |
Hi @acassis , but that's another problem :) remove sudo apt remove package_name try with pip
|
Yes, seems like the build system is not detecting that python3-kconfiglib is installed in my system (Ubuntu 24.04) |
cederom
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @sumpfralle :-)
|
@simbit18 in the CMake the issue doesn't happen because it is detecting that the export is missing: CMake Error at arch/arm/src/rp2040/CMakeLists.txt:100 (message): It is a regression in the Makefile build system, it was working in the past |
|
I opened an issue to track it: #17516 |
|
I noticed that too some time ago but thought it was issue on my end, thanks @acassis !! :-) |
Yes, initially I thought someone broke the mainline, then I compiled with the export and everything worked fine. Actually it should be nice to have raspberrypi-pico working without needing the SDK. NuttX needs to work without attachments! |
Summary
Previously only up to 31 PIO instructions were accepted. But the hardware allowed 32 instructions.
Now we accept 32 instructions.
See the corresponding commit in the pico-sdk repository.
Impact
Calling
rp2040_pio_add_programwith a PIO program containing 32 instructions previously ended in a panic state (DEBUGPANIC).Now 32 instructions are accepted.
Testing
Uploading my application with 32 PIO instructions previously froze the device (rp2040).
Now uploading 32 PIO instructions succeeds.
No further testing was conducted with rp23xx or rp23xx-rv devices.
But the upstream code (pico-sdk) uses the same
assertfor all three device groups. Thus, the change should be suitable for all platforms.