-
Notifications
You must be signed in to change notification settings - Fork 46
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
Support for newer CircuitPython firmwares #139
Comments
Performed a bisection of commits between 8.0.5 and 8.1.0 and found this was the first that fails: adafruit/circuitpython@cbfb2d0 (which modifies After reverting that commit, rp2040js can run all the way up to 9.0.0!
Details of the awful bisect scriptI had to remove the part of #!/bin/bash -eu
make fetch-submodules
make -C mpy-cross
cd ports/raspberrypi
sed -i '' 's/-Werror //g' Makefile
gmake -j8 BOARD=raspberry_pi_pico
git checkout Makefile
# Run the program with a timeout
cd /tmp/rp2040js
exec gtimeout 12 npm run start:circuitpython -- --image=circuitpython/ports/raspberrypi/build-raspberry_pi_pico/firmware.uf2 --expect-text "Press any key to enter the REPL" |
Good job! I believe this is the culprit: // Load from the XIP memory space that doesn't cache. That way we don't
// evict anything else. The code we're loading is linked to the RAM address
// anyway.
size_t nocache = 0x03000000; |
That would be the offset from |
Thanks again for spotting the issue. One of the best bug reports I ever received :) |
rp2040js is unable to boot newer CircuitPython firmware. The default version is 8.0.2, which indeed works. Since then, several releases have been made. I tested a few of them:
[RP2040] read from address 100a692d, which is not 32 bit aligned
Others including 8.2.9 and 9.0.0-beta.0 fail with similar unaligned read errors:
The text was updated successfully, but these errors were encountered: