NUTTX make flash : Detected overlap at address: 0x8000
Posted: Mon Dec 20, 2021 4:05 am
I have installed the latest Nuttx with Espressif ESP32 Xtensa and RISCV support under Linux.
I get the same failure for the esp32, esp32s2, esp32c3.
I'm using pre-built binaries. And the correct toolchains.
I try to flash with boot and partition binaries:
$ make flash ESPTOOL_BINDIR=../esp-bins
Gives this error:
esptool write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: ../esp-bins/partition-table-esp32s2.bin
Lastly, the binaries are this big, rounded out it's 150K bytes:
....148474 bootloader-esp32s2.bin
....148999 partition-table-esp32s2.bin
The partition table must be 0x10000 - 0x8000 = 0x8000 or 32768 bytes.
Is it so simple, are the binaries too big, namely is the partition-table-esp32s2.bin at 148999 bytes just too big to fit in 32768 bytes?
Do I really have to custom build binaries and what are good numbers?
If so why are the defaults not correct?
I am experienced with the ESP-IDF and FreeRTOS.
I think Nuttx has potential, but this first step has me stopped.
Thanks, Burtrum.
My notes:
OK: Set up board configuration.
$ ./tools/configure.sh -l esp32s2-saola-1:nsh
OK: Run menuconfig. I make NO changes!
$ make menuconfig
OK: Compile my application.
$ make
...
MKIMAGE: ESP32-S2 binary
esptool.py -c esp32s2 elf2image -fs 4MB -fm dio -ff 40m -o nuttx.bin nuttx
esptool.py v3.2
Merged 1 ELF section
Generated: nuttx.bin (ESP32-S2 compatible)
$
FAIL: Flash my application with ESP bootloader binaries: Failed
$ make flash ESPTOOL_BINDIR=../esp-bins
Gives error 'edited for clarity':
esptool.py -c esp32s2 -p /dev/ttyUSB0 -b 921600 write_flash -fs detect -fm dio -ff 40m \
0x1000 ../esp-bins/bootloader-esp32s2.bin \
0x8000 ../esp-bins/partition-table-esp32s2.bin \
0x10000 nuttx.bin
esptool write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: ../esp-bins/partition-table-esp32s2.bin
EOF
I get the same failure for the esp32, esp32s2, esp32c3.
I'm using pre-built binaries. And the correct toolchains.
I try to flash with boot and partition binaries:
$ make flash ESPTOOL_BINDIR=../esp-bins
Gives this error:
esptool write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: ../esp-bins/partition-table-esp32s2.bin
Lastly, the binaries are this big, rounded out it's 150K bytes:
....148474 bootloader-esp32s2.bin
....148999 partition-table-esp32s2.bin
The partition table must be 0x10000 - 0x8000 = 0x8000 or 32768 bytes.
Is it so simple, are the binaries too big, namely is the partition-table-esp32s2.bin at 148999 bytes just too big to fit in 32768 bytes?
Do I really have to custom build binaries and what are good numbers?
If so why are the defaults not correct?
I am experienced with the ESP-IDF and FreeRTOS.
I think Nuttx has potential, but this first step has me stopped.
Thanks, Burtrum.
My notes:
OK: Set up board configuration.
$ ./tools/configure.sh -l esp32s2-saola-1:nsh
OK: Run menuconfig. I make NO changes!
$ make menuconfig
OK: Compile my application.
$ make
...
MKIMAGE: ESP32-S2 binary
esptool.py -c esp32s2 elf2image -fs 4MB -fm dio -ff 40m -o nuttx.bin nuttx
esptool.py v3.2
Merged 1 ELF section
Generated: nuttx.bin (ESP32-S2 compatible)
$
FAIL: Flash my application with ESP bootloader binaries: Failed
$ make flash ESPTOOL_BINDIR=../esp-bins
Gives error 'edited for clarity':
esptool.py -c esp32s2 -p /dev/ttyUSB0 -b 921600 write_flash -fs detect -fm dio -ff 40m \
0x1000 ../esp-bins/bootloader-esp32s2.bin \
0x8000 ../esp-bins/partition-table-esp32s2.bin \
0x10000 nuttx.bin
esptool write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: ../esp-bins/partition-table-esp32s2.bin
EOF