Skip to content
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

MicroPython? #1277

Closed
jedie opened this issue May 4, 2022 · 4 comments
Closed

MicroPython? #1277

jedie opened this issue May 4, 2022 · 4 comments

Comments

@jedie
Copy link

jedie commented May 4, 2022

Will it ever be possible to get MicroPython running?!?

@ghaerr
Copy link
Owner

ghaerr commented May 4, 2022

Hello @jedie,

Looking at https://micropython.org, it says that MicroPython can run in as little as 256K code and 16K RAM. ELKS can at best, using our current far model, only support 128K code, so it does not look possible at the moment. Also, I haven't looked at any of the source to see whether running on a 16-bit int machine will pose porting problems.

Thank you!

@cocus
Copy link
Contributor

cocus commented May 4, 2022

It seems to be quite modular though, so it should be possible to disable features until it fits. There's a unix port already, so it should be "easy" to port it. I see heavy usage of pointers with malloc/free, and no regards to the segmented memory model. There's a dsPIC33F variant (16 bit MCU) which although it might contain heaps of flash, it is indeed limited (and a 16 bit target). I had a glance at the config but I couldn't understand how to selectively enable or disable stuff so the binary size gets as small as possible.

@ghaerr ghaerr closed this as completed Jun 16, 2022
@jedie
Copy link
Author

jedie commented Jun 20, 2022

I couldn't understand how to selectively enable or disable stuff so the binary size gets as small as possible.

Maybe good starting point is the minimal port -> https://github.com/micropython/micropython/tree/master/ports/minimal

@ghaerr
Copy link
Owner

ghaerr commented Jun 20, 2022

Maybe good starting point is the minimal port -> https://github.com/micropython/micropython/tree/master/ports/minimal

It appears that "minimal" port still requires 32 bit CPU. The documentation does show a 16-bit PIC version: https://github.com/micropython/micropython/tree/master/ports/pic16bit.

I don't know Python well enough to take this on. Any takers? Contributions welcome and I'll help if possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants