How zigembeddedgroup/microzig works
MicroZig is an in-development Zig embedded-development project; the README points users to its website but documents no concrete workflow. The supplied tree shows supporting runtime modules: a freestanding libc interface, lwIP networking configuration/hooks, FreeRTOS/Pico SDK compatibility, and RP2040 register definitions. Edges below reflect the sampled headers and IRQ implementation or explicit comments; the main Zig application/platform entry points are not present, so no end-to-end firmware flow is inferred.
Main entry points: picosdk_irq.c IRQ support · lwip.h lwIP facade · include Libc headers · freertos.h FreeRTOS API
Components 13
C Runtime
- Libc headers
modules/foundation-libc/include - Assert API
modules/foundation-libc/include/assert.h - Libc API
modules/foundation-libc/include/foundation/libc.h
Networking
- lwIP facade
modules/lwip/include/lwip.h - lwIP options
modules/network/src/include/lwipopts.h - lwIP platform hooks
modules/network/src/include/arch/cc.h
RTOS Support
- FreeRTOS API
modules/freertos/include/freertos.h - IRQ support
modules/freertos/src/picosdk_irq.c - Pico SDK stubs
modules/freertos/src/picosdk_stubs.c
Hardware Support
- RP2040 registers
port/raspberrypi/rp2xxx/src/bootroms/RP2040/shared/m0plus.h
Other components
- Firmware author
- Hardware IRQ API
- Spinlock API
Connections 10
- Firmware author → Libc headers: uses
- Libc headers → Assert API: includes
- Firmware author → lwIP facade: uses
- lwIP facade → lwIP options: configured by
- lwIP facade → lwIP platform hooks: platform hooks
- Firmware author → FreeRTOS API: uses
- IRQ support → Hardware IRQ API: programs IRQs
- IRQ support → Spinlock API: locks handlers
- IRQ support → RP2040 registers: accesses NVIC
- Pico SDK stubs → FreeRTOS API: satisfies port refs