You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Being curious: is support for the Ambiq MCUs (Apollo3, Apollo4) something that would be reasonably doable with embassy, or would it be far too much work?
The text was updated successfully, but these errors were encountered:
'Far too much work' is quite relative to how much time you have, but I will try to summarize what's needed:
From what I can tell, there are a few peripheral access crates for Ambiq: https://crates.io/search?q=Ambiq . Whether those are in good shape or not, or if it makes more sense to create a new one, I do not know.
Since Ambiq is cortex-m based (at least from quick googling, I'm not familiar with the MCU), a lot of the basics are covered, your main job would be to implement a few peripherals in an embassy-ambiq HAL
Once you have a PAC, the next step is to create a hardware abstraction layer (HAL) that usually spans all of the variants, i.e. embassy-ambiq. It may not be a lot of work, depending on which peripherals you need to support or how different it is from existing HALs that you can draw inspiration from.
I would recommend starting with implementing GPIOs, and perhaps a time driver so that embassy-time etc. works as expected. Critical sections and the executor should already be working on ambiq since they are generic for cortex-m.
A HAL can be created either within or outside the embassy repo, esp32 for instance is in the esp-rs org. So don't feel like it must be in embassy-rs for it to be embassy compatible.
Ok, thanks for the explanation! :) I will have a look, thought this is probably above my skill and available time. Maybe we keep this open in case I or someone else takes the leap and works on this? :)
Being curious: is support for the Ambiq MCUs (Apollo3, Apollo4) something that would be reasonably doable with embassy, or would it be far too much work?
The text was updated successfully, but these errors were encountered: