Replies: 2 comments
-
Thanks to @henrikbrixandersen we have an initial NEORV32 port for Zephyr 🎉 Btw, I also really like https://github.com/RIOT-OS/RIOT. Porting that has been on my TODO list for quite a long time 😅 |
Beta Was this translation helpful? Give feedback.
-
while Zephyr has lots of support for "tasks" (with many different scheduling policies), each task requires its own stack -- which obviously consumes precious SRAM.... like FreeRTOS (as well as Posix threads), these tasks can block at any point of their execution by waiting on a semaphore/condition/queue/etc.... the per-task stack is used to save/restore registers when switching tasks.... my experience, however, in simple "fringe" devices (eg, wireless sensors) is that blocking tasks can be replaced with a much lighter-weight non-blocking thread which is effectively a very low-priority ISR.... this is a core capability of the EM runtime, where applications can create 10s of threads with only 8 bytes of data overhead.... at some point, we can deep-dive more into this topic -- and explain why FreeRTOS is much to heavyweight for your needs.... |
Beta Was this translation helpful? Give feedback.
-
i'm starting a dive into
zephyr
, and was curious about others' experiences with the software....i'm particularly interested in code size -- basically the output of
size
on the final executable image....i'd also like to know more about some realistic applications for
neorv32
+zephyr
Beta Was this translation helpful? Give feedback.
All reactions