-
Notifications
You must be signed in to change notification settings - Fork 6
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
Update to newer upstream micropython #6
Comments
I'm glad to hear that! You should thank the MP folks for their work though, porting it is a miniscule part compared to the work they did upstream :-) I tried to update to a newer version in the next branch both here and in a local clone a while ago, but due to huge changes in the makefile and overall project structure that wasn't trivial... I did a quick port of the remnants onto upstream/master and pushed it into the next-next branch here. It builds fine but has quite some issues, for instance everything you enter causes an "uncaught NLR exception". Anyway, it would probably be best to clean the port up a bit and maybe, just maybe, make it clean enough to go upstream. |
I just set up the SDK and got it to build, and indeed I see the same issue. I tried doing the same https://github.com/micropython/micropython/pull/1686/files did to show some more information, but unfortunately that just jumps into Looking at the memory with the Firebird debugger doesn't really seem helpful either, two examples:
I don't seem to be able to get a backtrace (because it's something similar to setjmp/longjmp if I understand correctly?!), and I'm not sure how to debug this on a C level so I could break earlier - any pointers would be appreciated! 😉 |
You can use gdb to set a breakpoint on longjmp and get a backtrace from there - make sure to enable debuginfo first. |
That helped, thanks! See #7. |
Bumpity bump :) Also, after rebasing from upstream, you should consider adding more default modules, like random (all other micropython on graphing calcs have it, for instance) |
Well, that updated main.c, but MP itself has changed quite a bit since the rest of the codebase was forked for/to the nspire. Also, for next-next, I'm not sure which version it's based off, I've seen it getting updated in 2017, but...? Well anyway, it'd still need a rebase from upstream. |
FWIW I personally likely won't continue working on this - that change was self-motivated (needing a new enough Python for an exam where the Nspire was allowed 😉), but nowadays my NSpire mostly collects dust, and most likely I won't have any exams where I need it anymore until I got my bachelor's degree next August. |
Right - it’d be a task for @Vogtinator then :p |
Yup - unfortunately it would require an almost complete rewrite as micropython's architecture changed quite a bit. |
Hey! First of all, thanks a lot for porting MicroPython to the NSpire, it's really useful for me!
I wanted to ask if there's a particular reason (that is, other than lack of time, which I can completely understand) this was never updated to a more up-to-date upstream micropython?
If there isn't, and you don't have the time to do this anytime soon, I might find some time in September to see if I can get it to build, and try to merge the upstream micropython master. If this works out without too much effort, should I open a PR for it? Not sure how reviewable that'd be though...
The text was updated successfully, but these errors were encountered: