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

circuitpython on zephyr #8135

Closed
mfgamma opened this issue Jul 1, 2023 · 5 comments
Closed

circuitpython on zephyr #8135

mfgamma opened this issue Jul 1, 2023 · 5 comments
Milestone

Comments

@mfgamma
Copy link

mfgamma commented Jul 1, 2023

hi

well it would be a major boost for hi end embedded applications to have it on zephyr rtos

@dhalbert dhalbert added this to the Long term milestone Jul 5, 2023
@dhalbert
Copy link
Collaborator

dhalbert commented Jul 5, 2023

Issue from discussion in https://forums.adafruit.com/viewtopic.php?p=977770.

Copied from there:

We have discussed this, starting several years ago. Zephyr at the time had fixed pin assignments, which did not work for us. There has been progress in that direction: https://github.com/zephyrproject-rtos/z ... sues/11918.

@dhalbert dhalbert closed this as completed Jul 5, 2023
@dhalbert dhalbert reopened this Jul 5, 2023
@tannewt
Copy link
Member

tannewt commented Jul 5, 2023

What would you want from CircuitPython that MicroPython on Zephyr doesn't provide?

@Jones14021
Copy link

My main need would be the Adafruit web libraries like the adafruit_httpserver
and the USB/web workflows.
Relying on frozen modules in Micropython for run-on-boot capability doesn't even come close to the convenience of the CircuitPython USB worflow imho.

Zephyr OS offers very easy portability and very wide hardware support. Especially Ethernet support (for internal MACs) is one major feature that is missing from CircuitPython at the moment (unless one wants to use the WIZNET5K chips externally).
Since adding Ethernet support to ports like the ports/atmel-samd (e.g. for using SAM E54 built-in GMAC peripheral) looks to be quite challenging and limited to one port at a time, using the Zepyhr OS Ethernet implementation would promise:

  • easy maintenance (relying on Zephyr's HAL)
  • broad hardware support
  • common implementation and API for all supported devices on CircuitPython side

One hope of mine would also be that e.g. protocol support for Zigbee, Thread etc. would be far easier to achieve when relying on Zephyr OS's hardware abstraction.

@tannewt
Copy link
Member

tannewt commented Jul 23, 2024

I'd be happy to review and merge a Zephyr port of some sort. I'm still concerned that Zephyr isn't dynamic enough to build CP on top of. (Pin muxing is the main example.) I'd be happy if someone could prove me wrong.

@tannewt
Copy link
Member

tannewt commented Dec 20, 2024

I've opened #9902 so that I can edit my own top post. Thanks for opening this earlier.

@tannewt tannewt closed this as completed Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants