Yes, you can use MCUBoot to do FOTA that is already is integrated on NuttX for ESP32
On 2/19/23, Tomek CEDRO <to...@cedro.info> wrote: > Allright, I have NuttX origin/master built on FreeBSD and running on > ESP32-DevKitC :-) > > For some reason uname -a shows release 10.4.0 not 12.0.0(99/dev whatever) > o_O > > The whole NuttX firmware build and flashing is faster than scripts > upload in MicroPython heheh.. and they fight for encoder / timer / > pcnt api for over two years.. I can also see CAN support.. maybe its > finally time to switch to NuttX for gooood =) =) =) > > Now lets get to qencoder stuff ]:-> > > TANK U FOLKS! :-) > > Tomek > > ps/2: Does NuttX have some sort of FOTA mechanism so the signed > firmware could be updated remotely over WiFi/IP from some sort of > server with a fallback mechanism of > boot-from-last-that-worked-or-bare-nonalterable? :-) > > > % /usr/bin/time -h gmake -j10 all flash ESPTOOL_PORT=/dev/cuaU0 > > CPP: > /XXX/nuttxworkspace.git/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/esp32_rom.ld-> > /zraid/daCPP: > /XXX/nuttxworkspace.git/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/flat_memory.ld-> > /zraid/CPP: > /XXX/nuttxworkspace.git/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/legacy_sections.ld-> > /zrLD: nuttx > CP: nuttx.hex > MKIMAGE: ESP32 binary > esptool.py -c esp32 elf2image -fs 4MB -fm dio -ff 40m -o nuttx.bin nuttx > esptool.py v4.4 > Creating esp32 image... > Merged 1 ELF section > Successfully created esp32 image. > Generated: nuttx.bin (ESP32 compatible) > esptool.py -c esp32 -p /dev/cuaU0 -b 921600 write_flash -fs detect > -fm dio -ff 40m 0x10000 nuttx.bin > esptool.py v4.4 > Serial port /dev/cuaU0 > Connecting............ > Chip is ESP32-D0WDQ6 (revision v1.0) > Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, > Coding Scheme None > Crystal is 40MHz > MAC: 08:3a:f2:ab:ff:34 > Uploading stub... > Running stub... > Stub running... > Changing baud rate to 921600 > Changed. > Configuring flash size... > Auto-detected Flash size: 4MB > Flash will be erased from 0x00010000 to 0x0003afff... > Compressed 172624 bytes to 97312... > Wrote 172624 bytes (97312 compressed) at 0x00010000 in 1.9 seconds > (effective 742.0 kbit/s)... > Hash of data verified. > > Leaving... > Hard resetting via RTS pin... > 16,89s real 47,78s user 25,60s sys > > > % pyserial-miniterm /dev/cuaU0 115200 > --- Miniterm on /dev/cuaU0 115200,8,N,1 --- > --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- > > nsh> ␛[Kuname -a > NuttX 10.4.0 74790c8033 Feb 19 2023 05:06:25 xtensa esp32-devkitc > nsh> ␛[Kcoremark > 2K performance run parameters for coremark. > CoreMark Size : 666 > Total ticks : 17470 > Total time (secs): 17.470000 > Iterations/Sec : 686.891815 > Iterations : 12000 > Compiler version : GCC8.4.0 > Compiler flags : Using NuttX compilation options > Parallel PThreads : 2 > Memory location : Defined by the NuttX configuration > seedcrc : 0xe9f5 > [0]crclist : 0xe714 > [1]crclist : 0xe714 > [0]crcmatrix : 0x1fd7 > [1]crcmatrix : 0x1fd7 > [0]crcstate : 0x8e3a > [1]crcstate : 0x8e3a > [0]crcfinal : 0xa14c > [1]crcfinal : 0xa14c > Correct operation validated. See README.md for run and reporting rules. > CoreMark 1.0 : 686.891815 / GCC8.4.0 Using NuttX compilation options / > Defined by the NuttX configuration / 2:PThreads > > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >