diff --git a/content/blog/simplify-embedded-projects-with-esp-bsp/diagram.json b/content/blog/simplify-embedded-projects-with-esp-bsp/diagram.json new file mode 100644 index 00000000..6576a3d9 --- /dev/null +++ b/content/blog/simplify-embedded-projects-with-esp-bsp/diagram.json @@ -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": {} +} \ No newline at end of file diff --git a/content/blog/simplify-embedded-projects-with-esp-bsp/esp-bsp-display-demo.cast b/content/blog/simplify-embedded-projects-with-esp-bsp/esp-bsp-display-demo.cast new file mode 100644 index 00000000..498c6b10 --- /dev/null +++ b/content/blog/simplify-embedded-projects-with-esp-bsp/esp-bsp-display-demo.cast @@ -0,0 +1,580 @@ +{"version": 2, "width": 143, "height": 35, "timestamp": 1718769857, "idle_time_limit": 1.0, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}} +[0.0,"o","\u001b[32m\u001b[0m\r\n"] +[0.05,"o","\u001b[32m\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u001b[0m\r\n"] +[0.1,"o","\u001b[32m\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u001b[0m\r\n"] +[0.15,"o","\u001b[32m\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u001b[0m\r\n"] +[0.2,"o","\u001b[32m\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u001b[0m\r\n"] +[0.25,"o","\u001b[32m\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u001b[0m\r\n"] +[0.3,"o","\u001b[32m \u001b[0m\r\n"] +[0.35,"o","\r\n"] +[0.55,"o"," "] +[0.57,"o"," "] +[0.59,"o"," "] +[0.61,"o"," "] +[0.63,"o"," "] +[0.65,"o"," "] +[0.67,"o"," "] +[0.69,"o"," "] +[0.71,"o"," "] +[0.73,"o"," "] +[0.75,"o"," "] +[0.77,"o"," "] +[0.79,"o"," "] +[0.81,"o"," "] +[0.83,"o"," "] +[0.85,"o"," "] +[0.87,"o"," "] +[0.89,"o","E"] +[0.91,"o","S"] +[0.93,"o","P"] +[0.95,"o","-"] +[0.97,"o","B"] +[0.99,"o","S"] +[1.01,"o","P"] +[1.03,"o"," "] +[1.05,"o","f"] +[1.07,"o","o"] +[1.09,"o","r"] +[1.11,"o"," "] +[1.13,"o","E"] +[1.15,"o","S"] +[1.17,"o","P"] +[1.19,"o","3"] +[1.21,"o","2"] +[1.23,"o","-"] +[1.25,"o","S"] +[1.27,"o","3"] +[1.29,"o","\r\n"] +[1.49,"o"," "] +[1.51,"o"," "] +[1.53,"o"," "] +[1.55,"o"," "] +[1.57,"o"," "] +[1.59,"o"," "] +[1.61,"o"," "] +[1.63,"o"," "] +[1.65,"o"," "] +[1.67,"o"," "] +[1.69,"o"," "] +[1.71,"o"," "] +[1.73,"o"," "] +[1.75,"o"," "] +[1.77,"o"," "] +[1.79,"o"," "] +[1.81,"o"," "] +[1.83,"o"," "] +[1.85,"o","E"] +[1.87,"o","s"] +[1.89,"o","p"] +[1.91,"o","r"] +[1.93,"o","e"] +[1.95,"o","s"] +[1.97,"o","s"] +[1.99,"o","i"] +[2.01,"o","f"] +[2.03,"o"," "] +[2.05,"o","S"] +[2.07,"o","y"] +[2.09,"o","s"] +[2.11,"o","t"] +[2.13,"o","e"] +[2.15,"o","m"] +[2.17,"o","s"] +[2.19,"o","\r\n"] +[2.39,"o","\r\n"] +[2.59,"o"," "] +[2.61,"o","L"] +[2.63,"o","e"] +[2.65,"o","t"] +[2.67,"o","'"] +[2.69,"o","s"] +[2.71,"o"," "] +[2.73,"o","g"] +[2.75,"o","o"] +[2.77,"o"," "] +[2.79,"o","t"] +[2.81,"o","h"] +[2.83,"o","r"] +[2.85,"o","o"] +[2.87,"o","u"] +[2.89,"o","g"] +[2.91,"o","h"] +[2.93,"o"," "] +[2.95,"o","t"] +[2.97,"o","h"] +[2.99,"o","e"] +[3.01,"o"," "] +[3.03,"o","s"] +[3.05,"o","t"] +[3.07,"o","e"] +[3.09,"o","p"] +[3.11,"o","s"] +[3.13,"o"," "] +[3.15,"o","o"] +[3.17,"o","f"] +[3.19,"o"," "] +[3.21,"o","c"] +[3.23,"o","r"] +[3.25,"o","e"] +[3.27,"o","a"] +[3.29,"o","t"] +[3.31,"o","i"] +[3.33,"o","n"] +[3.35,"o","g"] +[3.37,"o"," "] +[3.39,"o","E"] +[3.41,"o","S"] +[3.43,"o","P"] +[3.45,"o","-"] +[3.47,"o","I"] +[3.49,"o","D"] +[3.51,"o","F"] +[3.53,"o"," "] +[3.55,"o","p"] +[3.57,"o","r"] +[3.59,"o","o"] +[3.61,"o","j"] +[3.63,"o","e"] +[3.65,"o","c"] +[3.67,"o","t"] +[3.69,"o"," "] +[3.71,"o","w"] +[3.73,"o","i"] +[3.75,"o","t"] +[3.77,"o","h"] +[3.79,"o"," "] +[3.81,"o","E"] +[3.83,"o","S"] +[3.85,"o","P"] +[3.87,"o","-"] +[3.89,"o","B"] +[3.91,"o","S"] +[3.93,"o","P"] +[3.95,"o","."] +[3.97,"o","\r\n"] +[4.17,"o","\r\n"] +[4.87,"o","\u001b[?1034h\u001b[32mesp@developer.espressif.com\u001b[0m$ "] +[4.95,"m","idf.py creater-project-from-example"] +[4.950819,"o","i"] +[4.97234,"o","d"] +[4.997347,"o","f"] +[5.018838,"o","."] +[5.040182,"o","p"] +[5.065672,"o","y"] +[5.086356,"o"," "] +[5.111784,"o","c"] +[5.135635,"o","r"] +[5.160422,"o","e"] +[5.185697,"o","a"] +[5.210113,"o","t"] +[5.234984,"o","e"] +[5.260079,"o","-"] +[5.284225,"o","p"] +[5.307738,"o","r"] +[5.332731,"o","o"] +[5.354157,"o","j"] +[5.378097,"o","e"] +[5.402317,"o","c"] +[5.426691,"o","t"] +[5.451915,"o","-"] +[5.476982,"o","f"] +[5.498716,"o","r"] +[5.520305,"o","o"] +[5.541322,"o","m"] +[5.562292,"o","-"] +[5.583586,"o","e"] +[5.605131,"o","x"] +[5.630441,"o","a"] +[5.654449,"o","m"] +[5.677652,"o","p"] +[5.702464,"o","l"] +[5.724083,"o","e"] +[5.744958,"o"," "] +[5.769041,"o","\""] +[5.79023,"o","e"] +[5.811235,"o","s"] +[5.835896,"o","p"] +[5.859095,"o","r"] +[5.884336,"o","e"] +[5.905051,"o","s"] +[5.926955,"o","s"] +[5.952168,"o","i"] +[5.974404,"o","f"] +[5.996413,"o","/"] +[6.018979,"o","e"] +[6.043487,"o","s"] +[6.06864,"o","p"] +[6.090723,"o","-"] +[6.116055,"o","b"] +[6.136516,"o","o"] +[6.160016,"o","x"] +[6.184113,"o","-"] +[6.209776,"o","3"] +[6.231343,"o","^"] +[6.25229,"o","1"] +[6.273276,"o","."] +[6.297848,"o","2"] +[6.319299,"o","."] +[6.341613,"o","0"] +[6.366124,"o",":"] +[6.38924,"o","d"] +[6.411508,"o","i"] +[6.435866,"o","s"] +[6.460951,"o","p"] +[6.48558,"o","l"] +[6.50793,"o","a"] +[6.528912,"o","y"] +[6.552497,"o","_"] +[6.577799,"o","a"] +[6.60252,"o","u"] +[6.628013,"o","d"] +[6.652572,"o","i"] +[6.675455,"o","o"] +[6.697934,"o","_"] +[6.718876,"o","p"] +[6.742934,"o","h"] +[6.767218,"o","o"] +[6.788758,"o","t"] +[6.809085,"o","o"] +[6.833983,"o","\""] +[7.836337,"o","\r\r\n"] +[8.764525,"o","Executing action: create-project-from-example\r\r\n"] +[10.025886,"o","Example \"display_audio_photo\" successfully downloaded to /Users/esp/projects/asciinema-recording/display_audio_photo\u001b[0m\r\r\n"] +[10.026241,"o","Done\r\r\n"] +[10.116361,"o","\u001b[32mesp@developer.espressif.com\u001b[0m$ "] +[10.137483,"o","c"] +[10.158797,"o","d"] +[10.181822,"o"," "] +[10.204726,"o","d"] +[10.225645,"o","i"] +[10.251014,"o","s"] +[10.274249,"o","p"] +[10.298973,"o","l"] +[10.324047,"o","a"] +[10.348897,"o","y"] +[10.371897,"o","_"] +[10.392734,"o","a"] +[10.418216,"o","u"] +[10.441232,"o","d"] +[10.466064,"o","i"] +[10.486678,"o","o"] +[10.507798,"o","_"] +[10.533083,"o","p"] +[10.557797,"o","h"] +[10.580765,"o","o"] +[10.606174,"o","t"] +[10.627679,"o","o"] +[11.630708,"o","\r\r\n"] +[11.631015,"o","\u001b[32mesp@developer.espressif.com\u001b[0m$ "] +[11.655,"m","idf.py set-target"] +[11.655184,"o","i"] +[11.677127,"o","d"] +[11.697419,"o","f"] +[11.720191,"o","."] +[11.741362,"o","p"] +[11.761839,"o","y"] +[11.782217,"o"," "] +[11.804144,"o","s"] +[11.8269,"o","e"] +[11.851519,"o","t"] +[11.872608,"o","-"] +[11.897403,"o","t"] +[11.920273,"o","a"] +[11.943737,"o","r"] +[11.964592,"o","g"] +[11.98729,"o","e"] +[12.008906,"o","t"] +[12.033734,"o"," "] +[12.054099,"o","e"] +[12.077187,"o","s"] +[12.097696,"o","p"] +[12.119318,"o","3"] +[12.143739,"o","2"] +[12.167814,"o","s"] +[12.188235,"o","3"] +[13.192226,"o","\r\r\n"] +[14.128977,"o","Adding \"set-target\"'s dependency \"fullclean\" to list of commands with default set of options.\r\r\nExecuting action: fullclean\r\r\n"] +[14.129074,"o","Build directory '/Users/esp/projects/asciinema-recording/display_audio_photo/build' not found. Nothing to clean.\r\r\nExecuting action: set-target\r\r\nSet Target to: esp32s3, new sdkconfig will be created.\r\r\n"] +[14.159084,"o","Running cmake in directory /Users/esp/projects/asciinema-recording/display_audio_photo/build\r\r\nExecuting \"cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=/Users/esp/.espressif/python_env/idf5.4_py3.12_env/bin/python -DESP_PLATFORM=1 -DIDF_TARGET=esp32s3 -DCCACHE_ENABLE=0 /Users/esp/projects/asciinema-recording/display_audio_photo\"...\r\r\n"] +[14.252392,"o","-- Found Git: /usr/bin/git (found version \"2.39.3 (Apple Git-145)\") \r\r\n"] +[16.029614,"o","-- The C compiler identification is GNU 13.2.0\r\r\n"] +[16.174389,"o","-- The CXX compiler identification is GNU 13.2.0\r\r\n"] +[16.228757,"o","-- The ASM compiler identification is GNU\r\r\n"] +[16.233665,"o","-- Found assembler: /Users/esp/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc\r\r\n"] +[16.283144,"o","-- Detecting C compiler ABI info\r\r\n"] +[16.461859,"o","-- Detecting C compiler ABI info - done\r\r\n"] +[16.477074,"o","-- Check for working C compiler: /Users/esp/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc - skipped\r\r\n"] +[16.477606,"o","-- Detecting C compile features\r\r\n"] +[16.478447,"o","-- Detecting C compile features - done\r\r\n"] +[16.53183,"o","-- Detecting CXX compiler ABI info\r\r\n"] +[16.715523,"o","-- Detecting CXX compiler ABI info - done\r\r\n"] +[16.732053,"o","-- Check for working CXX compiler: /Users/esp/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32s3-elf-g++ - skipped\r\r\n"] +[16.732438,"o","-- Detecting CXX compile features\r\r\n"] +[16.733409,"o","-- Detecting CXX compile features - done\r\r\n"] +[16.801709,"o","-- git rev-parse returned 'fatal: not a git repository (or any of the parent directories): .git'\r\r\n-- Could not use 'git describe' to determine PROJECT_VER.\r\r\n-- Building ESP-IDF components for target esp32s3\r\r\n"] +[17.133875,"o","Dependencies lock doesn't exist, solving dependencies.\r\r\n"] +[30.421537,"o","...........................Updating lock file at /Users/esp/projects/asciinema-recording/display_audio_photo/dependencies.lock\r\r\n"] +[30.435569,"o","Processing 11 dependencies:\r\r\n[1/11] espressif/button (3.2.1)\r\r\n"] +[30.483085,"o","[2/11] espressif/cmake_utilities (0.5.3)\r\r\n"] +[30.545559,"o","[3/11] espressif/esp-box (3.1.0)\r\r\n"] +[30.642092,"o","[4/11] espressif/esp_codec_dev (1.2.0)\r\r\n"] +[30.77787,"o","[5/11] espressif/esp_jpeg (1.0.5~2)\r\r\n"] +[30.827662,"o","[6/11] espressif/esp_lcd_touch (1.1.2)\r\r\n"] +[30.840547,"o","[7/11] espressif/esp_lcd_touch_tt21100 (1.1.0)\r\r\n"] +[30.852313,"o","[8/11] espressif/esp_lvgl_port (2.2.2)\r\r\n"] +[30.938539,"o","[9/11] espressif/icm42670 (1.0.0)\r\r\n"] +[30.949225,"o","[10/11] idf (5.4.0)\r\r\n"] +[30.9494,"o","[11/11] lvgl/lvgl (9.1.0)\r\r\n"] +[34.726443,"o","-- LVGL version: 9.1.0\r\r\n"] +[35.590669,"o","-- Project sdkconfig file /Users/esp/projects/asciinema-recording/display_audio_photo/sdkconfig\r\r\n"] +[35.890914,"o","-- Compiler supported targets: xtensa-esp-elf\r\r\n"] +[36.377715,"o","-- Found Python3: /Users/esp/.espressif/python_env/idf5.4_py3.12_env/bin/python (found version \"3.12.3\") found components: Interpreter \r\r\n"] +[36.462587,"o","-- Performing Test CMAKE_HAVE_LIBC_PTHREAD\r\r\n"] +[36.63769,"o","-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success\r\r\n"] +[36.639326,"o","-- Found Threads: TRUE \r\r\n"] +[36.666564,"o","-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS\r\r\n"] +[36.902391,"o","-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success\r\r\n"] +[36.948615,"o","-- App \"display_audio_photo\" version: 1\r\r\n"] +[37.449638,"o","-- Adding linker script /Users/esp/projects/asciinema-recording/display_audio_photo/build/esp-idf/esp_system/ld/memory.ld\r\r\n"] +[37.450004,"o","-- Adding linker script /Users/esp/projects/asciinema-recording/display_audio_photo/build/esp-idf/esp_system/ld/sections.ld.in\r\r\n"] +[37.468116,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.ld\r\r\n"] +[37.468728,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld\r\r\n"] +[37.469014,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld\r\r\n"] +[37.469575,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.wdt.ld\r\r\n"] +[37.470067,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld\r\r\n"] +[37.470398,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld\r\r\n"] +[37.501995,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/soc/esp32s3/ld/esp32s3.peripherals.ld\r\r\n"] +[37.660604,"o","-- BUTTON: 3.2.1\r\r\n"] +[37.717871,"o","-- LVGL version: 9.1.0\r\r\n"] +[37.917246,"o","-- Components: app_update bootloader bootloader_support cxx driver efuse esp_adc esp_app_format esp_bootloader_format esp_common esp_driver_ana_cmpr esp_driver_dac esp_driver_gpio esp_driver_gptimer esp_driver_i2c esp_driver_i2s esp_driver_ledc esp_driver_mcpwm esp_driver_parlio esp_driver_pcnt esp_driver_rmt esp_driver_sdio esp_driver_sdm esp_driver_sdmmc esp_driver_sdspi esp_driver_spi esp_driver_tsens esp_driver_uart esp_driver_usb_serial_jtag esp_hw_support esp_lcd esp_mm esp_partition esp_pm esp_psram esp_ringbuf esp_rom esp_system esp_timer esp_vfs_console espressif__button espressif__cmake_utilities espressif__esp-box espressif__esp_codec_dev espressif__esp_jpeg espressif__esp_lcd_touch espressif__esp_lcd_touch_tt21100 espressif__esp_lvgl_port espressif__icm42670 esptool_py freertos hal heap log lvgl__lvgl main mbedtls newlib partition_table pthread sdmmc soc spi_flash spiffs vfs xtensa\r\r\n"] +[37.917472,"o","-- Component paths: /Users/esp/projects/esp-idf-master/components/app_update /Users/esp/projects/esp-idf-master/components/bootloader /Users/esp/projects/esp-idf-master/components/bootloader_support /Users/esp/projects/esp-idf-master/components/cxx /Users/esp/projects/esp-idf-master/components/driver /Users/esp/projects/esp-idf-master/components/efuse /Users/esp/projects/esp-idf-master/components/esp_adc /Users/esp/projects/esp-idf-master/components/esp_app_format /Users/esp/projects/esp-idf-master/components/esp_bootloader_format /Users/esp/projects/esp-idf-master/components/esp_common /Users/esp/projects/esp-idf-master/components/esp_driver_ana_cmpr /Users/esp/projects/esp-idf-master/components/esp_driver_dac /Users/esp/projects/esp-idf-master/components/esp_driver_gpio /Users/esp/projects/esp-idf-master/components/esp_driver_gptimer /Users/esp/projects/esp-idf-master/components/esp_driver_i2c /Users/esp/projects/esp-idf-master/components/esp_d"] +[37.917622,"o","river_i2s /Users/esp/projects/esp-idf-master/components/esp_driver_ledc /Users/esp/projects/esp-idf-master/components/esp_driver_mcpwm /Users/esp/projects/esp-idf-master/components/esp_driver_parlio /Users/esp/projects/esp-idf-master/components/esp_driver_pcnt /Users/esp/projects/esp-idf-master/components/esp_driver_rmt /Users/esp/projects/esp-idf-master/components/esp_driver_sdio /Users/esp/projects/esp-idf-master/components/esp_driver_sdm /Users/esp/projects/esp-idf-master/components/esp_driver_sdmmc /Users/esp/projects/esp-idf-master/components/esp_driver_sdspi /Users/esp/projects/esp-idf-master/components/esp_driver_spi /Users/esp/projects/esp-idf-master/components/esp_driver_tsens /Users/esp/projects/esp-idf-master/components/esp_driver_uart /Users/esp/projects/esp-idf-master/components/esp_driver_usb_serial_jtag /Users/esp/projects/esp-idf-master/components/esp_hw_support /Users/esp/projects/esp-idf-master/components/esp_lcd /Users/esp/proj"] +[37.917763,"o","ects/esp-idf-master/components/esp_mm /Users/esp/projects/esp-idf-master/components/esp_partition /Users/esp/projects/esp-idf-master/components/esp_pm /Users/esp/projects/esp-idf-master/components/esp_psram /Users/esp/projects/esp-idf-master/components/esp_ringbuf /Users/esp/projects/esp-idf-master/components/esp_rom /Users/esp/projects/esp-idf-master/components/esp_system /Users/esp/projects/esp-idf-master/components/esp_timer /Users/esp/projects/esp-idf-master/components/esp_vfs_console /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__button /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__cmake_utilities /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp-box /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp_codec_dev /Users/esp/projects/asciinema-recording/display_audio_photo/managed_compo"] +[37.917912,"o","nents/espressif__esp_jpeg /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp_lcd_touch /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp_lcd_touch_tt21100 /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp_lvgl_port /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__icm42670 /Users/esp/projects/esp-idf-master/components/esptool_py /Users/esp/projects/esp-idf-master/components/freertos /Users/esp/projects/esp-idf-master/components/hal /Users/esp/projects/esp-idf-master/components/heap /Users/esp/projects/esp-idf-master/components/log /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/lvgl__lvgl /Users/esp/projects/asciinema-recording/display_audio_photo/main /Users/esp/projects/esp-idf-master/components/mbedtls /Users/esp/projects/esp-idf-master/components/newlib /U"] +[37.918078,"o","sers/georgik/projects/esp-idf-master/components/partition_table /Users/esp/projects/esp-idf-master/components/pthread /Users/esp/projects/esp-idf-master/components/sdmmc /Users/esp/projects/esp-idf-master/components/soc /Users/esp/projects/esp-idf-master/components/spi_flash /Users/esp/projects/esp-idf-master/components/spiffs /Users/esp/projects/esp-idf-master/components/vfs /Users/esp/projects/esp-idf-master/components/xtensa\r\r\n"] +[38.35323,"o","-- Configuring done (24.2s)\r\r\n"] +[39.271511,"o","-- Generating done (0.8s)\r\r\n"] +[39.347988,"o","-- Build files have been written to: /Users/esp/projects/asciinema-recording/display_audio_photo/build\r\r\n"] +[39.525155,"o","\u001b[32mesp@developer.espressif.com\u001b[0m$ "] +[39.54,"m","idf.py add-dependency"] +[39.547568,"o","i"] +[39.56956,"o","d"] +[39.592576,"o","f"] +[39.617969,"o","."] +[39.639284,"o","p"] +[39.660774,"o","y"] +[39.683314,"o"," "] +[39.706004,"o","a"] +[39.72639,"o","d"] +[39.750626,"o","d"] +[39.772492,"o","-"] +[39.796047,"o","d"] +[39.81703,"o","e"] +[39.839229,"o","p"] +[39.859533,"o","e"] +[39.883649,"o","n"] +[39.90581,"o","d"] +[39.929105,"o","e"] +[39.952504,"o","n"] +[39.976076,"o","c"] +[39.999399,"o","y"] +[40.022509,"o"," "] +[40.045127,"o","\""] +[40.065391,"o","e"] +[40.08916,"o","s"] +[40.109585,"o","p"] +[40.133637,"o","r"] +[40.155943,"o","e"] +[40.176256,"o","s"] +[40.200524,"o","s"] +[40.22246,"o","i"] +[40.244755,"o","f"] +[40.26713,"o","/"] +[40.289138,"o","e"] +[40.313593,"o","s"] +[40.333981,"o","p"] +[40.355761,"o","_"] +[40.38033,"o","c"] +[40.400822,"o","o"] +[40.422432,"o","d"] +[40.444887,"o","e"] +[40.469752,"o","c"] +[40.490248,"o","_"] +[40.510819,"o","d"] +[40.533864,"o","e"] +[40.55604,"o","v"] +[40.579841,"o","="] +[40.604112,"o","="] +[40.625885,"o","1"] +[40.650001,"o","."] +[40.673117,"o","1"] +[40.693901,"o","."] +[40.717338,"o","0"] +[40.741834,"o","\""] +[41.742454,"o","\r\r\n"] +[42.918245,"o","Executing action: add-dependency\r\r\n"] +[42.993654,"o","Successfully added dependency \"espressif/esp_codec_dev==1.1.0\" to component \"main\"\u001b[0m\r\r\n"] +[43.095505,"o","\u001b[32mesp@developer.espressif.com\u001b[0m$ "] +[43.11,"m","idf.py build"] +[43.119216,"o","i"] +[43.141408,"o","d"] +[43.165018,"o","f"] +[43.185479,"o","."] +[43.205816,"o","p"] +[43.227063,"o","y"] +[43.250637,"o"," "] +[43.27302,"o","b"] +[43.296795,"o","u"] +[43.320993,"o","i"] +[43.346046,"o","l"] +[43.367873,"o","d"] +[44.372647,"o","\r\r\n"] +[45.44745,"o","Executing action: all (aliases: build)\r\r\n"] +[45.494678,"o","Running ninja in directory /Users/esp/projects/asciinema-recording/display_audio_photo/build\r\r\nExecuting \"ninja all\"...\r\r\n"] +[45.606935,"o","\r[0/1] Re-running CMake...\u001b[K"] +[47.379433,"o","\r\r\n-- git rev-parse returned 'fatal: not a git repository (or any of the parent directories): .git'\r\r\n-- Could not use 'git describe' to determine PROJECT_VER.\r\r\n-- Building ESP-IDF components for target esp32s3\r\r\n"] +[47.8558,"o","Manifest files have changed, solving dependencies.\r\r\n"] +[49.712067,"o","............................Updating lock file at /Users/esp/projects/asciinema-recording/display_audio_photo/dependencies.lock\r\r\n"] +[49.719687,"o","Processing 11 dependencies:\r\r\n\r[1/11] espressif/button (3.2.1)\u001b[K"] +[49.75989,"o","\r[2/11] espressif/cmake_utilities (0.5.3)\u001b[K"] +[49.800519,"o","\r[3/11] espressif/esp-box (3.1.0)\u001b[K"] +[49.870214,"o","\r[4/11] espressif/esp_codec_dev (1.1.0)\u001b[K"] +[50.095676,"o","\r[5/11] espressif/esp_jpeg (1.0.5~2)\u001b[K"] +[50.132831,"o","\r[6/11] espressif/esp_lcd_touch (1.1.2)\u001b[K"] +[50.148887,"o","\r[7/11] espressif/esp_lcd_touch_tt21100 (1.1.0)\u001b[K"] +[50.164565,"o","\r[8/11] espressif/esp_lvgl_port (2.2.2)\u001b[K"] +[50.24178,"o","\r[9/11] espressif/icm42670 (1.0.0)\u001b[K"] +[50.251866,"o","\r[10/11] idf (5.4.0)\u001b[K\r[11/11] lvgl/lvgl (9.1.0)\u001b[K"] +[52.844608,"o","\r\r\n-- LVGL version: 9.1.0\r\r\n"] +[53.663422,"o","-- Project sdkconfig file /Users/esp/projects/asciinema-recording/display_audio_photo/sdkconfig\r\r\n"] +[53.966556,"o","-- Compiler supported targets: xtensa-esp-elf\r\r\n"] +[54.56343,"o","-- App \"display_audio_photo\" version: 1\r\r\n"] +[55.071392,"o","-- Adding linker script /Users/esp/projects/asciinema-recording/display_audio_photo/build/esp-idf/esp_system/ld/memory.ld\r\r\n"] +[55.0717,"o","-- Adding linker script /Users/esp/projects/asciinema-recording/display_audio_photo/build/esp-idf/esp_system/ld/sections.ld.in\r\r\n"] +[55.084396,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.ld\r\r\n"] +[55.084599,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld\r\r\n"] +[55.08491,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld\r\r\n"] +[55.085089,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.wdt.ld\r\r\n"] +[55.085344,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld\r\r\n"] +[55.085598,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld\r\r\n"] +[55.114396,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/soc/esp32s3/ld/esp32s3.peripherals.ld\r\r\n"] +[55.26194,"o","-- BUTTON: 3.2.1\r\r\n"] +[55.311447,"o","-- LVGL version: 9.1.0\r\r\n"] +[55.475421,"o","-- Components: app_update bootloader bootloader_support cxx driver efuse esp_adc esp_app_format esp_bootloader_format esp_common esp_driver_ana_cmpr esp_driver_dac esp_driver_gpio esp_driver_gptimer esp_driver_i2c esp_driver_i2s esp_driver_ledc esp_driver_mcpwm esp_driver_parlio esp_driver_pcnt esp_driver_rmt esp_driver_sdio esp_driver_sdm esp_driver_sdmmc esp_driver_sdspi esp_driver_spi esp_driver_tsens esp_driver_uart esp_driver_usb_serial_jtag esp_hw_support esp_lcd esp_mm esp_partition esp_pm esp_psram esp_ringbuf esp_rom esp_system esp_timer esp_vfs_console espressif__button espressif__cmake_utilities espressif__esp-box espressif__esp_codec_dev espressif__esp_jpeg espressif__esp_lcd_touch espressif__esp_lcd_touch_tt21100 espressif__esp_lvgl_port espressif__icm42670 esptool_py freertos hal heap log lvgl__lvgl main mbedtls newlib partition_table pthread sdmmc soc spi_flash spiffs vfs xtensa\r\r\n-- Component paths: /Users/esp/projects/esp-idf-master/components/app_update /Users/esp/projects/esp-idf-ma"] +[55.47565,"o","s"] +[55.475813,"o","ter/components/bootloader /Users/esp/projects/esp-idf-master/components/bootloader_support /Users/esp/projects/esp-idf-master/components/cxx /Users/esp/projects/esp-idf-master/components/driver /Users/esp/projects/esp-idf-master/components/efuse /Users/esp/projects/esp-idf-master/components/esp_adc /Users/esp/projects/esp-idf-master/components/esp_app_format /Users/esp/projects/esp-idf-master/components/esp_bootloader_format /Users/esp/projects/esp-idf-master/components/esp_common /Users/esp/projects/esp-idf-master/components/esp_driver_ana_cmpr /Users/esp/projects/esp-idf-master/components/esp_driver_dac /Users/esp/projects/esp-idf-master/components/esp_driver_gpio /Users/esp/projects/esp-idf-master/components/esp_driver_gptimer /Users/esp/projects/esp-idf-master/components/esp_driver_i2c /Users/esp/projects/esp-idf-master/components/esp_driver_i2s /Users/esp/projects/esp-idf-master/components/esp_driver_ledc /Users/esp/projects/esp-idf-master/c"] +[55.476028,"o","omponents/esp_driver_mcpwm /Users/esp/projects/esp-idf-master/components/esp_driver_parlio /Users/esp/projects/esp-idf-master/components/esp_driver_pcnt /Users/esp/projects/esp-idf-master/components/esp_driver_rmt /Users/esp/projects/esp-idf-master/components/esp_driver_sdio /Users/esp/projects/esp-idf-master/components/esp_driver_sdm /Users/esp/projects/esp-idf-master/components/esp_driver_sdmmc /Users/esp/projects/esp-idf-master/components/esp_driver_sdspi /Users/esp/projects/esp-idf-master/components/esp_driver_spi /Users/esp/projects/esp-idf-master/components/esp_driver_tsens /Users/esp/projects/esp-idf-master/components/esp_driver_uart /Users/esp/projects/esp-idf-master/components/esp_driver_usb_serial_jtag /Users/esp/projects/esp-idf-master/components/esp_hw_support /Users/esp/projects/esp-idf-master/components/esp_lcd /Users/esp/projects/esp-idf-master/components/esp_mm /Users/esp/projects/esp-idf-master/components/esp_partition /Users/esp"] +[55.476206,"o","/projects/esp-idf-master/components/esp_pm /Users/esp/projects/esp-idf-master/components/esp_psram /Users/esp/projects/esp-idf-master/components/esp_ringbuf /Users/esp/projects/esp-idf-master/components/esp_rom /Users/esp/projects/esp-idf-master/components/esp_system /Users/esp/projects/esp-idf-master/components/esp_timer /Users/esp/projects/esp-idf-master/components/esp_vfs_console /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__button /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__cmake_utilities /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp-box /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp_codec_dev /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp_jpeg /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espress"] +[55.47637,"o","if__esp_lcd_touch /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp_lcd_touch_tt21100 /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__esp_lvgl_port /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/espressif__icm42670 /Users/esp/projects/esp-idf-master/components/esptool_py /Users/esp/projects/esp-idf-master/components/freertos /Users/esp/projects/esp-idf-master/components/hal /Users/esp/projects/esp-idf-master/components/heap /Users/esp/projects/esp-idf-master/components/log /Users/esp/projects/asciinema-recording/display_audio_photo/managed_components/lvgl__lvgl /Users/esp/projects/asciinema-recording/display_audio_photo/main /Users/esp/projects/esp-idf-master/components/mbedtls /Users/esp/projects/esp-idf-master/components/newlib /Users/esp/projects/esp-idf-master/components/partition_table /Users/esp/projects/esp-idf-master/components/pt"] +[55.476554,"o","hread /Users/esp/projects/esp-idf-master/components/sdmmc /Users/esp/projects/esp-idf-master/components/soc /Users/esp/projects/esp-idf-master/components/spi_flash /Users/esp/projects/esp-idf-master/components/spiffs /Users/esp/projects/esp-idf-master/components/vfs /Users/esp/projects/esp-idf-master/components/xtensa\r\r\n"] +[55.803065,"o","-- Configuring done (10.2s)\r\r\n"] +[56.504944,"o","-- Generating done (0.6s)\r\r\n"] +[56.572494,"o","-- Build files have been written to: /Users/esp/projects/asciinema-recording/display_audio_photo/build\r\r\n"] +[56.972978,"o","factory,app,factory,0x10000,1M,\r\r\nstorage,data,spiffs,0x110000,3008K,\r\r\n*******************************************************************************\r\r\n"] +[57.172978,"o","\r[100/989] Building C object esp-idf/mbedtls/mbedtls/library/CMakeFiles.../projects/esp-idf-master/components/mbedtls/port/aes/dma/esp_aes.c.obj\u001b[K"] +[57.372978,"o","\r[200/989] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_os_func_app.c.obj\u001b[K"] +[57.572978,"o","\r[300/989] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32s3/rtc_cntl_hal.c.obj\u001b[K"] +[57.772978,"o","\r[400/989] Building C object esp-idf/freertos/CMakeFiles/__idf_freertos.dir/FreeRTOS-Kernel/event_groups.c.obj\u001b[K"] +[74.059868,"o","-- Found assembler: /Users/esp/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc\r\r\n-- Detecting C compiler ABI info\r\r\n-- Detecting C compiler ABI info - done\r\r\n-- Check for working C compiler: /Users/esp/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc - skipped\r\r\n-- Detecting C compile features\r\r\n-- Detecting C compile features - done\r\r\n-- Detecting CXX compiler ABI info\r\r\n-- Detecting CXX compiler ABI info - done\r\r\n-- Check for working CXX compiler: /Users/esp/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32s3-elf-g++ - skipped\r\r\n-- Detecting CXX compile features\r\r\n-- Detecting CXX compile features - done\r\r\n-- Building ESP-IDF components for target esp32s3\r\r\n-- Project sdkconfig file /Users/esp/projects/asciinema-recording/display_audio_photo/sdkconfig\r\r\n"] +[74.060002,"o","-- Compiler supported targets: xtensa-esp-elf\r\r\n-- Adding linker script /Users/esp/projects/esp-idf-master/components/soc/esp32s3/ld/esp32s3.peripherals.ld\r\r\n-- Bootloader project name: \"bootloader\" version: 1\r\r\n-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.ld\r\r\n-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld\r\r\n-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld\r\r\n-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.wdt.ld\r\r\n-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld\r\r\n-- Adding linker script /Users/esp/projects/esp-idf-master/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld\r\r\n-- Adding linker script /Users/esp/projects/esp-idf-master/components/bootloader/subproject/main/ld/esp32s3/bootlo"] +[74.060034,"o","ader.ld\r\r\n"] +[74.0602,"o","-- Adding linker script /Users/esp/projects/esp-idf-master/components/bootloader/subproject/main/ld/esp32s3/bootloader.rom.ld\r\r\n-- Components: bootloader bootloader_support efuse esp_app_format esp_bootloader_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa\r\r\n-- Component paths: /Users/esp/projects/esp-idf-master/components/bootloader /Users/esp/projects/esp-idf-master/components/bootloader_support /Users/esp/projects/esp-idf-master/components/efuse /Users/esp/projects/esp-idf-master/components/esp_app_format /Users/esp/projects/esp-idf-master/components/esp_bootloader_format /Users/esp/projects/esp-idf-master/components/esp_common /Users/esp/projects/esp-idf-master/components/esp_hw_support /Users/esp/projects/esp-idf-master/components/esp_rom /Users/esp/projects/esp-idf-master/components/esp_system /Users/esp/projects/esp-idf-master/components/esptool_py /Users/esp/projec"] +[74.060233,"o","ts"] +[74.060389,"o","/esp-idf-master/components/freertos /Users/esp/projects/esp-idf-master/components/hal /Users/esp/projects/esp-idf-master/components/log /Users/esp/projects/esp-idf-master/components/bootloader/subproject/main /Users/esp/projects/esp-idf-master/components/bootloader/subproject/components/micro-ecc /Users/esp/projects/esp-idf-master/components/newlib /Users/esp/projects/esp-idf-master/components/partition_table /Users/esp/projects/esp-idf-master/components/soc /Users/esp/projects/esp-idf-master/components/spi_flash /Users/esp/projects/esp-idf-master/components/xtensa\r\r\n-- Configuring done (10.9s)\r\r\n-- Generating done (0.1s)\r\r\n-- Build files have been written to: /Users/esp/projects/asciinema-recording/display_audio_photo/build/bootloader\r\r\n"] +[78.571907,"o","\r[8/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/adc_periph.c.obj\u001b[K\r[9/114] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj\u001b[K\r[10/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj\u001b[K\r[11/114] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32s3.c.obj\u001b[K\r[12/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/sdm_periph.c.obj\u001b[K\r[13/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/pcnt_periph.c.obj\u001b[K\r[14/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/temperature_sensor_periph.c.obj\u001b[K\r[15/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/gdma_periph.c.obj\u001b[K"] +[78.572068,"o","\r[16/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/rmt_periph.c.obj\u001b[K\r[17/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/ledc_periph.c.obj\u001b[K\r[18/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/i2s_periph.c.obj\u001b[K\r[19/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/spi_periph.c.obj\u001b[K\r[20/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/i2c_periph.c.obj\u001b[K\r[21/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/lcd_periph.c.obj\u001b[K\r[22/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/timer_periph.c.obj\u001b[K\r[23/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/twai_periph.c.obj\u001b[K\r[24/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/mpi_periph.c.obj\u001b[K\r[25/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/mcpwm_periph.c.obj\u001b[K\r[26/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/sdmmc_periph.c.obj\u001b[K\r[27"] +[78.572224,"o","/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/usb_periph.c.obj\u001b[K\r[28/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/usb_dwc_periph.c.obj\u001b[K\r[29/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/touch_sensor_periph.c.obj\u001b[K\r[30/114] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/rtc_io_periph.c.obj\u001b[K\r[31/114] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj\u001b[K\r[32/114] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/hal_utils.c.obj\u001b[K\r[33/114] Building C object esp-idf/esp_bootloader_format/CMakeFiles/__idf_esp_bootloader_format.dir/esp_bootloader_desc.c.obj\u001b[K\r[34/114] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj\u001b[K"] +[78.5724,"o","\r[35/114] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32s3/efuse_hal.c.obj\u001b[K\r[36/114] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj\u001b[K\r[37/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj\u001b[K\r[38/114] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj\u001b[K\r[39/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj\u001b[K\r[40/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj\u001b[K\r[41/114] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cache_hal.c.obj\u001b[K\r[42/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj\u001b[K\r[43/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj\u001b[K\r[44/114] Building C object esp-idf/bootloader_sup"] +[78.572566,"o","port/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32s3.c.obj\u001b[K\r[45/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj\u001b[K\r[46/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj\u001b[K\r[47/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj\u001b[K\r[48/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj\u001b[K\r[49/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj\u001b[K\r[50/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj\u001b[K\r[51/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf...support.dir/bootloader_flash/src/bootloader_flash_config_esp32s3.c.obj\u001b[K\r[52/114] Building C o"] +[78.572686,"o","bject esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj\u001b[K"] +[78.572825,"o","\r[53/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj\u001b[K\r[54/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32s3/bootloader_sha.c.obj\u001b[K\r[55/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32s3/bootloader_soc.c.obj\u001b[K\r[56/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj\u001b[K\r[57/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj\u001b[K\r[58/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj\u001b[K"] +[78.572966,"o","\r[59/114] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_fields.c.obj\u001b[K\r[60/114] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_table.c.obj\u001b[K\r[61/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32s3/bootloader_esp32s3.c.obj\u001b[K\r[62/114] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_rtc_calib.c.obj\u001b[K\r[63/114] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_utility.c.obj\u001b[K"] +[78.573105,"o","\r[64/114] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj\u001b[K\r[65/114] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj\u001b[K\r[66/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj\u001b[K\r[67/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/esp_cpu_intr.c.obj\u001b[K\r[68/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj\u001b[K"] +[78.57324,"o","\r[69/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj\u001b[K\r[70/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/cpu_region_protect.c.obj\u001b[K\r[71/114] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj\u001b[K\r[72/114] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj\u001b[K\r[73/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/chip_info.c.obj\u001b[K\r[74/114] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj\u001b[K"] +[78.573404,"o","\r[75/114] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj\u001b[K\r[76/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_clk_init.c.obj\u001b[K\r[77/114] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj\u001b[K\r[78/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj\u001b[K\r[79/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj\u001b[K\r[80/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_sleep.c.obj\u001b[K\r[81/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_time.c.obj\u001b[K"] +[78.573587,"o","\r[82/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj\u001b[K\r[83/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj\u001b[K\r[84/114] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj\u001b[K\r[85/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj\u001b[K\r[86/114] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_cache_writeback_esp32s3.S.obj\u001b[K\r[87/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj\u001b[K\r[88/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_wdt.c.obj\u001b[K\r[89/114] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/noos/log_timestamp.c.obj\u001b[K\r[90/114] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/noos/log_lock.c.obj\u001b[K"] +[78.573733,"o","\r[91/114] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log_timestamp_common.c.obj\u001b[K\r[92/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_cache_esp32s2_esp32s3.c.obj\u001b[K\r[93/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_clk.c.obj\u001b[K\r[94/114] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_init.c.obj\u001b[K\r[95/114] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_print.c.obj\u001b[K\r[96/114] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj\u001b[K\r[97/114] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj\u001b[K\r[98/114] Linking C static library esp-idf/log/liblog.a\u001b[K\r[99/114] Linking C static library esp-idf/esp_rom/libesp_rom.a\u001b[K"] +[78.573913,"o","\r[100/114] Linking C static library esp-idf/esp_common/libesp_common.a\u001b[K\r[101/114] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a\u001b[K\r[102/114] Linking C static library esp-idf/esp_system/libesp_system.a\u001b[K\r[103/114] Linking C static library esp-idf/efuse/libefuse.a\u001b[K\r[104/114] Linking C static library esp-idf/bootloader_support/libbootloader_support.a\u001b[K\r[105/114] Linking C static library esp-idf/esp_bootloader_format/libesp_bootloader_format.a\u001b[K"] +[78.574024,"o","\r[106/114] Linking C static library esp-idf/spi_flash/libspi_flash.a\u001b[K\r[107/114] Linking C static library esp-idf/hal/libhal.a\u001b[K\r[108/114] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a\u001b[K\r[109/114] Linking C static library esp-idf/soc/libsoc.a\u001b[K\r[110/114] Linking C static library esp-idf/xtensa/libxtensa.a\u001b[K\r[111/114] Linking C static library esp-idf/main/libmain.a\u001b[K"] +[78.574193,"o","\r[112/114] Linking C executable bootloader.elf\u001b[K\r[113/114] Generating binary image from built executable\u001b[K\r\r\nesptool.py v4.8.dev4\r\r\nCreating esp32s3 image...\r\r\nMerged 2 ELF sections\r\r\nSuccessfully created esp32s3 image.\r\r\nGenerated /Users/esp/projects/asciinema-recording/display_audio_photo/build/bootloader/bootloader.bin\r\r\n\r[114/114] cd /Users/esp/projects/asciinema-recording/display_audio...sciinema-recording/display_audio_photo/build/bootloader/bootloader.bin\u001b[K\r\r\nBootloader binary size 0x5830 bytes. 0x27d0 bytes (31%) free.\r\r\n"] +[78.774193,"o","\r[500/989] Building C object esp-idf/esp_timer/CMakeFiles/__idf_esp_timer.dir/src/system_time.c.obj\u001b[K"] +[78.974193,"o","\r[600/989] Building C object esp-idf/esp_adc/CMakeFiles/__idf_esp_adc.dir/deprecated/esp32s3/esp_adc_cal_legacy.c.obj\u001b[K"] +[79.174193,"o","\r[700/989] Building C object esp-idf/lvgl__lvgl/CMakeFiles/__idf_lvgl__lvgl.dir/src/draw/renesas/dave2d/lv_draw_dave2d_utils.c.obj\u001b[K"] +[79.374193,"o","\r[800/989] Building C object esp-idf/lvgl__lvgl/CMakeFiles/__idf_lvgl__lvgl.dir/src/libs/freetype/lv_freetype.c.obj\u001b[K"] +[79.574193,"o","\r[900/989] Building C object esp-idf/lvgl__lvgl/CMakeFiles/__idf_lvgl__lvgl.dir/src/misc/lv_style_gen.c.obj\u001b[K"] +[107.781331,"o","\r\r\nProject build complete. To flash, run:\r\r\n idf.py flash\r\r\nor\r\r\n idf.py -p PORT flash\r\r\nor\r\r\n python -m esptool --chip esp32s3 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 16MB --flash_freq 80m 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/display_audio_photo.bin 0x110000 build/storage.bin\r\r\nor from the \"/Users/esp/projects/asciinema-recording/display_audio_photo/build\" directory\r\r\n python -m esptool --chip esp32s3 -b 460800 --before default_reset --after hard_reset write_flash \"@flash_args\"\r\r\n"] +[107.872164,"o","\u001b[32mesp@developer.espressif.com\u001b[0m$ "] +[107.896,"m","idf.py flash"] +[107.896662,"o","i"] +[107.920491,"o","d"] +[107.943901,"o","f"] +[107.96725,"o","."] +[107.990415,"o","p"] +[108.014146,"o","y"] +[108.039005,"o"," "] +[108.060931,"o","f"] +[108.082974,"o","l"] +[108.108541,"o","a"] +[108.133085,"o","s"] +[108.15584,"o","h"] +[109.158602,"o","\r\r\n"] +[110.315758,"o","Executing action: flash\r\r\n"] +[110.354622,"o","Serial port /dev/cu.usbmodem14601\r\r\n"] +[110.360424,"o","Connecting..."] +[110.679431,"o","\r\r\n"] +[110.684883,"o","Detecting chip type... ESP32-S3\r\r\n"] +[110.68606,"o","Running ninja in directory /Users/esp/projects/asciinema-recording/display_audio_photo/build\r\r\nExecuting \"ninja flash\"...\r\r\n"] +[110.845074,"o","\r[1/6] cd /Users/esp/projects/asciinema-recording/display_audio_pho.../asciinema-recording/display_audio_photo/build/display_audio_photo.bin\u001b[K\r\r\ndisplay_audio_photo.bin binary size 0x93660 bytes. Smallest app partition is 0x100000 bytes. 0x6c9a0 bytes (42%) free.\r\r\n"] +[110.888431,"o","\r[2/6] Performing build step for 'bootloader'\u001b[K\r[1/1] cd /Users/esp/projects/asciinema-recording/display_audio_pho...sciinema-recording/display_audio_photo/build/bootloader/bootloader.bin\u001b[K\r\r\nBootloader binary size 0x5830 bytes. 0x27d0 bytes (31%) free.\r\r\n"] +[110.915133,"o","\r[3/6] No install step for 'bootloader'\u001b[K"] +[110.982462,"o","\r[4/6] Completed 'bootloader'\u001b[K"] +[111.191161,"o","\r[5/6] cd /Users/esp/projects/asciinema-recording/display_audio_pho...e-size=1024 --obj-name-len=32 --meta-len=4 --use-magic --use-magic-len\u001b[K\r[5/6] cd /Users/esp/projects/esp-idf-master/components/esptool_py ...ik/projects/esp-idf-master/components/esptool_py/run_serial_tool.cmake\u001b[K"] +[111.380194,"o","\r\r\nesptool.py --chip esp32s3 -p /dev/cu.usbmodem14601 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 16MB 0x0 bootloader/bootloader.bin 0x10000 display_audio_photo.bin 0x8000 partition_table/partition-table.bin 0x110000 storage.bin\r\r\nesptool.py v4.8.dev4\r\r\nSerial port /dev/cu.usbmodem14601\r\r\n"] +[111.886506,"o","Connecting...\r\r\nChip is ESP32-S3 (QFN56) (revision v0.1)\r\r\nFeatures: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)\r\r\nCrystal is 40MHz\r\r\nMAC: f4:12:fa:e2:31:74\r\r\nUploading stub...\r\r\nRunning stub...\r\r\n"] +[112.386506,"o","Stub running...\r\r\nChanging baud rate to 460800\r\r\nChanged.\r\r\nConfiguring flash size...\r\r\nFlash will be erased from 0x00000000 to 0x00005fff...\r\r\nFlash will be erased from 0x00010000 to 0x000a3fff...\r\r\nFlash will be erased from 0x00008000 to 0x00008fff...\r\r\nFlash will be erased from 0x00110000 to 0x003fffff...\r\r\nSHA digest in image updated\r\r\nCompressed 22576 bytes to 13961...\r\r\n\rWriting at 0x00000000... (100 %)\u001b[K"] +[112.886506,"o","\rWriting at 0x00058cc5... (50 %)\u001b[K"] +[113.386506,"o","\rWriting at 0x000a35a4... (100 %)\u001b[K"] +[117.511338,"o","\r\r\nWrote 603744 bytes (344214 compressed) at 0x00010000 in 4.2 seconds (effective 1159.0 kbit/s)...\r\r\nHash of data verified.\r\r\nCompressed 3072 bytes to 119...\r\r\n"] +[118.011338,"o","\rWriting at 0x00008000... (100 %)\u001b[K"] +[117.664059,"o","\r\r\nWrote 3072 bytes (119 compressed) at 0x00008000 in 0.0 seconds (effective 559.4 kbit/s)...\r\r\nHash of data verified.\r\r\nCompressed 3080192 bytes to 1634262...\r\r\n"] +[118.164059,"o","\rWriting at 0x001a3cda... (25 %)\u001b[K"] +[118.664059,"o","\rWriting at 0x002345d2... (50 %)\u001b[K"] +[119.164059,"o","\rWriting at 0x002c5f58... (75 %)\u001b[K"] +[119.664059,"o","\rWriting at 0x0035c438... (100 %)\u001b[K"] +[140.217288,"o","\r\r\nWrote 3080192 bytes (1634262 compressed) at 0x00110000 in 17.5 seconds (effective 1411.4 kbit/s)...\r\r\nHash of data verified.\r\r\n\r\r\nLeaving...\r\r\nHard resetting via RTS pin...\r\r\n"] +[140.241575,"o","Done\r\r\n"] +[140.331053,"o","\u001b[32mesp@developer.espressif.com\u001b[0m$ "] +[140.352,"m","idf.py monitor"] +[140.352879,"o","i"] +[140.378229,"o","d"] +[140.399431,"o","f"] +[140.421401,"o","."] +[140.446635,"o","p"] +[140.470641,"o","y"] +[140.493917,"o"," "] +[140.515258,"o","m"] +[140.535962,"o","o"] +[140.556243,"o","n"] +[140.577271,"o","i"] +[140.599325,"o","t"] +[140.622657,"o","o"] +[140.644355,"o","r"] +[141.644698,"o","\r\r\n"] +[4.87,"o","Executing action: monitor\r\r\nSerial port /dev/cu.usbmodem14601\r\r\nConnecting..."] +[143.006804,"o","\r\r\nDetecting chip type... ESP32-S3\r\r\nRunning idf_monitor in directory /Users/esp/projects/asciinema-recording/display_audio_photo\r\r\nExecuting \"/Users/esp/.espressif/python_env/idf5.4_py3.12_env/bin/python /Users/esp/projects/esp-idf-master/tools/idf_monitor.py -p /dev/cu.usbmodem14601 -b 115200 --toolchain-prefix xtensa-esp32s3-elf- --target esp32s3 --revision 0 /Users/esp/projects/asciinema-recording/display_audio_photo/build/display_audio_photo.elf -m '/Users/esp/.espressif/python_env/idf5.4_py3.12_env/bin/python' '/Users/esp/projects/esp-idf-master/tools/idf.py'\"...\r\r\n\u001b[0;33m--- esp-idf-monitor 1.4.0 on /dev/cu.usbmodem14601 115200 ---\u001b[0m\r\r\n\u001b[0;33m--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---\u001b[0m\r\r\nESP-ROM:esp32s3-20210327\r\r\r\nBuild:Mar 27 2021\r\r\r\nrst:0x15 (USB_UART_CHIP_RESET),boot:0xa (SPI_FAST_FLASH_BOOT)\r\r\r\nSaved PC:0x400490d2\r\r\r\n\u001b[0;33m0x400490d2: usb_uart_device_rx_one_char in ROM\r\r\n\u001b[0m\r\r\nSPIWP:0xee\r\r\r\nmode:DIO, clock div:1\r\r\r\nload:0x3fce2820,len:0x191c\r"] +[143.391136,"o","\r\r\nload:0x403c8700,len:0x4\r\r\r\nload:0x403c8704,len:0xe94\r\r\r\nload:0x403cb700,len:0x3014\r\r\r\nentry 0x403c8950\r\r\r\n\u001b[0;32mI (26) boot: ESP-IDF v5.4-dev-826-g8760e6d2a7-dirty 2nd stage bootloader\u001b[0m\r\r\r\n\u001b[0;32mI (27) boot: compile time Jun 19 2024 06:05:27\u001b[0m\r\r\r\n\u001b[0;32mI (28) boot: Multicore bootloader\u001b[0m\r\r\r\n\u001b[0;32mI (32) boot: chip revision: v0.1\u001b[0m\r\r\r\n\u001b[0;32mI (36) qio_mode: Enabling default flash chip QIO\u001b[0m\r\r\r\n\u001b[0;32mI (41) boot.esp32s3: Boot SPI Speed : 80MHz\u001b[0m\r\r\r\n\u001b[0;32mI (46) boot.esp32s3: SPI Mode : QIO\u001b[0m\r\r\r\n\u001b[0;32mI (50) boot.esp32s3: SPI Flash Size : 16MB\u001b[0m\r\r\r\n\u001b[0;32mI (55) boot: Enabling RNG early entropy source...\u001b[0m\r\r\r\n\u001b[0;32mI (61) boot: Partition Table:\u001b[0m\r"] +[143.400397,"o","\r\r\n\u001b[0;32mI (64) boot: ## Label Usage Type ST Offset Length\u001b[0m\r\r\r\n\u001b[0;32mI (71) boot: 0 nvs WiFi data 01 02 00009000 00006000\u001b[0m\r\r\r\n\u001b[0;32mI (79) boot: 1 phy_init RF data 01 01 0000f000 00001000\u001b[0m"] +[143.403275,"o","\r\r\r\n\u001b[0;32mI (86) boot: 2 factory"] +[143.403695,"o"," factory app 00 00 00010000 00100000\u001b[0m\r\r\r\n\u001b[0;32mI (94) boot: 3 storage Unknown data 01 82 00110000 002f0000\u001b[0m\r\r\r\n\u001b[0;32mI (101) boot: End of partition table\u001b[0m"] +[143.4125,"o","\r\r\r\n\u001b[0;32mI (106) esp_image: segment 0: paddr=00010020 vaddr=3c070020 size=18720h (100128) map\u001b[0m\r\r\r\n\u001b[0;32mI (129) esp_image: segment 1: paddr=00028748 vaddr=3fc98400 size=032b4h ( 12980) load\u001b[0m\r\r\r\n\u001b[0;32mI (132) esp_image: segment 2: paddr=0002ba04 vaddr=40374000 size=04614h ( 17940) load\u001b[0m\r\r\r\n\u001b[0;32mI (139) esp_image: segment 3: paddr=00030020 vaddr=42000020 size=638ach (407724) map\u001b[0m\r\r\r\n\u001b[0;32mI (205) esp_image: segment 4: paddr=000938d4 vaddr=40378614 size=0fd68h ( 64872) load\u001b[0m\r\r\r\n\u001b[0;32mI (226) boot: Loaded app from partition at offset 0x10000\u001b[0m\r\r\r\n\u001b[0;32mI (227) boot: Disabling RNG early entropy source...\u001b[0m\r\r\r\n\u001b[0;32mI (238) octal_psram: vendor id : 0x0d (AP)\u001b[0m\r\r\r\n\u001b[0;32mI (238) octal_psram: dev id : 0x02 (generation 3)\u001b[0m"] +[143.547274,"o","\r\r\r\n\u001b[0;32mI (239) octal_psram: density : 0x03 (64 Mbit)\u001b[0m\r\r\r\n\u001b[0;32mI (243) octal_psram: good-die : 0x01 (Pass)\u001b[0m"] +[143.555835,"o","\r\r\r\n\u001b[0;32mI (248) octal_psram: Latency : 0x01 (Fixed)\u001b[0m\r\r\r\n\u001b[0;32mI (254) octal_psram: VCC : 0x01 (3V)\u001b[0m\r\r\r\n\u001b[0;32mI (259) octal_psram: SRF : 0x01 (Fast Refresh)\u001b[0m\r"] +[143.57213,"o","\r\r\n\u001b[0;32mI (265) octal_psram: BurstType : 0x01 (Hybrid Wrap)\u001b[0m\r\r\r\n\u001b[0;32mI (271) octal_psram: BurstLen : 0x01 (32 Byte)\u001b[0m\r\r\r\n\u001b[0;32mI (276) octal_psram: Readlatency : 0x02 (10 cycles@Fixed)\u001b[0m"] +[143.589466,"o","\r\r\r\n\u001b[0;32mI (282) octal_psram: DriveStrength: 0x00 (1/1)\u001b[0m\r\r\r\n\u001b[0;32mI (288) MSPI Timing: PSRAM timing tuning index: 5\u001b[0m\r"] +[143.600604,"o","\r\r\n\u001b[0;32mI (293) esp_psram: Found 8MB PSRAM device\u001b[0m\r\r\r\n\u001b[0;32mI (297) esp_psram: Speed: 80MHz\u001b[0m\r\r\r\n\u001b[0;32mI (301) cpu_start: Multicore app\u001b[0m\r\r\r\n\u001b[0;32mI (757) esp_psram: SPI SRAM memory test OK\u001b[0m\r\r\r\n\u001b[0;32mI (767) cpu_start: Pro cpu start user code\u001b[0m\r\r\r\n\u001b[0;32mI (767) cpu_start: cpu freq: 240000000 Hz\u001b[0m\r\r\r\n\u001b[0;32mI (767) app_init: Application information:\u001b[0m\r\r\r\n\u001b[0;32mI (770) app_init: Project name: display_audio_photo\u001b[0m\r\r\r\n\u001b[0;32mI (776) app_init: App version: 1\u001b[0m\r\r\r\n\u001b[0;32mI (780) app_init: Compile time: Jun 19 2024 06:05:14\u001b[0m\r\r\r\n\u001b[0;32mI (786) app_init: ELF file SHA256: 2d15b25f5...\u001b[0m\r\r\r\n\u001b[0;32mI (791) app_init: ESP-IDF:"] +[144.123515,"o"," v5.4-dev-826-g8760e6d2a7-dirty\u001b[0m\r\r\r\n\u001b[0;32mI (798) efuse_init: Min chip rev: v0.0\u001b[0m\r\r\r\n\u001b[0;32mI (803) efuse_init: Max chip rev: v0.99 \u001b[0m\r\r\r\n\u001b[0;32mI (808) efuse_init: Chip rev: v0.1\u001b[0m\r\r\r\n\u001b[0;32mI (813) heap_init: Initializing. RAM available for dynamic allocation:\u001b[0m\r\r\r\n\u001b[0;32mI (820) heap_init: At 3FC9C538 len 0004D1D8 (308 KiB): RAM\u001b[0m\r\r\r\n\u001b[0;32mI (826) heap_init: At 3FCE9710 len 00005724 (21 KiB): RAM\u001b[0m\r\r\r\n\u001b[0;32mI (832) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM\u001b[0m\r\r\r\n\u001b[0;32mI (838) heap_init: At 600FE100 len 00001EE8 (7 KiB): RTCRAM\u001b[0m\r"] +[144.151682,"o","\r\r\n\u001b[0;32mI (845) esp_psram: Adding pool of 8192K of PSRAM memory to heap allocator\u001b[0m\r\r\r\n\u001b[0;32mI (853) spi_flash: detected chip: gd\u001b[0m\r\r\r\n\u001b[0;32mI (856) spi_flash: flash io: qio\u001b[0m\r\r\r\n\u001b[0;32mI (871) sleep: Configure to isolate all GPIO pins in sleep state\u001b[0m"] +[144.184527,"o","\r\r\r\n\u001b[0;32mI (878) sleep: Enable automatic switching of GPIO sleep configuration\u001b[0m\r\r\r\n\u001b[0;32mI (885) main_task: Started on CPU0\u001b[0m\r\r\r\n\u001b[0;32mI (895) esp_psram: Reserving pool of 32K of internal memory for DMA/internal allocations\u001b[0m\r\r\r\n\u001b[0;32mI (895) main_task: Calling app_main()\u001b[0m\r"] +[144.209286,"o","\r\r\n\u001b[0;32mI (1065) ESP-BOX: Partition size: total: 2293769, used: 1807706\u001b[0m\r\r\r\n\u001b[0;32mI (1065) LVGL: Starting LVGL task\u001b[0m\r\r\r\n\u001b[0;32mI (1065) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 \u001b[0m"] +[144.37841,"o","\r\r\r\n\u001b[0;32mI (1065) gpio: GPIO[48]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 \u001b[0m"] +[144.388019,"o","\r\r\r\n\u001b[0;32mI (1195) gpio: GPIO[3]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:2 \u001b[0m\r\r\r\n\u001b[0;32mI (1195) ESP-BOX: Setting LCD backlight: 50%\u001b[0m\r\r\r\n\u001b[0;32mI (1415) ES8311: Work in Slave mode\u001b[0m\r\r\r\n\u001b[0;32mI (1435) gpio: GPIO[46]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 \u001b[0m\r\r\r\n\u001b[0;32mI (1435) ES7210: Work in Slave mode\u001b[0m\r\r\r\n\u001b[0;32mI (1445) ES7210: Enable ES7210_INPUT_MIC1\u001b[0m\r\r\r\n\u001b[0;32mI (1445) ES7210: Enable ES7210_INPUT_MIC2\u001b[0m\r\r\r\n\u001b[0;32mI (1455) example: Example initialization done.\u001b[0m\r\r\r\n\u001b[0;32mI (1455) main_task: Returned from app_main()\u001b[0m\r\r\r\n"] diff --git a/content/blog/simplify-embedded-projects-with-esp-bsp/featured.webp b/content/blog/simplify-embedded-projects-with-esp-bsp/featured.webp new file mode 100644 index 00000000..f8637137 Binary files /dev/null and b/content/blog/simplify-embedded-projects-with-esp-bsp/featured.webp differ diff --git a/content/blog/simplify-embedded-projects-with-esp-bsp/index.md b/content/blog/simplify-embedded-projects-with-esp-bsp/index.md new file mode 100644 index 00000000..f67dc3fd --- /dev/null +++ b/content/blog/simplify-embedded-projects-with-esp-bsp/index.md @@ -0,0 +1,238 @@ +--- +title: "Simplify Your Embedded Projects with ESP-BSP" +date: 2024-06-18 +showAuthor: false +authors: + - "juraj-michalek" +tags: ["Embedded Systems", "ESP32", "ESP32-S3", "Espressif", "BSP"] +--- + +## Introduction + +Are you a maker or an embedded systems enthusiast looking to create applications that work across different development boards with Espressif SoCs like ESP32 or ESP32-S3? Whether you’re using the [ESP-WROVER-KIT](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/hw-reference/esp32/get-started-wrover-kit.html), [M5Stack-CoreS3](https://docs.m5stack.com/en/core/CoreS3), [ESP32-S3-BOX-3](https://github.com/espressif/esp-box/blob/master/docs/hardware_overview/esp32_s3_box_3/hardware_overview_for_box_3.md), or other compatible boards, the ESP Board Support Package (ESP-BSP) makes your life easier. In this article, we’ll walk you through how to get started with ESP-BSP, enabling you to focus on your project’s functionality without worrying about hardware differences. + +## What is ESP-BSP? + +[ESP-BSP](https://github.com/espressif/esp-bsp) is a collection of Board Support Packages featuring Espressif’s or M5Stack development boards. It provides a convenient way to start a ESP-IDF based project for a specific development board without the need to manually look for drivers and other details. By using ESP-BSP, you can: + +- **Streamline Hardware Integration**: Simplify code and reduce complexity. +- **Enhance Development Speed**: Quickly set up and start working on your projects. +- **Access Standardized APIs**: Ensure consistency across your projects. + +## Getting Started with ESP-BSP + +The following example covers steps for building application for ESP32-S3-BOX-3 which is supported by ESP-BSP. + +### Hardware Setup + +Ensure you have the following hardware: + +- [ESP32-S3-BOX-3](https://github.com/espressif/esp-box) development board. +- USB-C Cable for power and programming. + +### Prerequisites + +Before you begin, make sure you have [ESP-IDF v5.3](https://docs.espressif.com/projects/esp-idf/en/release-v5.3/esp32/get-started/index.html), the official development framework for the ESP32, properly installed and sourced in your shell. + +### Pre-compiled binaries + +The pre-compiled binaries for the following example are also available via ESP Launchpad and can be flashed directly from the web browser. + +{{< button href="https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_audio_photo" target="_blank" >}} + Try it with ESP Launchpad +{{< /button >}} + + +### Creating Project from Example + +Let’s create a simple project using the [`display_audio_photo` example](https://components.espressif.com/components/espressif/esp-box-3/versions/1.2.0/examples/display_audio_photo), which is available for the ESP32-S3-BOX-3. This example showcases how to use the display, touch, and audio features. + +First, let's see the whole build in Asciinema recording: +{{< asciinema key="esp-bsp-display-demo" cols="80" rows="24" poster="npt:0:08" >}} + +1. **Initialize a New Project**: + + Use the `idf.py` tool to create a new project from the example: + + ```bash + idf.py create-project-from-example "espressif/esp-box-3^1.2.0:display_audio_photo" + cd display_audio_photo + ``` + +2. **Set the Target**: + + Ensure the correct target is set for your project: + + ```bash + idf.py set-target esp32s3 + ``` + + Note: For users of ESP-IDF 5.3 or newer, it is necessary to add the following dependency with the corrected I2C driver (error message at runtime: `CONFLICT! driver_ng`): + + ```bash + idf.py add-dependency "espressif/esp_codec_dev==1.1.0" + ``` + +3. **Check the Configuration of Dependencies**: + + Check that file `main/idf_component.yml` contains dependency on BSP specific to you board. + + Configuration for ESP32-S3-BOX-3: + + ```yaml + ## IDF Component Manager Manifest File + dependencies: + espressif/esp-box-3: "^1.2.0" + esp_jpeg: "^1.0.5~2" + esp_codec_dev: + public: true + version: "==1.1.0" + ## Required IDF version + idf: + version: ">=5.0.0" + ``` + + Configuration for ESP32-S3-BOX: + + ```yaml + ## IDF Component Manager Manifest File + dependencies: + espressif/esp-box: "^3.1.0" + esp_jpeg: "^1.0.5~2" + esp_codec_dev: + public: true + version: "==1.1.0" + ## Required IDF version + idf: + version: ">=5.0.0" + ``` + + Configuration for M5Stack-CoreS3: + + ```yaml + ## IDF Component Manager Manifest File + dependencies: + espressif/m5stack_core_s3: "^1.1.0" + esp_jpeg: "^1.0.5~2" + esp_codec_dev: + public: true + version: "==1.1.0" + ## Required IDF version + idf: + version: ">=5.0.0" + ``` + +4. **Build and Flash the Project**: + + Compile and flash your application to the ESP32-S3-BOX-3: + + ```bash + idf.py build flash monitor + ``` + + Note: Use `Ctrl+]` to quit the monitor application. + + Note: Some models of M5Stack CoreS3 have QUAD SPI RAM, in that case please use the following command for the build, which will take into account specific settings for M5Stack CoreS3 from the file: + + ```bash + idf.py build -DSDKCONFIG=sdkconfig.bsp.m5stack_core_s3 + ``` + +### Exploring the Example + +Once the application is running, you’ll see the following features in action: + +- **Display**: Shows images, text files, and more. +- **Touch**: Interacts with the display. +- **Audio**: Plays sound files. + +Let's look at the source code of the example. The Board Support Package provides an API that allows you to initialize a board. The application code is cleaner and does not require board-specific details, such as pins hard-coded in the application code. + +```c +#include "esp_log.h" +#include "bsp/esp-bsp.h" +#include "app_disp_fs.h" + +static const char *TAG = "example"; + +void app_main(void) +{ + /* Initialize and mount SPIFFS */ + bsp_spiffs_mount(); + + /* Initialize I2C (for touch and audio) */ + bsp_i2c_init(); + + /* Initialize display and LVGL */ + bsp_display_start(); + + /* Set default display brightness */ + bsp_display_brightness_set(APP_DISP_DEFAULT_BRIGHTNESS); + + /* Add and show LVGL objects on display */ + app_disp_lvgl_show(); + + /* Initialize SPI flash file system and show list of files on display */ + app_disp_fs_init(); + + /* Initialize audio */ + app_audio_init(); + + ESP_LOGI(TAG, "Example initialization done."); +} +``` + +### Simulating the ESP32-S3-BOX-3 with Wokwi + +You can also simulate the application with ESP-BSP for ESP32-S3-BOX-3 using the Wokwi simulator from your development environment using a plugin for [VS Code](https://docs.wokwi.com/vscode/getting-started), [Espressif IDE](https://github.com/espressif/idf-eclipse-plugin?tab=readme-ov-file#wokwi-simulator), or [JetBrains IDEs](https://plugins.jetbrains.com/plugin/23826-wokwi-simulator). This allows you to test your applications without needing the physical hardware. + +To set up the simulation, you need to add two files to your project: [wokwi.toml](wokwi.toml) and [diagram.json](diagram.json) in the root of the project. + +Content of `wokwi.toml` +```toml +[wokwi] +version = 1 +elf = "build/uf2.bin" +firmware = "build/uf2.bin" +``` + +Content of `diagram.json` +```json +{ + "version": 1, + "author": "Wokwi.com", + "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": {} +} +``` + +Use the following command to build the UF2 image for your project. The Wokwi simulator will pick up this binary and run it. + +```bash +idf.py uf2 +``` + +Now you can start the simulation in your favorite IDE. + +## Conclusion + +With ESP-BSP, you can quickly develop and port your applications across various boards with Espressif SoC, saving time and effort. Whether you’re building a new project or upgrading an existing one, ESP-BSP simplifies your development process. + +## Useful Links + +- [Board Support Packages at Component Registry](https://components.espressif.com/components?q=Board+Support+Package) +- [ESP-BSP GitHub Repository](https://github.com/espressif/esp-bsp) +- [ESP-BSP Documentation](https://github.com/espressif/esp-bsp/blob/master/README.md) +- [ESP-BOX-3 BSP Example](https://components.espressif.com/components/espressif/esp-box-3/versions/1.2.0/examples?language=en) +- [ESP-IDF Installation Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html) +- [Wokwi Simulator with ESP32-BOX-3 support](https://wokwi.com/esp32#starter-templates) diff --git a/content/blog/simplify-embedded-projects-with-esp-bsp/wokwi.toml b/content/blog/simplify-embedded-projects-with-esp-bsp/wokwi.toml new file mode 100644 index 00000000..24a4a864 --- /dev/null +++ b/content/blog/simplify-embedded-projects-with-esp-bsp/wokwi.toml @@ -0,0 +1,4 @@ +[wokwi] +version = 1 +elf = "build/uf2.bin" +firmware = "build/uf2.bin"