-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Milestone
Description
Feather details
Assembled Adafruit HUZZAH32 – ESP32 Feather Board
- 240 MHz dual core Tensilica LX6 microcontroller with 600 DMIPS
- Integrated 520 KB SRAM
- Integrated 802.11b/g/n HT40 Wi-Fi transceiver, baseband, stack and LWIP
- Integrated dual mode Bluetooth® (classic and BLE)
- 🟢 4 MByte flash include in the WROOM32 module 🟢
Current FW installer command
command = command + " " + "--chip esp32 --port " + featherPort +
" --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB" +
" 0x1000" + " " + ofToDataPath(ofFilePath::join("esp32","EmotiBit_stock_firmware.ino.bootloader.bin")) +
" 0x8000" + " " + ofToDataPath(ofFilePath::join("esp32", "EmotiBit_stock_firmware.partitions.bin")) +
" 0xe000" + " " + ofToDataPath(ofFilePath::join("esp32", "boot_app0.bin")) +
" 0x10000" + " " + fwFilePath;
What each file means
- bootlaoder
- should remain the same. See explanation in notes above
- partition table
- specifies the partition of the flash. This will probably change if we use huge app
- boot_app0
Notes
- Primary bootloader is outside the flash.
- Primary bootloader calls the secondary bootloader, which is programmed in the flash at address
0x1000- Second stage bootloader reads the partition table found by default at offset 0x8000 (configurable value). See partition tables documentation for more information.
- The bootloader finds factory and OTA app partitions.
- The partition table is located at 0x8000
- The partition table length is 0xC00 bytes, as we allow a maximum of 95 entries. An MD5 checksum, used for checking the integrity of the partition table at runtime, is appended after the table data. Thus, the partition table occupies an entire flash sector, which size is 0x1000 (4 KB). As a result, any partition following it must be at least located at (default offset) + 0x1000.
- example partition table
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x4000,
otadata, data, ota, 0xd000, 0x2000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 1M,
ota_0, app, ota_0, 0x110000, 1M,
ota_1, app, ota_1, 0x210000, 1M,
partition table for ESP32
- https://github.com/espressif/arduino-esp32/tree/master/tools/partitions
- huge app partition table
References
- https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/bootloader.html
- https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/startup.html
- https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/kconfig-reference.html#config-partition-table-offset
- https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels