Hi all, I've been trying to boot NuttX in protected mode on my ESP32-Wroom board, but I'm running into a few issues unfortunately.
Below is a small excerpt taken from my Ubuntu (running on a VMWare workstation) illustrating the commands I am currently using in order to try and flash the board. root@vagrant:~/nuttxspace/nuttx# ./tools/configure.sh -l esp32-devkitc:knsh root@vagrant:~/nuttxspace/nuttx# make -j4 root@vagrant:~/nuttxspace/nuttx# esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 write_flash 0x1000 ../esp-bins/bootloader-esp32.bin 0x8000 ../esp-bins/partition-table-esp32.bin 0x10000 nuttx.bin 0x90000 nuttx_user.bin This, however, leaves the board in an unusable state - the flashing is successful, but a fault is triggered at boot time. I'm attaching a .txt file to this email with the complete error dump. Could someone please explain what I am doing wrong? Thanks, Robert
root@vagrant:~/nuttxspace/nuttx# root@vagrant:~/nuttxspace/nuttx# esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 write_flash 0x1000 ../esp-bins/bootloader-esp32.bin 0x8000 ../esp-bins/partition-table-esp32.bin 0x10000 nuttx.bin 0x90000 nuttx_user.bin esptool.py v4.2.1 Serial port /dev/ttyUSB0 Connecting.............. Chip is ESP32-D0WD-V3 (revision 3) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: 24:d7:eb:11:7b:ac Uploading stub... Running stub... Stub running... Configuring flash size... Flash will be erased from 0x00001000 to 0x00007fff... Flash will be erased from 0x00008000 to 0x00008fff... Flash will be erased from 0x00010000 to 0x0002ffff... Flash will be erased from 0x00090000 to 0x000adfff... Compressed 25264 bytes to 15796... Wrote 25264 bytes (15796 compressed) at 0x00001000 in 1.9 seconds (effective 106.4 kbit/s)... Hash of data verified. Compressed 3072 bytes to 69... Wrote 3072 bytes (69 compressed) at 0x00008000 in 0.1 seconds (effective 313.3 kbit/s)... Hash of data verified. Compressed 130528 bytes to 56805... Wrote 130528 bytes (56805 compressed) at 0x00010000 in 5.1 seconds (effective 203.1 kbit/s)... Hash of data verified. Compressed 120856 bytes to 49123... Wrote 120856 bytes (49123 compressed) at 0x00090000 in 5.2 seconds (effective 187.5 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... root@vagrant:~/nuttxspace/nuttx# root@vagrant:~/nuttxspace/nuttx# root@vagrant:~/nuttxspace/nuttx# root@vagrant:~/nuttxspace/nuttx# picocom -b 115200 /dev/ttyUSB0 picocom v3.1 port is : /dev/ttyUSB0 flowcontrol : none baudrate is : 115200 parity is : none databits are : 8 stopbits are : 1 escape is : C-a local echo is : no noinit is : no noreset is : no hangup is : no nolock is : no send_cmd is : sz -vv receive_cmd is : rz -vv -E imap is : omap is : emap is : crcrlf,delbs, logfile is : none initstring : none exit_after is : not set exit is : no Type [C-a] [C-h] to see available commands Terminal ready ets Jul 29 2019 12:21:46 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:6656 load:0x40078000,len:14848 load:0x40080400,len:3672 entry 0x4008068c I (27) boot: ESP-IDF v4.4.1-472-gc9140caf8c 2nd stage bootloader I (27) boot: compile time 21:23:00 I (27) boot: chip revision: 3 I (31) boot_comm: chip revision: 3, min. bootloader chip revision: 0 I (39) boot.esp32: SPI Speed : 40MHz I (43) boot.esp32: SPI Mode : DIO I (48) boot.esp32: SPI Flash Size : 4MB I (52) boot: Enabling RNG early entropy source... I (58) boot: Partition Table: I (61) boot: ## Label Usage Type ST Offset Length I (69) boot: 0 factory factory app 00 00 00010000 00100000 I (76) boot: End of partition table I (80) boot_comm: chip revision: 3, min. application chip revision: 0 I (87) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=02150h ( 8528) map I (99) esp_image: segment 1: paddr=00012178 vaddr=3ffb1490 size=00970h ( 2416) load I (105) esp_image: segment 2: paddr=00012af0 vaddr=40080000 size=00400h ( 1024) load I (113) esp_image: segment 3: paddr=00012ef8 vaddr=40090000 size=01808h ( 6152) load I (124) esp_image: segment 4: paddr=00014708 vaddr=00000000 size=0b910h ( 47376) I (146) esp_image: segment 5: paddr=00020020 vaddr=400d0020 size=0fd9ch ( 64924) map I (171) boot: Loaded app from partition at offset 0x10000 I (171) boot: Disabling RNG early entropy source... âABCxtensa_user_panic: User Exception: EXCCAUSE=0000 task: nsh_main xtensa_registerdump: PC: 40401236 PS: 00050030 xtensa_registerdump: A0: 800d1654 A1: 3ffc9180 A2: 00000005 A3: 404012b0 xtensa_registerdump: A4: 00000001 A5: 3ffc89e0 A6: 404012b0 A7: 00000001 xtensa_registerdump: A8: 3ffc89e0 A9: 3ffb1c30 A10: 3ffb1344 A11: 3ffb1344 xtensa_registerdump: A12: 800d15fb A13: 3ffb1380 A14: 3ffae860 A15: 3ffb0008 xtensa_registerdump: SAR: 00000000 CAUSE: 00000000 VADDR: 00000000 xtensa_registerdump: LBEG: 00000000 LEND: 00000000 LCNT: 00000000 xtensa_dump_stack: IRQ Stack: xtensa_dump_stack: sp: 3ffb1c00 xtensa_dump_stack: base: 3ffb1490 xtensa_dump_stack: size: 00000800 xtensa_dump_stack: used: 000002a0 xtensa_stackdump: 3ffb1c00: 3ffb0008 3ffb1c10 00000008 deadbeef 3ffae860 3ffb1c00 3ffb0748 00000002 xtensa_stackdump: 3ffb1c20: 800d327a 3ffb1c50 00000000 3ffc90a4 3f4005bc 00000000 3ffae8f0 00000004 xtensa_stackdump: 3ffb1c40: 40090528 3ffb1c70 00000000 3ffc90a4 3ffb00e0 00000000 00000000 00050020 xtensa_stackdump: 3ffb1c60: 00040023 3ffb1c90 00000001 3ffc9110 3ffc89e0 3ffb1c30 3ffb1344 3ffb1344 xtensa_dump_stack: User Stack: xtensa_dump_stack: sp: 3ffc9180 xtensa_dump_stack: base: 3ffc8a00 xtensa_dump_stack: size: 000007c0 xtensa_dump_stack: used: 0000011c xtensa_stackdump: 3ffc9180: 00000000 00000000 00000000 00000000 00000000 3ffc91c0 00000000 00000000 xtensa_stackdump: 3ffc91a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 xtensa_showtasks: PID PRI STACK USED FILLED COMMAND xtensa_showtasks: ---- ---- 2048 784 38.2% irq xtensa_dump_task: 0 0 3040 416 13.6% Idle Task xtensa_dump_task: 1 100 1984 284 14.3% nsh_main Terminating... Skipping tty reset... Thanks for using picocom root@vagrant:~/nuttxspace/nuttx# root@vagrant:~/nuttxspace/nuttx# root@vagrant:~/nuttxspace/nuttx#