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

Porting guide #124

Open
beriberikix opened this issue Sep 26, 2020 · 6 comments
Open

Porting guide #124

beriberikix opened this issue Sep 26, 2020 · 6 comments

Comments

@beriberikix
Copy link

Is there an existing or planned guide on how to port to platforms? I'm specifically interested in new RTOSes (see discussion on zephyrproject-rtos/zephyr#22247) but I imagine the same guide would be helpful for anyone trying to bring up a new baremetal platform using the Arduino core API.

@alranel
Copy link
Member

alranel commented Dec 8, 2021

Hi @beriberikix - sorry for the late answer. There's no guide at the moment, but it would be very nice to have one. I think a good starting point it the github.com/arduino/ArduinoCore-mbed repository which shows how a platform implementing this API can be developed.
Maybe could you help drafting such guide? :)

@beriberikix
Copy link
Author

beriberikix commented Dec 9, 2021

No worries @alranel! I've also found the arduin-cli to have little nuggets of good information, especially the Platform specification section.

Your reply is actually well timed - my team and are currently exploring this space! Would you be open to chatting further?

@beriberikix
Copy link
Author

Hello! As a small update I submitted a related project for the Google Summer of Code (GSoC) under the linux foundation: https://wiki.linuxfoundation.org/gsoc/2022-gsoc-zephyr#arduino_module_based_on_zephyr

@beriberikix
Copy link
Author

Hello! The GSoC season has ended and we've achieved a lot. The Zephyr Core can be found at zephyrproject-rtos/gsoc-2022-arduino-core. Key Arduino APIs are implemented as well as the ability to call into the Zephyr APIs for advanced usage. Additionally:

  • 4 Arduino Variants are implemented, and one non-Arduino board added as a reference
  • Toolchain (build, flash & debug) supported via the Zephyr SDK
  • Arduino channel created on the official Zephyr Discord server (invite if you need it)
  • First outside contributor!

@alranel integrating into the Arduino IDE 2.0 & CLI will be a critical milestone for the project. Do you know anyone from the community or organization with experience and willingness to help with the implementation?

@beriberikix
Copy link
Author

@alranel bringing this up again as we'd really love help with the IDE/CLI integration. A porting guide is a lot of work so perhaps someone can develop a "minimal" Core implementation that we can study?

@aentinger
Copy link
Contributor

Hello! The GSoC season has ended and we've achieved a lot. The Zephyr Core can be found at zephyrproject-rtos/gsoc-2022-arduino-core. Key Arduino APIs are implemented as well as the ability to call into the Zephyr APIs for advanced usage.

Well, this is pretty cool 😎 👍

@alranel bringing this up again as we'd really love help with the IDE/CLI integration. A porting guide is a lot of work so perhaps someone can develop a "minimal" Core implementation that we can study?

I'd suggest analyzing a simple 3rd party core, i.e. arduino-pico which is a 3rd party core targeting only a single architecture (and MCU for that matter), the RP2040.

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