Minimal System Reference Topologies #4791
SterlingPeet
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I recently decided to see if I could reasonably shoehorn the F Prime Zephyr Reference onto an ESP32, as an experiment in the grander scheme of attempting to find a home for the interesting platforms currently targeted in the F Prime Arduino.
This is effectively exploratory work to determine if we can drop the Arduino OSAL in favor of a proper RTOS for everything except the ATmega128 and ATmega2560. Those platforms require an external RAM add-on, so using Arduino was really a shim to avoid writing the peripheral support up front while requiring hardware that didn't neatly run out-of-the-box on official Arduino boards.
The fundamental problem the has pushed F Prime Arduino support into crisis comes from the toolchain management side of things. Arduino's IDE restructure and the advent of
arduino-climade it possible to choose your own IDE and do headless builds, but there is a lot of friction to maintaining a messy build adapter that serves primarily to appear accessible to the crowd familiar with the Arduino brand.Reviving the F Prime Arduino OSAL is a different discussion topic, and if people want to debate its value, I can start a different discussion thread for that.
Back to the task at hand! Cramming Zephyr RTOS onto the ESP32 along with the full system reference topology is a lot of memory for that platform, and while I have managed to get downlink over UART working, commanding is still elusive. A preview of this work can be viewed here:
https://github.com/SterlingPeet/fprime-zephyr-reference/tree/esp32_preview
Terminal Screen Capture
So the big question is this: Is there (or should we have) a standard minimal system reference for very very small platforms, that gets a minimal no-frills deployment running?
No sequencing, no multi-step framing and deframing, maybe a single gpio blinker component supporting a command or two. Literally the minimum table stakes. Perhaps a platform viability test that [hopefully] doesn't require a developer to spend 3 days adjusting F Prime and editing topologies to find out if it will fit on the platform. Twelve active components feels a little to big for this scenario.
Thoughts?
Beta Was this translation helpful? Give feedback.
All reactions