-
-
Notifications
You must be signed in to change notification settings - Fork 15
Can't build on x64 for use with RP2040 #19
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
Hi @esologic and thank you for the report. The exception you get is likely it is what is tracked in micropython/micropython#14430 |
Btw, branch for updating to MicroPython 1.24 is here: #21 |
Thanks so much -- I'll be giving this a shot maybe Friday/Sat of this week and I'll follow up. |
I tried running the examples and tests with MicroPython 1.24 on RP2040 now, using the prebuilt .mpy files for armv6m on master. However, I am unable to debug this right now, due to some other deadlines. |
Took another stab at building tonight. To summarize
No dice, I get a very similar error to the original:
I also tried building on an ARM system to see if this yielded any other info, and the error is very similar there as well. As for the prebuilt |
The (proposed) fix for the ARM relocation is not in 1.24.0, so the patch still needs to be applied separately. The branch I use can be found here, https://github.com/jonnor/micropython/tree/emlearn-micropython-v1.24-1 So the hanging observed on RP2040 may (or may not) be related to this patch. One probably needs to dig out a debugger to see what goes wrong. And maybe try to compare with module code which does not create this type of relocation. |
Ahh I see, my bad for misreading. I tried again using the branch you linked and I was able to build However I did run into the same hanging behavior when running through the
I tried building the I'll watch: micropython/micropython#14430 for updates. |
Happy new year @jonnor -- I'm getting back into this related project, are there any experiments and tests I could try to answer questions you have related to this issue? |
Hi @esologic - happy new year. There are no ready experiements at this point. What we need to create is some minimal reproducing module code and build, which we can provide on the MicroPython issue, so that the people there can help out in creating a proper patch. |
Seems that getting soft-float for native modules to work on Cortex M0+ etc is quite difficult, ref micropython/micropython#14430 (comment) So it looks like RP2040 will not really work as native modules. Instead, we like need to support building into the firmware using the user C module instead #18 |
We now have basic support for external module build, and I have given this some very quick testing on RP2040. For anyone wanting to test, there is a pre-built binary for RP2040 for the RPI Pico here Initial documentation on how to build with external modules can be found at https://emlearn-micropython.readthedocs.io/en/latest/external_modules.html |
Hi! The issue linked in the README blocking use on RP2040 looks to be resolved as a few weeks ago, but the deployment artifact is from last summer. I'm super interested on trying this project out on an RP2040, so I tried building it myself but ran into problems:
The micropython version is the lastest, so that being out of date isn't the problem (I don't think)...
I modified
mpy_ld.py
to log some more info. In that functiondo_relocation_text
:The ELF constant for 2 is
R_386_PC32
. Is the issue that I'm trying to build thearmv6m
version on an x86 box?Best,
Devon
The text was updated successfully, but these errors were encountered: