I am trying to setup over the air(OTA) updates on my ESP-32 device using a HTTP server with SSL certificates. I am using the ESP-IDF framework on the ESP-32 system with this docker container as my tool chain so I can flash and change configuration settings using sudo esp32env make flash
and sudo esp32env make menuconfig
. I found a library which supports OTA updates via HTTP server with SSL on the ESP-IDF framework. I modified the values in the main.h file(located in the main folder) for my WIFI access point, HTTP server IP address, CA certificate key, and Peer key. I also changed the server port value from 443 to 4443 in the init_ota function in the main.c file. After I flash to my ESP-32, my device continuously reboots giving this error.
[0;32mI (7169) fwup_wifi: Firmware updater task checking for firmware update.[0m
Guru Meditation Error: Core 0 panic'ed (LoadProhibited)
The full Serial Monitor output:
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:8
load:0x3fff0010,len:4368
load:0x40078000,len:11080
load:0x40080000,len:252
entry 0x40080034
␛[0;32mI (45) boot: ESP-IDF v2.1 2nd stage bootloader␛[0m
␛[0;32mI (45) boot: compile time 17:22:27␛[0m
␛[0;32mI (46) boot: Enabling RNG early entropy source...␛[0m
␛[0;32mI (59) boot: SPI Speed : 40MHz␛[0m
␛[0;32mI (72) boot: SPI Mode : DIO␛[0m
␛[0;32mI (84) boot: SPI Flash Size : 4MB␛[0m
␛[0;32mI (97) boot: Partition Table:␛[0m
␛[0;32mI (108) boot: ## Label Usage Type ST Offset Length␛[0m
␛[0;32mI (130) boot: 0 nvs WiFi data 01 02 00009000 00004000␛[0m
␛[0;32mI (154) boot: 1 otadata OTA data 01 00 0000d000 00002000␛[0m
␛[0;32mI (177) boot: 2 phy_init RF data 01 01 0000f000 00001000␛[0m
␛[0;32mI (200) boot: 3 factory factory app 00 00 00010000 00100000␛[0m
␛[0;32mI (223) boot: 4 ota_0 OTA app 00 10 00110000 00100000␛[0m
␛[0;32mI (247) boot: 5 ota_1 OTA app 00 11 00210000 00100000␛[0m
␛[0;32mI (270) boot: End of partition table␛[0m
␛[0;32mI (283) boot: Disabling RNG early entropy source...␛[0m
␛[0;32mI (300) boot: Loading app partition at offset 00210000␛[0m
␛[0;32mI (1184) boot: segment 0: paddr=0x00210018 vaddr=0x3f400020 size=0x17c38 ( 97336) map␛[0m
␛[0;32mI (1184) boot: segment 1: paddr=0x00227c58 vaddr=0x3ffc0000 size=0x02f14 ( 12052) load␛[0m
␛[0;32mI (1207) boot: segment 2: paddr=0x0022ab74 vaddr=0x40080000 size=0x00400 ( 1024) load␛[0m
␛[0;32mI (1229) boot: segment 3: paddr=0x0022af7c vaddr=0x40080400 size=0x0508c ( 20620) load␛[0m
␛[0;32mI (1265) boot: segment 4: paddr=0x00230010 vaddr=0x400d0018 size=0x72a20 (469536) map␛[0m
␛[0;32mI (1281) boot: segment 5: paddr=0x002a2a38 vaddr=0x4008548c size=0x04998 ( 18840) load␛[0m
␛[0;32mI (1316) boot: segment 6: paddr=0x002a73d8 vaddr=0x400c0000 size=0x00000 ( 0) load␛[0m
␛[0;32mI (433) cpu_start: Pro cpu up.␛[0m
␛[0;32mI (437) cpu_start: Starting app cpu, entry point is 0x40080f58␛[0m
␛[0;32mI (443) cpu_start: App cpu up.␛[0m
␛[0;32mI (448) heap_init: Initializing. RAM available for dynamic allocation:␛[0m
␛[0;32mI (454) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM␛[0m
␛[0;32mI (460) heap_init: At 3FFC9080 len 00016F80 (91 KiB): DRAM␛[0m
␛[0;32mI (466) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM␛[0m
␛[0;32mI (473) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM␛[0m
␛[0;32mI (479) heap_init: At 40089E24 len 000161DC (88 KiB): IRAM␛[0m
␛[0;32mI (485) cpu_start: Pro cpu start user code␛[0m
␛[0;32mI (168) cpu_start: Starting scheduler on PRO CPU.␛[0m
␛[0;32mI (0) cpu_start: Starting scheduler on APP CPU.␛[0m
␛[0;32mI (169) main: ---------- Intialization started ----------␛[0m
␛[0;32mI (169) main: ---------- Software version: 1 -----------␛[0m
␛[0;32mI (199) main: Set up WIFI network connection.␛[0m
␛[0;32mI (199) wifi_sta: wifi_sta_init: network = 'Home'␛[0m
I (209) wifi: wifi firmware version: bffcf7f
I (209) wifi: config NVS flash: enabled
I (209) wifi: config nano formating: disabled
␛[0;32mI (219) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE␛[0m
␛[0;32mI (219) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE␛[0m
I (249) wifi: Init dynamic tx buffer num: 32
I (249) wifi: Init data frame dynamic rx buffer num: 32
I (249) wifi: Init management frame dynamic rx buffer num: 32
I (259) wifi: wifi driver task: 3ffd1cc4, prio:23, stack:4096
I (259) wifi: Init static rx buffer num: 10
I (269) wifi: Init dynamic rx buffer num: 32
I (269) wifi: wifi power manager task: 0x3ffd6904 prio: 21 stack: 2560
␛[0;32mI (499) phy: phy_version: 3662, 711a97c, May 9 2018, 14:29:06, 0, 0␛[0m
I (509) wifi: mode : sta (30:ae:a4:47:7b:b4)
␛[0;32mI (509) main: app_event_handler: event: 2␛[0m
I (629) wifi: n:1 0, o:1 0, ap:255 255, sta:1 0, prof:1
I (1479) wifi: state: init -> auth (b0)
␛[0;32mI (1479) main: Initialising OTA firmware updating.␛[0m
␛[0;31mE (1479) wifi_tls: wifi_tls_create_context: parameter missing␛[0m
I (1479) wifi: state: auth -> assoc (0)
␛[0;32mI (1489) fwup_wifi: Firmware updater task started.␛[0m
I (1489) wifi: state: assoc -> run (10)
I (1509) wifi: connected with Home, channel 1
␛[0;32mI (1509) main: app_event_handler: event: 4␛[0m
␛[0;32mI (2169) event: sta ip: 10.0.1.26, mask: 255.255.255.0, gw: 10.0.1.1␛[0m
␛[0;32mI (2169) main: app_event_handler: event: 7␛[0m
␛[0;32mI (2169) wifi_sta: Device is now connected to WIFI network␛[0m
I (4499) wifi: pm start, type:0
␛[0;32mI (7169) fwup_wifi: Firmware updater task checking for firmware update.␛[0m
Guru Meditation Error: Core 0 panic'ed (LoadProhibited)
. Exception was unhandled.
Register dump:
PC : 0x400d277f PS : 0x00060b30 A0 : 0x800d209b A1 : 0x3ffd9410
A2 : 0x00000000 A3 : 0x00000003 A4 : 0x3f4021a9 A5 : 0x3ffc3498
A6 : 0x00000005 A7 : 0x3ffc345c A8 : 0x80081eb1 A9 : 0x3ffd93c0
A10 : 0x00000053 A11 : 0x3ffd6fe4 A12 : 0x3ffd9400 A13 : 0x0000000c
A14 : 0x00000001 A15 : 0x00000000 SAR : 0x00000004 EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xfffffffd
Backtrace: 0x400d277f:0x3ffd9410 0x400d2098:0x3ffd9450
Rebooting...
I generated my Peer key and CA key using this tutorial.
User contributions licensed under CC BY-SA 3.0