-
Notifications
You must be signed in to change notification settings - Fork 952
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
Fix: solve the problem that micropython could not be used #2098
base: develop
Are you sure you want to change the base?
Conversation
Ping @ryanplusplus and @mcauser in case they have any thoughts... |
Doesn't the Xiao RP2350 work with Micropython? The Seeed Wiki seems to indicate that it does: Can you provide some more information about why this is necessary and how you determined that it was necessary? I checked the Xiao RP2040 and it is also using a SPI clock divisor of 2 with what I assume is the same flash chip (the schematic leaves it unlabeled). If there's a difference, I would guess it's related to the layout. However, I'm not sure why a problem would only present itself for MicroPython and not when using the C/C++ SDK directly. |
I just noticed this warning in the Wiki:
Are you working with/for Seeed to solve this issue? |
RP2040 also has a default clock speed of 125MHz whereas RP2350 has a default clock speed of 150MHz; so I guess if something was already operating at the margins of tolerance it'd be much more likely to not work at the higher frequencies of RP2350? |
emmm, actually, I work at Seeed |
Aha! In that case I'll approve this PR 🙂 |
Yes, the current situation seems to be that the SPI clock frequency is too high to be used properly. |
Do we understand why it works properly for the C/C++ SDK? Reducing the SPI clock by half will have a large performance impact. |
Just a random guess, but perhaps C applications are "lighter weight" than MicroPython applications, and are therefore able to make better use of the XIP cache? (of course I could easily be 100% wrong) |
It seems that the SPI frequency of the firmware compiled by C/C++ SDK is always 50 MHz, regardless of whether PICO_FLASH_SPI_CLKDIV is modified or not. I'm not sure how 50 Mhz is configured. |
I think this is related to #1903 - on RP2350 the |
Oh interesting! IMHO this definitely deserves to be better documented, as currently the only mention of this in https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf is "A |
Solved the problem that micropython could not be used normally in XIAO RP2350