Skip to content
Draft

Zephyr #2389

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
66eea5e
WIP: Port to Zephyr OS
UncleGrumpy Nov 21, 2023
6ec3aaa
Add Zephyr ESP32 and Pico boards
petermm Jun 16, 2026
a1b43ee
Add experimental Zephyr SMP on QEMU
petermm Jun 16, 2026
cc8b3e5
Add Zephyr UART NIF support
petermm Jun 16, 2026
cd3ce16
Add Zephyr I2C support
petermm Jun 16, 2026
d22b098
Add initial Zephyr test support
petermm Jun 17, 2026
07d95d0
Add Zephyr native_sim I2C test
petermm Jun 17, 2026
b4c45a0
Make Zephyr CI and Wokwi coverage
petermm Jul 3, 2026
2d96557
Zephyr: implement and test erlang:system_info(system_architecture)
petermm Jul 4, 2026
d161c99
CI: fix wokwi simulator target for Raspberry Pi Pico
petermm Jul 4, 2026
082b051
Zephyr: Port core Erlang, timezone, and NIF resolution tests from ESP32
petermm Jul 4, 2026
10d3f27
Zephyr: implement filesystem mount NIFs and port storage tests
petermm Jul 4, 2026
b1f6dcc
Zephyr: add TODOS.md roadmap for remaining ESP32 tests to port
petermm Jul 4, 2026
3b48dac
Zephyr: port test_md5, test_crypto, and test_file from ESP32
petermm Jul 6, 2026
74bb028
Enable Zephyr PSA crypto tests
petermm Jul 6, 2026
e0e3650
Add Zephyr select test coverage
petermm Jul 6, 2026
07af054
Scope Zephyr test configs by board
petermm Jul 6, 2026
cc0d771
Fix Zephyr Wokwi test packaging
petermm Jul 6, 2026
edf42b0
Add Zephyr ESP32 Wi-Fi scan
petermm Jul 6, 2026
d380ecb
Add Zephyr Wi-Fi scan cancel
petermm Jul 6, 2026
dd49073
Add Zephyr managed Wi-Fi test
petermm Jul 6, 2026
39c488c
Add Zephyr Wi-Fi example test
petermm Jul 6, 2026
0116dbe
Use async Zephyr SNTP
petermm Jul 7, 2026
a4c57c2
Clean up Zephyr Kconfig
petermm Jul 7, 2026
c677b1c
Add Zephyr SSL test
petermm Jul 7, 2026
b22ab17
Add Zephyr SSL support
petermm Jul 8, 2026
35c31f7
Add Zephyr power management APIs
petermm Jul 9, 2026
17a45ab
Add Zephyr task watchdog NIFs
petermm Jul 9, 2026
c2a83c2
Enable Zephyr microSD tests on Wokwi
petermm Jul 10, 2026
bc672cd
Zephyr: fix Mbed TLS CI builds
petermm Jul 10, 2026
87b8cf2
Add Raspberry Pi Pico test config
petermm Jul 10, 2026
4a85899
CI: wire Wokwi microSD for ESP32
petermm Jul 10, 2026
1f702b0
CI: expand Zephyr Wokwi coverage
petermm Jul 10, 2026
54eec26
Zephyr: add ADC API and Wokwi coverage
petermm Jul 11, 2026
05bf575
Zephyr: add Erlang UART API
petermm Jul 11, 2026
c9d0258
Zephyr: add GPIO API and interrupt support
petermm Jul 11, 2026
5b103aa
Zephyr: add SPI API and simulator coverage
petermm Jul 11, 2026
f24803d
Zephyr: add portable retention memory API
petermm Jul 11, 2026
d30522e
Zephyr: align standard and test platform features
petermm Jul 11, 2026
c31b66d
Zephyr: add portable PWM API and simulator coverage
petermm Jul 11, 2026
6ffca50
Zephyr: drop unsupported QEMU retention support
petermm Jul 11, 2026
745cbce
Zephyr: stop ESP test builds from allocating a RAM disk
petermm Jul 11, 2026
a7e5abf
Zephyr: restore 64 KiB test RAM disk for FatFs mkfs
petermm Jul 11, 2026
d9f172e
Zephyr: max ESP test heap budgets by chip
petermm Jul 11, 2026
a30c3d3
Zephyr: auto-size test malloc arena from remaining RAM
petermm Jul 11, 2026
06fec0c
Fix Zephyr SNTP retry handling
petermm Jul 12, 2026
15726b4
Update network state before callbacks
petermm Jul 12, 2026
98623f8
Zephyr: bump to v4.4.2
petermm Aug 20, 2026
fd0d256
Zephyr: bump CI image to v0.29.3
petermm Aug 20, 2026
5bcfe5e
CI: increase Zephyr Wokwi timeout
petermm Aug 20, 2026
f34933b
Zephyr: enable test_ssl on Wokwi
petermm Aug 22, 2026
3ff0187
Keep connected after late sta_connected
petermm Aug 22, 2026
c8ed103
Move zephyr.erl into avm_zephyr
petermm Aug 22, 2026
335f913
Add Zephyr reboot, reset, MAC, and timer NIFs
petermm Aug 22, 2026
0c0d824
Add Zephyr Settings/NVS API
petermm Aug 22, 2026
d307105
Skip test_ssl on ESP32-C3 Wokwi
petermm Aug 22, 2026
7458789
Add Zephyr deep sleep and wakeup NIFs
petermm Aug 22, 2026
656f06a
Test Zephyr timer wakeup after 500ms sleep
petermm Aug 22, 2026
265aa92
Add Zephyr SoftAP, AP+STA, and AP DHCP
petermm Aug 22, 2026
077320f
Run esp32devmode on Zephyr and cover it in Wokwi
petermm Aug 23, 2026
b7cbfd2
Add Zephyr DAC API
petermm Aug 23, 2026
85ab13e
Fix ESP32-C3 Wokwi GPIO pin and suite timeout
petermm Aug 23, 2026
5e888b7
Detect ESP32-C3 GPIO tests via riscv64-espressif
petermm Aug 23, 2026
4d3ee94
Skip test_ssl on ESP32-S3 Wokwi
petermm Aug 23, 2026
fbe8576
Use vendor esp for Zephyr Espressif chips
petermm Aug 23, 2026
569359a
Add erlang:system_info(esp32_chip_info) on Zephyr
petermm Aug 23, 2026
0b04da2
Report riscv32 for Zephyr RV32 SoCs
petermm Aug 23, 2026
abc2007
Add Zephyr Flash Map API
petermm Aug 23, 2026
7f8e593
Add zephyr:freq_hz/0
petermm Aug 23, 2026
63c0832
Add Zephyr settings erase-all and reformat
petermm Aug 23, 2026
091c4fd
Add Zephyr I2C target transmit and receive
petermm Aug 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .agents/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Zephyr Platform Customization Rules & Guidelines

