-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Single binary for flashing and testing (#6)
* doc: instructions for merging applications * switch default idf_components to ESP32-S3-BOX-3 * add ESP32-P4 build * doc: add screenshot from the application * doc: remove partition table and bootloader from uf2 instructions
- Loading branch information
Showing
17 changed files
with
276 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Paths to binaries | ||
set(BOOTLOADER_BIN "${CMAKE_SOURCE_DIR}/build/bootloader/bootloader.bin") | ||
set(PARTITION_TABLE_BIN "${CMAKE_SOURCE_DIR}/build/partition_table/partition-table.bin") | ||
|
||
set(TIC_TAC_TOE_BIN "${CMAKE_SOURCE_DIR}/apps/tic_tac_toe/build/tic_tac_toe.bin") | ||
set(WIFI_LIST_BIN "${CMAKE_SOURCE_DIR}/apps/wifi_list/build/wifi_list.bin") | ||
set(CALCULATOR_BIN "${CMAKE_SOURCE_DIR}/apps/calculator/build/calculator.bin") | ||
set(SYNTH_PIANO_BIN "${CMAKE_SOURCE_DIR}/apps/synth_piano/build/synth_piano.bin") | ||
set(GAME_OF_LIFE_BIN "${CMAKE_SOURCE_DIR}/apps/game_of_life/build/game_of_life.bin") | ||
|
||
# Output files | ||
set(COMBINED_BIN "${CMAKE_SOURCE_DIR}/combined.bin") | ||
set(COMBINED_UF2 "${CMAKE_SOURCE_DIR}/combined.uf2") | ||
|
||
# Add custom target to merge binaries | ||
add_custom_target(merge_binaries ALL | ||
COMMAND ${CMAKE_COMMAND} -E echo "Merging binaries into ${COMBINED_BIN}..." | ||
COMMAND esptool.py --chip esp32s3 merge_bin -o ${COMBINED_BIN} | ||
--flash_mode dio --flash_freq 80m --flash_size 16MB | ||
0x1000 ${BOOTLOADER_BIN} | ||
0x8000 ${PARTITION_TABLE_BIN} | ||
0x220000 ${TIC_TAC_TOE_BIN} | ||
0x4E0000 ${WIFI_LIST_BIN} | ||
0x7A0000 ${CALCULATOR_BIN} | ||
0xA60000 ${SYNTH_PIANO_BIN} | ||
0xD20000 ${GAME_OF_LIFE_BIN} | ||
COMMAND ${CMAKE_COMMAND} -E echo "Converting ${COMBINED_BIN} to ${COMBINED_UF2}..." | ||
COMMAND python ${CMAKE_SOURCE_DIR}/uf2conv.py ${COMBINED_BIN} --chip esp32s3 --base 0x0 --output ${COMBINED_UF2} | ||
COMMENT "Merging and converting binaries to UF2" | ||
VERBATIM | ||
) | ||
|
||
# Ensure merge_binaries runs after all binaries are built | ||
add_dependencies(merge_binaries | ||
tic_tac_toe_app | ||
wifi_list_app | ||
calculator_app | ||
synth_piano_app | ||
game_of_life_app | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,8 @@ | ||
## IDF Component Manager Manifest File | ||
description: ESP32 Graphical Bootloader | ||
|
||
dependencies: | ||
espressif/esp-box: "^3.1.0" | ||
#espressif/esp-box-3: "^1.2.0" | ||
espressif/esp-box-3: "^1.2.0" | ||
# Workaround for i2c: CONFLICT! driver_ng is not allowed to be used with this old driver | ||
esp_codec_dev: | ||
public: true | ||
version: "==1.1.0" | ||
## Required IDF version | ||
idf: | ||
version: ">=5.0.0" |
33 changes: 33 additions & 0 deletions
33
apps/calculator/sdkconfig.defaults.esp32_p4_function_ev_board
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This file was generated using idf.py save-defconfig. It can be edited manually. | ||
# Espressif IoT Development Framework (ESP-IDF) 5.4.0 Project Minimal Configuration | ||
# | ||
CONFIG_IDF_TARGET="esp32p4" | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
#CONFIG_PARTITION_TABLE_CUSTOM=y | ||
CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32=y | ||
|
||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
CONFIG_COMPILER_OPTIMIZATION_PERF=y | ||
CONFIG_SPIRAM=y | ||
CONFIG_SPIRAM_MODE_OCT=y | ||
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y | ||
CONFIG_SPIRAM_RODATA=y | ||
CONFIG_SPIRAM_SPEED_80M=y | ||
CONFIG_FREERTOS_HZ=1000 | ||
CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 | ||
CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y | ||
CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y | ||
CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y | ||
CONFIG_SPIRAM_MODE_HEX=y | ||
CONFIG_SPIRAM_SPEED_200M=y | ||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y | ||
|
||
## LVGL9 ## | ||
CONFIG_LV_CONF_SKIP=y | ||
|
||
#CLIB default | ||
CONFIG_LV_USE_CLIB_MALLOC=y | ||
CONFIG_LV_USE_CLIB_SPRINTF=y | ||
CONFIG_LV_USE_CLIB_STRING=y | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,8 @@ | ||
## IDF Component Manager Manifest File | ||
description: ESP32 Graphical Bootloader | ||
|
||
dependencies: | ||
espressif/esp-box: "^3.1.0" | ||
#espressif/esp-box-3: "^1.2.0" | ||
espressif/esp-box-3: "^1.2.0" | ||
# Workaround for i2c: CONFLICT! driver_ng is not allowed to be used with this old driver | ||
esp_codec_dev: | ||
public: true | ||
version: "==1.1.0" | ||
## Required IDF version | ||
idf: | ||
version: ">=5.0.0" |
33 changes: 33 additions & 0 deletions
33
apps/game_of_life/sdkconfig.defaults.esp32_p4_function_ev_board
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This file was generated using idf.py save-defconfig. It can be edited manually. | ||
# Espressif IoT Development Framework (ESP-IDF) 5.4.0 Project Minimal Configuration | ||
# | ||
CONFIG_IDF_TARGET="esp32p4" | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
#CONFIG_PARTITION_TABLE_CUSTOM=y | ||
CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32=y | ||
|
||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
CONFIG_COMPILER_OPTIMIZATION_PERF=y | ||
CONFIG_SPIRAM=y | ||
CONFIG_SPIRAM_MODE_OCT=y | ||
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y | ||
CONFIG_SPIRAM_RODATA=y | ||
CONFIG_SPIRAM_SPEED_80M=y | ||
CONFIG_FREERTOS_HZ=1000 | ||
CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 | ||
CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y | ||
CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y | ||
CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y | ||
CONFIG_SPIRAM_MODE_HEX=y | ||
CONFIG_SPIRAM_SPEED_200M=y | ||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y | ||
|
||
## LVGL9 ## | ||
CONFIG_LV_CONF_SKIP=y | ||
|
||
#CLIB default | ||
CONFIG_LV_USE_CLIB_MALLOC=y | ||
CONFIG_LV_USE_CLIB_SPRINTF=y | ||
CONFIG_LV_USE_CLIB_STRING=y | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,8 @@ | ||
## IDF Component Manager Manifest File | ||
description: ESP32 Graphical Bootloader | ||
|
||
dependencies: | ||
espressif/esp-box: "^3.1.0" | ||
#espressif/esp-box-3: "^1.2.0" | ||
espressif/esp-box-3: "^1.2.0" | ||
# Workaround for i2c: CONFLICT! driver_ng is not allowed to be used with this old driver | ||
esp_codec_dev: | ||
public: true | ||
version: "==1.1.0" | ||
## Required IDF version | ||
idf: | ||
version: ">=5.0.0" |
33 changes: 33 additions & 0 deletions
33
apps/synth_piano/sdkconfig.defaults.esp32_p4_function_ev_board
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This file was generated using idf.py save-defconfig. It can be edited manually. | ||
# Espressif IoT Development Framework (ESP-IDF) 5.4.0 Project Minimal Configuration | ||
# | ||
CONFIG_IDF_TARGET="esp32p4" | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
#CONFIG_PARTITION_TABLE_CUSTOM=y | ||
CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32=y | ||
|
||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
CONFIG_COMPILER_OPTIMIZATION_PERF=y | ||
CONFIG_SPIRAM=y | ||
CONFIG_SPIRAM_MODE_OCT=y | ||
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y | ||
CONFIG_SPIRAM_RODATA=y | ||
CONFIG_SPIRAM_SPEED_80M=y | ||
CONFIG_FREERTOS_HZ=1000 | ||
CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 | ||
CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y | ||
CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y | ||
CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y | ||
CONFIG_SPIRAM_MODE_HEX=y | ||
CONFIG_SPIRAM_SPEED_200M=y | ||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y | ||
|
||
## LVGL9 ## | ||
CONFIG_LV_CONF_SKIP=y | ||
|
||
#CLIB default | ||
CONFIG_LV_USE_CLIB_MALLOC=y | ||
CONFIG_LV_USE_CLIB_SPRINTF=y | ||
CONFIG_LV_USE_CLIB_STRING=y | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,8 @@ | ||
## IDF Component Manager Manifest File | ||
description: ESP32 Graphical Bootloader | ||
|
||
dependencies: | ||
espressif/esp-box: "^3.1.0" | ||
#espressif/esp-box-3: "^1.2.0" | ||
espressif/esp-box-3: "^1.2.0" | ||
# Workaround for i2c: CONFLICT! driver_ng is not allowed to be used with this old driver | ||
esp_codec_dev: | ||
public: true | ||
version: "==1.1.0" | ||
## Required IDF version | ||
idf: | ||
version: ">=5.0.0" |
33 changes: 33 additions & 0 deletions
33
apps/tic_tac_toe/sdkconfig.defaults.esp32_p4_function_ev_board
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This file was generated using idf.py save-defconfig. It can be edited manually. | ||
# Espressif IoT Development Framework (ESP-IDF) 5.4.0 Project Minimal Configuration | ||
# | ||
CONFIG_IDF_TARGET="esp32p4" | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
#CONFIG_PARTITION_TABLE_CUSTOM=y | ||
CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32=y | ||
|
||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
CONFIG_COMPILER_OPTIMIZATION_PERF=y | ||
CONFIG_SPIRAM=y | ||
CONFIG_SPIRAM_MODE_OCT=y | ||
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y | ||
CONFIG_SPIRAM_RODATA=y | ||
CONFIG_SPIRAM_SPEED_80M=y | ||
CONFIG_FREERTOS_HZ=1000 | ||
CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 | ||
CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y | ||
CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y | ||
CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y | ||
CONFIG_SPIRAM_MODE_HEX=y | ||
CONFIG_SPIRAM_SPEED_200M=y | ||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y | ||
|
||
## LVGL9 ## | ||
CONFIG_LV_CONF_SKIP=y | ||
|
||
#CLIB default | ||
CONFIG_LV_USE_CLIB_MALLOC=y | ||
CONFIG_LV_USE_CLIB_SPRINTF=y | ||
CONFIG_LV_USE_CLIB_STRING=y | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,8 @@ | ||
## IDF Component Manager Manifest File | ||
description: ESP32 Graphical Bootloader | ||
|
||
dependencies: | ||
espressif/esp-box: "^3.1.0" | ||
#espressif/esp-box-3: "^1.2.0" | ||
espressif/esp-box-3: "^1.2.0" | ||
# Workaround for i2c: CONFLICT! driver_ng is not allowed to be used with this old driver | ||
esp_codec_dev: | ||
public: true | ||
version: "==1.1.0" | ||
## Required IDF version | ||
idf: | ||
version: ">=5.0.0" |
33 changes: 33 additions & 0 deletions
33
apps/wifi_list/sdkconfig.defaults.esp32_p4_function_ev_board
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This file was generated using idf.py save-defconfig. It can be edited manually. | ||
# Espressif IoT Development Framework (ESP-IDF) 5.4.0 Project Minimal Configuration | ||
# | ||
CONFIG_IDF_TARGET="esp32p4" | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
CONFIG_PARTITION_TABLE_CUSTOM=y | ||
CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32=y | ||
|
||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y | ||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y | ||
CONFIG_COMPILER_OPTIMIZATION_PERF=y | ||
CONFIG_SPIRAM=y | ||
CONFIG_SPIRAM_MODE_OCT=y | ||
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y | ||
CONFIG_SPIRAM_RODATA=y | ||
CONFIG_SPIRAM_SPEED_80M=y | ||
CONFIG_FREERTOS_HZ=1000 | ||
CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 | ||
CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y | ||
CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y | ||
CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y | ||
CONFIG_SPIRAM_MODE_HEX=y | ||
CONFIG_SPIRAM_SPEED_200M=y | ||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y | ||
|
||
## LVGL9 ## | ||
CONFIG_LV_CONF_SKIP=y | ||
|
||
#CLIB default | ||
CONFIG_LV_USE_CLIB_MALLOC=y | ||
CONFIG_LV_USE_CLIB_SPRINTF=y | ||
CONFIG_LV_USE_CLIB_STRING=y | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
"version": 1, | ||
"author": "Uri Shaked", | ||
"editor": "wokwi", | ||
"parts": [ | ||
{ | ||
"type": "board-esp32-s3-box-3", | ||
"id": "esp32", | ||
"top": -24.91, | ||
"left": -388.54, | ||
"attrs": { "psramSize": "16", "flashSize": "16" } | ||
} | ||
], | ||
"connections": [ [ "$serialMonitor:RX", "esp32:G14", "", [] ], [ "$serialMonitor:TX", "esp32:G11", "", [] ] ], | ||
"dependencies": {} | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,8 @@ | ||
description: ESP32 Graphical Bootloader | ||
|
||
dependencies: | ||
espressif/esp-box: "^3.1.0" | ||
#espressif/esp-box-3: "^1.2.0" | ||
espressif/esp-box-3: "^1.2.0" | ||
# Workaround for i2c: CONFLICT! driver_ng is not allowed to be used with this old driver | ||
esp_codec_dev: | ||
public: true | ||
version: "==1.1.0" | ||
#m5stack_core_s3: | ||
# version: "^1.0.0" |
Oops, something went wrong.