Skip to content

add ota_update app (ESP32-C3 NOR flash OTA, XIP stream install) - #19

Open
jinwjinl wants to merge 2 commits into
vivoblueos:mainfrom
jinwjinl:ota_update_with_nor_flash
Open

add ota_update app (ESP32-C3 NOR flash OTA, XIP stream install)#19
jinwjinl wants to merge 2 commits into
vivoblueos:mainfrom
jinwjinl:ota_update_with_nor_flash

Conversation

@jinwjinl

Copy link
Copy Markdown

ESP32-C3 OTA update app: reboot-based OTA model. Boot applies pending update (load ELF from /data -> stream XIP image to on-chip flash -> copy RW segs), connects wifi, runs the installed image inline on the main thread (no second 24KB thread stack -> avoids heap OOM), then enters the auto OTA watch loop.

Components:

  • main.rs: boot flow + inline run + auto_ota_loop entry
  • download.rs: watch protocol, pull path (command), FS_LOCK serialization
  • image.rs: XIP stream install (build_xip/derive_drom/map+call), DROM-aware
  • wifi.rs: scan + connect via SIOCSIWSCAN/SIOCSIWESSID ioctls
  • transfer.rs / http.rs: transfer permit + plain HTTP client
  • app.conf: NET/WLAN + SPI_CORE/LCD (slint UI needs the display)
  • BUILD.gn: reload_autoconf + esp32_app image action

ESP32-C3 OTA update app: reboot-based OTA model. Boot applies pending
update (load ELF from /data -> stream XIP image to on-chip flash ->
copy RW segs), connects wifi, runs the installed image inline on the
main thread (no second 24KB thread stack -> avoids heap OOM), then
enters the auto OTA watch loop.

Components:
- main.rs: boot flow + inline run + auto_ota_loop entry
- download.rs: watch protocol, pull path (command), FS_LOCK serialization
- image.rs: XIP stream install (build_xip/derive_drom/map+call), DROM-aware
- wifi.rs: scan + connect via SIOCSIWSCAN/SIOCSIWESSID ioctls
- transfer.rs / http.rs: transfer permit + plain HTTP client
- app.conf: NET/WLAN + SPI_CORE/LCD (slint UI needs the display)
- BUILD.gn: reload_autoconf + esp32_app image action

Co-Authored-By: Claude <noreply@anthropic.com>
@jinwjinl

Copy link
Copy Markdown
Author

build_prs

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

❌ Job failed. Failed jobs: check_format (failure), check_license (failure), see https://github.com/vivoblueos/apps_example/actions/runs/32961349906.

@jinwjinl

Copy link
Copy Markdown
Author

build_prs

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

✅ All jobs completed successfully, see https://github.com/vivoblueos/apps_example/actions/runs/32968865231.

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

Successfully merging this pull request may close these issues.

1 participant