Guidelines and rules for coding agents working on the AtomVM Zephyr port.

## Target Version
- The Zephyr port targets Zephyr version **v4.4.2** (defined in [west.yml](file:///Users/petermm/OSScontrib/AtomVM/src/platforms/zephyr/west.yml#L13)). Do not change this version unless explicitly requested.

## JIT (Just-in-Time) Compilation
- JIT is disabled under the Zephyr platform (`AVM_NO_JIT` compile definition in [AtomVMZephyrApp.cmake](file:///Users/petermm/OSScontrib/AtomVM/src/platforms/zephyr/cmake/AtomVMZephyrApp.cmake#L46)). Ensure all code compiles cleanly without JIT support.

## Testing and Simulation
- Do not run tests directly on the host using standard `west` commands unless `ZEPHYR_BASE` is configured.
- Instead, use the helper script [docker-test.sh](file:///Users/petermm/OSScontrib/AtomVM/src/platforms/zephyr/docker-test.sh) to run simulator tests inside the local Docker environment:
- **QEMU x86_64**: `./src/platforms/zephyr/docker-test.sh`
- **Native Simulation (ASan/UBSan)**: `./src/platforms/zephyr/docker-test.sh -b native_sim`

## Memory Protection and Safety
- Do not write platform-specific code to directly access or configure the Xtensa Memory Protection Unit (MPU) registers.
- Use Zephyr's standard stack protection (`CONFIG_HW_STACK_PROTECTION=y` in Kconfig) for stack overrun checks.
298 changes: 0 additions & 298 deletions .github/workflows/build-and-test-macos.yaml

This file was deleted.

Loading
Loading