embeded/esp322026. 2. 18. 18:08

platform.io ide

2026.02.18 기준 6.4M 오호..

 

다운로드 눌러서 가보면 ㅋㅋㅋㅋ

vscode 받고 플러그인 받아서 하란다 ㅋㅋㅋㅋ

아니 먼가 독립 ide인척 하더니 이게 머야 ㅋㅋㅋㅋ

[링크 : https://platformio.org/install/ide?install=vscode]

[링크 : https://platformio.org/platformio-ide]

 

[링크 : https://oesnuj.tistory.com/entry/VS-Code에서-아두이노-개발-PlatformIO로-쉽게-시작하는-방법]

[링크 : https://epictrave.tistory.com/13]

[링크 : https://wikidocs.net/252665]

'embeded > esp32' 카테고리의 다른 글

esp32 on arduino ide  (0) 2026.02.18
esp component 와 idf.py create-project-from-example  (0) 2026.02.10
idf.py help  (0) 2026.02.10
idf 프로젝트 생성하기  (0) 2026.02.08
esp-idf on windows  (0) 2026.02.05
Posted by 구차니
embeded/esp322026. 2. 18. 18:02

오랫만에 설치하려니 헷갈리고 이상하네

일단은 먼가 다운로드 관련 timeout 문제가 있어서 손을 봐야하고

조금 고민하면 당연한거긴 한데.. esp32를 사용하는 아두이노 보드를 손보려는게 아니니

espressif system에서 제공한 보드 매니저를 쓰는게 맞긴하..겠지?

 

아두이노 설치는 스킵

tools - board - boards manager

 

esp32 검색

 

"esp32 by espressif systems" 를 설치(2026.02.18 기준 3.3.7 버전)

 

에러가 발생하면

 

아래 파일을 열어서 아래 내용을 추가. 300초 이상은 접속을 못하게 해놔서 용량 큰 걸 받을수가 없는 듯?

C:\Users\<username>\.arduinoIDE\arduino-cli.yaml 

[링크 : https://github.com/espressif/arduino-esp32/issues/12161#issuecomment-3680101494]

[링크 : https://github.com/espressif/arduino-esp32/issues/12354]

 

 

[링크 : https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html]

[링크 : https://www.bneware.com/blogPost/esp32_arduino_ide]

[링크 : https://fishpoint.tistory.com/9967]

[링크 : https://m.blog.naver.com/mapes_khkim/222901956974]

'embeded > esp32' 카테고리의 다른 글

platform.io + vscode + esp32  (0) 2026.02.18
esp component 와 idf.py create-project-from-example  (0) 2026.02.10
idf.py help  (0) 2026.02.10
idf 프로젝트 생성하기  (0) 2026.02.08
esp-idf on windows  (0) 2026.02.05
Posted by 구차니
embeded/esp322026. 2. 10. 23:01

idf.py 보다보니 예제로 부터 바로 생성하는게 있어서 시도!

C:\src\esp>idf.py create-project-from-example --help
Usage: idf.py create-project-from-example [OPTIONS] EXAMPLE

  Create a project from an example in the ESP Component Registry.

  You can specify EXAMPLE in the format like: namespace/name=1.0.0:example

  where "=1.0.0" is a version specification.

  An example command:

  idf.py create-project-from-example example/cmp^3.3.8:cmp_ex

  Namespace and version are optional in the EXAMPLE argument.

Options:
  -C, --project-dir PATH          Project directory.
  --profile, --service-profile TEXT
                                  Specifies the profile to use for this command. By default profile named "default"
                                  will be used. Alias "--service-profile" is deprecated and will be removed. The
                                  default value can be set with the IDF_COMPONENT_PROFILE environment variable.
  -p, --path TEXT                 Set the path for the new project. The project will be created directly in the given
                                  folder if it does not contain anything
  --help                          Show this message and exit.

[링크 : https://components.espressif.com/components/example/cmp/versions/3.3.9~1/readme]

 

안이.. 예제는 ^ 로 버전하라면서 왜 =로 해야해?!?!?!?

C:\src\esp>idf.py create-project-from-example example/cmp=3.3.9:cmp_ex
Executing action: create-project-from-example
Example "cmp_ex" successfully downloaded to C:\src\esp\cmp_ex
Done

 

C:\src\esp\cmp_ex>idf.py build
Executing action: all (aliases: build)
Running cmake in directory C:\src\esp\cmp_ex\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe -DESP_PLATFORM=1 -DCCACHE_ENABLE=1 C:\src\esp\cmp_ex"...
-- IDF_TARGET not set, using default target: esp32
-- Found Git: C:/Espressif/tools/idf-git/2.44.0/cmd/git.exe (found version "2.44.0.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- git rev-parse returned 'fatal: not a git repository (or any of the parent directories): .git'
-- Could not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
Dependencies lock doesn't exist, solving dependencies.
...NOTICE: Updating lock file at C:\src\esp\cmp_ex\dependencies.lock
Processing 2 dependencies:
[1/2] example/cmp (3.3.9~1)
[2/2] idf (5.3.1)
-- Project sdkconfig file C:/src/esp/cmp_ex/sdkconfig
-- Compiler supported targets: xtensa-esp-elf
-- Found Python3: C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe (found version "3.11.2") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- App "cmp_ex" version: 1
-- Adding linker script C:/src/esp/cmp_ex/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script C:/src/esp/cmp_ex/build/esp-idf/esp_system/ld/sections.ld.in
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.api.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.libgcc.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.newlib-data.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.syscalls.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.newlib-funcs.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/soc/esp32/ld/esp32.peripherals.ld
-- Components: app_trace app_update bootloader bootloader_support bt cmock console cxx driver efuse esp-tls esp_adc esp_app_format esp_bootloader_format esp_coex esp_common esp_driver_ana_cmpr esp_driver_cam esp_driver_dac esp_driver_gpio esp_driver_gptimer esp_driver_i2c esp_driver_i2s esp_driver_isp esp_driver_jpeg esp_driver_ledc esp_driver_mcpwm esp_driver_parlio esp_driver_pcnt esp_driver_ppa esp_driver_rmt esp_driver_sdio esp_driver_sdm esp_driver_sdmmc esp_driver_sdspi esp_driver_spi esp_driver_touch_sens esp_driver_tsens esp_driver_uart esp_driver_usb_serial_jtag esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_lcd esp_local_ctrl esp_mm esp_netif esp_netif_stack esp_partition esp_phy esp_pm esp_psram esp_ringbuf esp_rom esp_system esp_timer esp_vfs_console esp_wifi espcoredump esptool_py example__cmp fatfs freertos hal heap http_parser idf_test ieee802154 json log lwip main mbedtls mqtt newlib nvs_flash nvs_sec_provider openthread partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: C:/Espressif/frameworks/esp-idf-v5.3.1/components/app_trace C:/Espressif/frameworks/esp-idf-v5.3.1/components/app_update C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader_support C:/Espressif/frameworks/esp-idf-v5.3.1/components/bt C:/Espressif/frameworks/esp-idf-v5.3.1/components/cmock C:/Espressif/frameworks/esp-idf-v5.3.1/components/console C:/Espressif/frameworks/esp-idf-v5.3.1/components/cxx C:/Espressif/frameworks/esp-idf-v5.3.1/components/driver C:/Espressif/frameworks/esp-idf-v5.3.1/components/efuse C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp-tls C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_adc C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_app_format C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_bootloader_format C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_coex C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_common C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ana_cmpr C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_cam C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_dac C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_gpio C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_gptimer C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_i2c C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_i2s C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_isp C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_jpeg C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ledc C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_mcpwm C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_parlio C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_pcnt C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ppa C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_rmt C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdio C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdm C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdmmc C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdspi C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_spi C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_touch_sens C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_tsens C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_uart C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_usb_serial_jtag C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_eth C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_event C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_gdbstub C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_hid C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_http_client C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_http_server C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_https_ota C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_https_server C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_hw_support C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_lcd C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_local_ctrl C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_mm C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_netif C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_netif_stack C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_partition C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_phy C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_pm C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_psram C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_ringbuf C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_system C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_timer C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_vfs_console C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_wifi C:/Espressif/frameworks/esp-idf-v5.3.1/components/espcoredump C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py C:/src/esp/cmp_ex/managed_components/example__cmp C:/Espressif/frameworks/esp-idf-v5.3.1/components/fatfs C:/Espressif/frameworks/esp-idf-v5.3.1/components/freertos C:/Espressif/frameworks/esp-idf-v5.3.1/components/hal C:/Espressif/frameworks/esp-idf-v5.3.1/components/heap C:/Espressif/frameworks/esp-idf-v5.3.1/components/http_parser C:/Espressif/frameworks/esp-idf-v5.3.1/components/idf_test C:/Espressif/frameworks/esp-idf-v5.3.1/components/ieee802154 C:/Espressif/frameworks/esp-idf-v5.3.1/components/json C:/Espressif/frameworks/esp-idf-v5.3.1/components/log C:/Espressif/frameworks/esp-idf-v5.3.1/components/lwip C:/src/esp/cmp_ex/main C:/Espressif/frameworks/esp-idf-v5.3.1/components/mbedtls C:/Espressif/frameworks/esp-idf-v5.3.1/components/mqtt C:/Espressif/frameworks/esp-idf-v5.3.1/components/newlib C:/Espressif/frameworks/esp-idf-v5.3.1/components/nvs_flash C:/Espressif/frameworks/esp-idf-v5.3.1/components/nvs_sec_provider C:/Espressif/frameworks/esp-idf-v5.3.1/components/openthread C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table C:/Espressif/frameworks/esp-idf-v5.3.1/components/perfmon C:/Espressif/frameworks/esp-idf-v5.3.1/components/protobuf-c C:/Espressif/frameworks/esp-idf-v5.3.1/components/protocomm C:/Espressif/frameworks/esp-idf-v5.3.1/components/pthread C:/Espressif/frameworks/esp-idf-v5.3.1/components/sdmmc C:/Espressif/frameworks/esp-idf-v5.3.1/components/soc C:/Espressif/frameworks/esp-idf-v5.3.1/components/spi_flash C:/Espressif/frameworks/esp-idf-v5.3.1/components/spiffs C:/Espressif/frameworks/esp-idf-v5.3.1/components/tcp_transport C:/Espressif/frameworks/esp-idf-v5.3.1/components/ulp C:/Espressif/frameworks/esp-idf-v5.3.1/components/unity C:/Espressif/frameworks/esp-idf-v5.3.1/components/usb C:/Espressif/frameworks/esp-idf-v5.3.1/components/vfs C:/Espressif/frameworks/esp-idf-v5.3.1/components/wear_levelling C:/Espressif/frameworks/esp-idf-v5.3.1/components/wifi_provisioning C:/Espressif/frameworks/esp-idf-v5.3.1/components/wpa_supplicant C:/Espressif/frameworks/esp-idf-v5.3.1/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/src/esp/cmp_ex/build
Running ninja in directory C:\src\esp\cmp_ex\build
Executing "ninja all"...
[4/968] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[454/968] Performing configure step for 'bootloader'
-- Found Git: C:/Espressif/tools/idf-git/2.44.0/cmd/git.exe (found version "2.44.0.windows.1")
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file C:/src/esp/cmp_ex/sdkconfig
-- Compiler supported targets: xtensa-esp-elf
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/soc/esp32/ld/esp32.peripherals.ld
-- Bootloader project name: "bootloader" version: 1
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.api.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.libgcc.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.newlib-funcs.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- 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
-- Component paths: C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader_support C:/Espressif/frameworks/esp-idf-v5.3.1/components/efuse C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_app_format C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_bootloader_format C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_common C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_hw_support C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_system C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py C:/Espressif/frameworks/esp-idf-v5.3.1/components/freertos C:/Espressif/frameworks/esp-idf-v5.3.1/components/hal C:/Espressif/frameworks/esp-idf-v5.3.1/components/log C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader/subproject/main C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader/subproject/components/micro-ecc C:/Espressif/frameworks/esp-idf-v5.3.1/components/newlib C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table C:/Espressif/frameworks/esp-idf-v5.3.1/components/soc C:/Espressif/frameworks/esp-idf-v5.3.1/components/spi_flash C:/Espressif/frameworks/esp-idf-v5.3.1/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/src/esp/cmp_ex/build/bootloader
[107/108] Generating binary image from built executable
esptool.py v4.8.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
Generated C:/src/esp/cmp_ex/build/bootloader/bootloader.bin
[108/108] cmd.exe /C "cd /D C:\src\esp\cmp_ex\build\bootlo... 0x1000 C:/src/esp/cmp_ex/build/bootloader/bootloader.bin"
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
[967/968] Generating binary image from built executable
esptool.py v4.8.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
Generated C:/src/esp/cmp_ex/build/cmp_ex.bin
[968/968] cmd.exe /C "cd /D C:\src\esp\cmp_ex\build\esp-id...le/partition-table.bin C:/src/esp/cmp_ex/build/cmp_ex.bin"
cmp_ex.bin binary size 0x2b740 bytes. Smallest app partition is 0x100000 bytes. 0xd48c0 bytes (83%) free.

Project build complete. To flash, run:
 idf.py flash
or
 idf.py -p PORT flash
or
 python -m esptool --chip esp32 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 2MB --flash_freq 40m 0x1000 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0x10000 build\cmp_ex.bin
or from the "C:\src\esp\cmp_ex\build" directory
 python -m esptool --chip esp32 -b 460800 --before default_reset --after hard_reset write_flash "@flash_args"

 

빌드 하고 나서 보면 managed_components 아래에 example_cmp 라는 컴포넌트가 받아져있다.

 

아마도(?) 저 cmp_hello()가 호출되는 듯.

 

example 탭에 있어야 쓸 수 있는 것 같은데

 

lvgl은 example이 없어서 아래처럼 의존성만 추가가 가능한 듯.

idf.py add-dependency "lvgl/lvgl^9.4.0"

[링크 : https://components.espressif.com/components/lvgl/lvgl/versions/9.4.0/readme]

[링크 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/tools/idf-component-manager.html]

[링크 : https://components.espressif.com/]

'embeded > esp32' 카테고리의 다른 글

platform.io + vscode + esp32  (0) 2026.02.18
esp32 on arduino ide  (0) 2026.02.18
idf.py help  (0) 2026.02.10
idf 프로젝트 생성하기  (0) 2026.02.08
esp-idf on windows  (0) 2026.02.05
Posted by 구차니
embeded/esp322026. 2. 10. 22:27

단편적으로만 사용하는것 같아서 도움말 한번 눌러봄

boot-loader는 내가 원하지 않아도 무조건 들어가는 것 같기도 하고?

그나저나 clang-check 까지 통합을 해놨네

 

C:\Espressif\frameworks\esp-idf-v5.3.1>idf.py help
Executing action: help
Usage: idf.py [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

  ESP-IDF CLI build management tool. For commands that are not known to idf.py an attempt to execute it as a build
  system target will be made. Selected target: None

Options:
  --version                       Show IDF version and exit.
  --list-targets                  Print list of supported targets and exit.
  -C, --project-dir PATH          Project directory.
  -B, --build-dir PATH            Build directory.
  -w, --cmake-warn-uninitialized / -n, --no-warnings
                                  Enable CMake uninitialized variable warnings for CMake files inside the project
                                  directory. (--no-warnings is now the default, and doesn't need to be specified.) The
                                  default value can be set with the IDF_CMAKE_WARN_UNINITIALIZED environment variable.
  -v, --verbose                   Verbose build output.
  --preview                       Enable IDF features that are still in preview.
  --ccache / --no-ccache          Use ccache in build. Disabled by default. The default value can be set with the
                                  IDF_CCACHE_ENABLE environment variable.
  -G, --generator [Ninja]         CMake generator.
  --no-hints                      Disable hints on how to resolve errors and logging.
  -D, --define-cache-entry TEXT   Create a cmake cache entry. This option can be used at most once either globally, or
                                  for one subcommand.
  -p, --port PATH                 Serial port. The default value can be set with the ESPPORT environment variable.
                                  This option can be used at most once either globally, or for one subcommand.
  -b, --baud INTEGER              Baud rate for flashing. It can imply monitor baud rate as well if it hasn't been
                                  defined locally. The default value can be set with the ESPBAUD environment variable.
                                  This option can be used at most once either globally, or for one subcommand.
  --help                          Show this message and exit.

Commands:
  add-dependency               Add dependency to the manifest file.
  all                          Aliases: build. Build the project.
  app                          Build only the app.
  app-flash                    Flash the app only.
  bootloader                   Build only bootloader.
  bootloader-flash             Flash bootloader only.
  build-system-targets         Print list of build system targets.
  clang-check                  run clang-tidy check under current folder, write the output into "warnings.txt"
  clang-html-report            generate html report to "html_report" folder by reading "warnings.txt" (may take a few
                               minutes). This feature requires extra dependency "codereport". Please install this by
                               running "pip install codereport"
  clean                        Delete build output files from the build directory.
  confserver                   Run JSON configuration server.
  coredump-debug               Create core dump ELF file and run GDB debug session with this file.
  coredump-info                Print crashed task’s registers, callstack, list of available tasks in the system,
                               memory regions and contents of memory stored in core dump (TCBs and stacks)
  create-component             Create a new component.
  create-manifest              Create manifest for specified component.
  create-project               Create a new project.
  create-project-from-example  Create a project from an example in the ESP Component Registry.
  docs                         Open web browser with documentation for ESP-IDF
  efuse-common-table           Generate C-source for IDF's eFuse fields.
  efuse-custom-table           Generate C-source for user's eFuse fields.
  encrypted-app-flash          Flash the encrypted app only.
  encrypted-flash              Flash the encrypted project.
  erase-flash                  Erase entire flash chip.
  erase-otadata                Erase otadata partition.
  flash                        Flash the project.
  fullclean                    Delete the entire build directory contents.
  gdb                          Run the GDB.
  gdbgui                       GDB UI in default browser.
  gdbtui                       GDB TUI mode.
  menuconfig                   Run "menuconfig" project configuration tool.
  merge-bin
  monitor                      Display serial output.
  openocd                      Run openocd from current path
  partition-table              Build only partition table.
  partition-table-flash        Flash partition table only.
  post-debug                   Utility target to read the output of async debug action and stop them.
  python-clean                 Delete generated Python byte code from the IDF directory
  qemu                         Run QEMU.
  read-otadata                 Read otadata partition.
  reconfigure                  Re-run CMake.
  save-defconfig               Generate a sdkconfig.defaults with options different from the default ones
  set-target                   Set the chip target to build.
  show-efuse-table             Print eFuse table.
  size                         Print basic size information about the app.
  size-components              Print per-component size information.
  size-files                   Print per-source-file size information.
  uf2                          Generate the UF2 binary with all the binaries included
  uf2-app                      Generate an UF2 binary for the application only
  update-dependencies          Update dependencies of the project

'embeded > esp32' 카테고리의 다른 글

esp32 on arduino ide  (0) 2026.02.18
esp component 와 idf.py create-project-from-example  (0) 2026.02.10
idf 프로젝트 생성하기  (0) 2026.02.08
esp-idf on windows  (0) 2026.02.05
esp32 와 ili9341 direction  (0) 2026.01.23
Posted by 구차니
embeded/esp322026. 2. 8. 15:07

찾아보니 아래 경로에 있다

C:\Espressif\frameworks\esp-idf-v5.3.1\examples\get-started\hello_world

[링크 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/windows-setup.html]

 


C:\src>mkdir tt

C:\src>cd tt

C:\src\tt>mkdir main

C:\src\tt>idf.py add-dependency "espressif/esp_lvgl_port^2.3.0"
Executing action: add-dependency
Created "C:\src\tt\main\idf_component.yml"
Successfully added dependency "espressif/esp_lvgl_port^2.3.0" to component "main"
Done

C:\src\tt>idf.py add-dependency "lvgl/lvgl^9.*"
Executing action: add-dependency
Successfully added dependency "lvgl/lvgl^9.*" to component "main"
Done

C:\src\tt>git submodule add https://github.com/lvgl/lvgl.git components/lvgl
fatal: not a git repository (or any of the parent directories): .git

C:\src\tt>idf.py add-dependency "espressif/esp_lcd_gc9a01^2.0.0"
Executing action: add-dependency
Successfully added dependency "espressif/esp_lcd_gc9a01^2.0.0" to component "main"
Done

C:\src\tt>dir
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 6A30-5BAD

 C:\src\tt 디렉터리

2026-02-08  오후 03:04    <DIR>          .
2026-02-08  오후 03:04    <DIR>          ..
2026-02-08  오후 03:04    <DIR>          main
               0개 파일                   0 바이트
               3개 디렉터리  379,272,712,192 바이트 남음

C:\src\tt>cd main

C:\src\tt\main>dir
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 6A30-5BAD

 C:\src\tt\main 디렉터리

2026-02-08  오후 03:04    <DIR>          .
2026-02-08  오후 03:04    <DIR>          ..
2026-02-08  오후 03:06               652 idf_component.yml
               1개 파일                 652 바이트
               2개 디렉터리  379,272,712,192 바이트 남음

C:\src\tt\main>type idf_component.yml
## IDF Component Manager Manifest File
dependencies:
  espressif/esp_lcd_gc9a01: "^2.0.0"
  lvgl/lvgl: "^9.*"
  espressif/esp_lvgl_port: "^2.3.0"
  ## Required IDF version
  idf:
    version: ">=4.1.0"
  # # Put list of dependencies here
  # # For components maintained by Espressif:
  # component: "~1.0.0"
  # # For 3rd party components:
  # username/component: ">=1.0.0,<2.0.0"
  # username2/component2:
  #   version: "~1.0.0"
  #   # For transient dependencies `public` flag can be set.
  #   # `public` flag doesn't have an effect dependencies of the `main` component.
  #   # All dependencies of `main` are public by default.
  #   public: true

[링크 : https://docs.lvgl.io/master/integration/chip_vendors/espressif/add_lvgl_to_esp32_idf_project.html]

 


C:\src>cd hello_world

C:\src\hello_world>idf.py set-target esp32
Adding "set-target"'s dependency "fullclean" to list of commands with default set of options.
Executing action: fullclean
Build directory 'C:\src\hello_world\build' not found. Nothing to clean.
Executing action: set-target
Set Target to: esp32, new sdkconfig will be created.
Running cmake in directory C:\src\hello_world\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe -DESP_PLATFORM=1 -DIDF_TARGET=esp32 -DCCACHE_ENABLE=1 C:\src\hello_world"...
-- Found Git: C:/Espressif/tools/idf-git/2.44.0/cmd/git.exe (found version "2.44.0.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- git rev-parse returned 'fatal: not a git repository (or any of the parent directories): .git'
-- Could not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file C:/src/hello_world/sdkconfig
-- Compiler supported targets: xtensa-esp-elf
-- Found Python3: C:/Espressif/python_env/idf5.3_py3.11_env/Scripts/python.exe (found version "3.11.2") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- App "hello_world" version: 1
-- Adding linker script C:/src/hello_world/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script C:/src/hello_world/build/esp-idf/esp_system/ld/sections.ld.in
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.api.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.libgcc.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.newlib-data.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.syscalls.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.newlib-funcs.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/soc/esp32/ld/esp32.peripherals.ld
-- Components: app_trace app_update bootloader bootloader_support bt cmock console cxx driver efuse esp-tls esp_adc esp_app_format esp_bootloader_format esp_coex esp_common esp_driver_ana_cmpr esp_driver_cam esp_driver_dac esp_driver_gpio esp_driver_gptimer esp_driver_i2c esp_driver_i2s esp_driver_isp esp_driver_jpeg esp_driver_ledc esp_driver_mcpwm esp_driver_parlio esp_driver_pcnt esp_driver_ppa esp_driver_rmt esp_driver_sdio esp_driver_sdm esp_driver_sdmmc esp_driver_sdspi esp_driver_spi esp_driver_touch_sens esp_driver_tsens esp_driver_uart esp_driver_usb_serial_jtag esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_lcd esp_local_ctrl esp_mm esp_netif esp_netif_stack esp_partition esp_phy esp_pm esp_psram esp_ringbuf esp_rom esp_system esp_timer esp_vfs_console esp_wifi espcoredump esptool_py fatfs freertos hal heap http_parser idf_test ieee802154 json log lwip main mbedtls mqtt newlib nvs_flash nvs_sec_provider openthread partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: C:/Espressif/frameworks/esp-idf-v5.3.1/components/app_trace C:/Espressif/frameworks/esp-idf-v5.3.1/components/app_update C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader_support C:/Espressif/frameworks/esp-idf-v5.3.1/components/bt C:/Espressif/frameworks/esp-idf-v5.3.1/components/cmock C:/Espressif/frameworks/esp-idf-v5.3.1/components/console C:/Espressif/frameworks/esp-idf-v5.3.1/components/cxx C:/Espressif/frameworks/esp-idf-v5.3.1/components/driver C:/Espressif/frameworks/esp-idf-v5.3.1/components/efuse C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp-tls C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_adc C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_app_format C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_bootloader_format C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_coex C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_common C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ana_cmpr C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_cam C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_dac C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_gpio C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_gptimer C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_i2c C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_i2s C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_isp C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_jpeg C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ledc C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_mcpwm C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_parlio C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_pcnt C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ppa C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_rmt C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdio C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdm C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdmmc C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdspi C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_spi C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_touch_sens C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_tsens C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_uart C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_usb_serial_jtag C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_eth C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_event C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_gdbstub C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_hid C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_http_client C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_http_server C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_https_ota C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_https_server C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_hw_support C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_lcd C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_local_ctrl C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_mm C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_netif C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_netif_stack C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_partition C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_phy C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_pm C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_psram C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_ringbuf C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_system C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_timer C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_vfs_console C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_wifi C:/Espressif/frameworks/esp-idf-v5.3.1/components/espcoredump C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py C:/Espressif/frameworks/esp-idf-v5.3.1/components/fatfs C:/Espressif/frameworks/esp-idf-v5.3.1/components/freertos C:/Espressif/frameworks/esp-idf-v5.3.1/components/hal C:/Espressif/frameworks/esp-idf-v5.3.1/components/heap C:/Espressif/frameworks/esp-idf-v5.3.1/components/http_parser C:/Espressif/frameworks/esp-idf-v5.3.1/components/idf_test C:/Espressif/frameworks/esp-idf-v5.3.1/components/ieee802154 C:/Espressif/frameworks/esp-idf-v5.3.1/components/json C:/Espressif/frameworks/esp-idf-v5.3.1/components/log C:/Espressif/frameworks/esp-idf-v5.3.1/components/lwip C:/src/hello_world/main C:/Espressif/frameworks/esp-idf-v5.3.1/components/mbedtls C:/Espressif/frameworks/esp-idf-v5.3.1/components/mqtt C:/Espressif/frameworks/esp-idf-v5.3.1/components/newlib C:/Espressif/frameworks/esp-idf-v5.3.1/components/nvs_flash C:/Espressif/frameworks/esp-idf-v5.3.1/components/nvs_sec_provider C:/Espressif/frameworks/esp-idf-v5.3.1/components/openthread C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table C:/Espressif/frameworks/esp-idf-v5.3.1/components/perfmon C:/Espressif/frameworks/esp-idf-v5.3.1/components/protobuf-c C:/Espressif/frameworks/esp-idf-v5.3.1/components/protocomm C:/Espressif/frameworks/esp-idf-v5.3.1/components/pthread C:/Espressif/frameworks/esp-idf-v5.3.1/components/sdmmc C:/Espressif/frameworks/esp-idf-v5.3.1/components/soc C:/Espressif/frameworks/esp-idf-v5.3.1/components/spi_flash C:/Espressif/frameworks/esp-idf-v5.3.1/components/spiffs C:/Espressif/frameworks/esp-idf-v5.3.1/components/tcp_transport C:/Espressif/frameworks/esp-idf-v5.3.1/components/ulp C:/Espressif/frameworks/esp-idf-v5.3.1/components/unity C:/Espressif/frameworks/esp-idf-v5.3.1/components/usb C:/Espressif/frameworks/esp-idf-v5.3.1/components/vfs C:/Espressif/frameworks/esp-idf-v5.3.1/components/wear_levelling C:/Espressif/frameworks/esp-idf-v5.3.1/components/wifi_provisioning C:/Espressif/frameworks/esp-idf-v5.3.1/components/wpa_supplicant C:/Espressif/frameworks/esp-idf-v5.3.1/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/src/hello_world/build

 

 

 


C:\src\hello_world>idf.py build
Executing action: all (aliases: build)
Running ninja in directory C:\src\hello_world\build
Executing "ninja all"...
[4/966] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[452/966] Performing configure step for 'bootloader'
-- Found Git: C:/Espressif/tools/idf-git/2.44.0/cmd/git.exe (found version "2.44.0.windows.1")
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file C:/src/hello_world/sdkconfig
-- Compiler supported targets: xtensa-esp-elf
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/soc/esp32/ld/esp32.peripherals.ld
-- Bootloader project name: "bootloader" version: 1
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.api.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.libgcc.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom/esp32/ld/esp32.rohttp://m.newlib-funcs.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- 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
-- Component paths: C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader_support C:/Espressif/frameworks/esp-idf-v5.3.1/components/efuse C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_app_format C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_bootloader_format C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_common C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_hw_support C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom C:/Espressif/frameworks/esp-idf-v5.3.1/components/esp_system C:/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py C:/Espressif/frameworks/esp-idf-v5.3.1/components/freertos C:/Espressif/frameworks/esp-idf-v5.3.1/components/hal C:/Espressif/frameworks/esp-idf-v5.3.1/components/log C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader/subproject/main C:/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader/subproject/components/micro-ecc C:/Espressif/frameworks/esp-idf-v5.3.1/components/newlib C:/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table C:/Espressif/frameworks/esp-idf-v5.3.1/components/soc C:/Espressif/frameworks/esp-idf-v5.3.1/components/spi_flash C:/Espressif/frameworks/esp-idf-v5.3.1/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/src/hello_world/build/bootloader
[107/108] Generating binary image from built executable
esptool.py v4.8.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
Generated C:/src/hello_world/build/bootloader/bootloader.bin
[108/108] cmd.exe /C "cd /D C:\src\hello_world\build\bootl...0x1000 C:/src/hello_world/build/bootloader/bootloader.bin"
Bootloader binary size 0x6880 bytes. 0x780 bytes (7%) free.
[965/966] Generating binary image from built executable
esptool.py v4.8.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
Generated C:/src/hello_world/build/hello_world.bin
[966/966] cmd.exe /C "cd /D C:\src\hello_world\build\esp-i...tition-table.bin C:/src/hello_world/build/hello_world.bin"
hello_world.bin binary size 0x2b9c0 bytes. Smallest app partition is 0x100000 bytes. 0xd4640 bytes (83%) free.

Project build complete. To flash, run:
 idf.py flash
or
 idf.py -p PORT flash
or
 python -m esptool --chip esp32 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 2MB --flash_freq 40m 0x1000 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0x10000 build\hello_world.bin
or from the "C:\src\hello_world\build" directory
 python -m esptool --chip esp32 -b 460800 --before default_reset --after hard_reset write_flash "@flash_args"

 


C:\src\hello_world>idf.py add-dependency "espressif/esp_lvgl_port^2.3.0"
Executing action: add-dependency
Created "C:\src\hello_world\main\idf_component.yml"
Successfully added dependency "espressif/esp_lvgl_port^2.3.0" to component "main"

C:\src\hello_world>type main\idf_component.yml
## IDF Component Manager Manifest File
dependencies:
  espressif/esp_lvgl_port: "^2.3.0"
  ## Required IDF version
  idf:
    version: ">=4.1.0"
  # # Put list of dependencies here
  # # For components maintained by Espressif:
  # component: "~1.0.0"
  # # For 3rd party components:
  # username/component: ">=1.0.0,<2.0.0"
  # username2/component2:
  #   version: "~1.0.0"
  #   # For transient dependencies `public` flag can be set.
  #   # `public` flag doesn't have an effect dependencies of the `main` component.
  #   # All dependencies of `main` are public by default.
  #   public: true

C:\src\hello_world>idf.py add-dependency "lvgl/lvgl^8.*"
Executing action: add-dependency
Successfully added dependency "lvgl/lvgl^8.*" to component "main"

C:\src\hello_world>type main\idf_component.yml
## IDF Component Manager Manifest File
dependencies:
  lvgl/lvgl: "^8.*"
  espressif/esp_lvgl_port: "^2.3.0"
  ## Required IDF version
  idf:
    version: ">=4.1.0"
  # # Put list of dependencies here
  # # For components maintained by Espressif:
  # component: "~1.0.0"
  # # For 3rd party components:
  # username/component: ">=1.0.0,<2.0.0"
  # username2/component2:
  #   version: "~1.0.0"
  #   # For transient dependencies `public` flag can be set.
  #   # `public` flag doesn't have an effect dependencies of the `main` component.
  #   # All dependencies of `main` are public by default.
  #   public: true

C:\src\hello_world>idf.py add-dependency "espressif/esp_lcd_gc9a01^2.0.0"
Executing action: add-dependency
Successfully added dependency "espressif/esp_lcd_gc9a01^2.0.0" to component "main"

C:\src\hello_world>type main\idf_component.yml
## IDF Component Manager Manifest File
dependencies:
  espressif/esp_lcd_gc9a01: "^2.0.0"
  lvgl/lvgl: "^8.*"
  espressif/esp_lvgl_port: "^2.3.0"
  ## Required IDF version
  idf:
    version: ">=4.1.0"
  # # Put list of dependencies here
  # # For components maintained by Espressif:
  # component: "~1.0.0"
  # # For 3rd party components:
  # username/component: ">=1.0.0,<2.0.0"
  # username2/component2:
  #   version: "~1.0.0"
  #   # For transient dependencies `public` flag can be set.
  #   # `public` flag doesn't have an effect dependencies of the `main` component.
  #   # All dependencies of `main` are public by default.
  #   public: true

 

C:\src\hello_world>idf.py menuconfig
Executing action: menuconfig
Running ninja in directory C:\src\hello_world\build
Executing "ninja menuconfig"...
[0/1] cmd.exe /C "cd /D C:\src\hello_world\build && C:\Esp...ERSION=5.3.1 --output config C:/src/hello_world/sdkconfig"C:/Espressif/frameworks/esp-idf-v5.3.1/Kconfig:15: warning: IDF_ENV_FPGA has 'option env="IDF_ENV_FPGA"', but the environment variable IDF_ENV_FPGA is not set
Loaded configuration 'C:/src/hello_world/sdkconfig'
No changes to save (for 'C:/src/hello_world/sdkconfig')

 

+

component config 를 따라가보면 먼가 많긴한데 아쉽게도(?) npm 이나 pip 처럼 먼가 외부 라이브러리 가져오는건 아니고

이걸 수정하면 sdkconfig 파일이 바뀔 뿐인데 어떻게 쓰지?

+

[링크 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/tools/idf-py.html]

'embeded > esp32' 카테고리의 다른 글

esp component 와 idf.py create-project-from-example  (0) 2026.02.10
idf.py help  (0) 2026.02.10
esp-idf on windows  (0) 2026.02.05
esp32 와 ili9341 direction  (0) 2026.01.23
esp32-wroom-32 보드 / arduino 개발툴  (0) 2026.01.23
Posted by 구차니
embeded/esp322026. 2. 5. 09:59

윈도우용 인스톨러 보려는데 5.x 만 지원하고, 6.x 를 쓰려면 다른 gui 인스톨러 써보라고 한다. -_-

[링크 : https://dl.espressif.com/dl/esp-idf/?idf=4.3]

 

내가 필요로 하는건 4.3인데 vscode 에서 깔아 보라고 한다. 흐음..

[링크 : https://e8ch.tistory.com/21]

 

5.x 아니면 윈도우는 포기하는게 나을지도?

'embeded > esp32' 카테고리의 다른 글

idf.py help  (0) 2026.02.10
idf 프로젝트 생성하기  (0) 2026.02.08
esp32 와 ili9341 direction  (0) 2026.01.23
esp32-wroom-32 보드 / arduino 개발툴  (0) 2026.01.23
esp32-2432S028 데모 빌드  (0) 2026.01.21
Posted by 구차니
embeded/esp322026. 1. 23. 15:54

데이터 시트 상으로는 MX MT 값이 제법 중요해보이는데 MX,MY 값이 안보인다 -_-

[링크 : https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf]

 

BGR은 되는것 같고..

데이터 순서는 동일할텐데 화면을 뒤집으려면

ML / MH만 뒤집어야 하나?

-------

MAC - 0x48

초기값으로 설정된거

 

MAC - 0x00 (landscape + rgb)

 

MAC - 0x08 (landscape + bgr)

 

MAC - 0xC8 (landscape)

MX,MY를 설정해서 데이터 방향을 바꾸어서 180도 rotate

 

MAC - 0x28

portrait를 위해 MV(Row/Column Exchange)

 

MAC - 0x68 (portrait) - 0110 1000 (2)

Portrait 되니 좌우가 바뀌어서 이를 위해 MX(Column Address Order) 뒤집음

 


MAC - 0xA8 (portait invert + bgr) - 1010 1000 (2)

landscape 처럼 방향 뒤집으려면 MX/MY를 뒤집음

 

아래는 부팅 로그(참조용)

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:6992
load:0x40078000,len:14292
ho 0 tail 12 room 4
load:0x40080400,len:3688
entry 0x40080678
I (29) boot: ESP-IDF v4.3 2nd stage bootloader
I (29) boot: compile time 14:34:09
I (29) boot: chip revision: 3
I (32) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (39) boot.esp32: SPI Speed      : 40MHz
I (43) boot.esp32: SPI Mode       : DIO
I (48) boot.esp32: SPI Flash Size : 2MB
I (53) boot: Enabling RNG early entropy source...
I (58) boot: Partition Table:
I (62) boot: ## Label            Usage          Type ST Offset   Length
I (69) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (76) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (84) boot:  2 factory          factory app      00 00 00010000 00100000
I (91) boot: End of partition table
I (95) boot_comm: chip revision: 3, min. application chip revision: 0
I (103) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=0e41ch ( 58396) map
I (133) esp_image: segment 1: paddr=0001e444 vaddr=3ffb0000 size=01bd4h (  7124) load
I (136) esp_image: segment 2: paddr=00020020 vaddr=400d0020 size=47344h (291652) map
I (249) esp_image: segment 3: paddr=0006736c vaddr=3ffb1bd4 size=00ec8h (  3784) load
I (251) esp_image: segment 4: paddr=0006823c vaddr=40080000 size=0c740h ( 51008) load
I (277) esp_image: segment 5: paddr=00074984 vaddr=50000000 size=00010h (    16) load
I (284) boot: Loaded app from partition at offset 0x10000
I (284) boot: Disabling RNG early entropy source...
I (297) cpu_start: Pro cpu up.
I (297) cpu_start: Starting app cpu, entry point is 0x40081160
I (0) cpu_start: App cpu up.
I (313) cpu_start: Pro cpu start user code
I (313) cpu_start: cpu freq: 160000000
I (313) cpu_start: Application information:
I (318) cpu_start: Project name:     lvgl-demo
I (323) cpu_start: App version:      1
I (327) cpu_start: ELF file SHA256:  af171cc858421945...
I (333) cpu_start: ESP-IDF:          v4.3
I (338) heap_init: Initializing. RAM available for dynamic allocation:
I (345) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (351) heap_init: At 3FFCFB50 len 000104B0 (65 KiB): DRAM
I (357) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (364) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (370) heap_init: At 4008C740 len 000138C0 (78 KiB): IRAM
I (377) spi_flash: detected chip: generic
I (381) spi_flash: flash io: dio
W (385) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (399) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.

APP  LittlevGL Demo is start!~
lvgl_helpers->Display hor size: 320, ver size: 240
lvgl_helpers->Display buffer size: 20480
lvgl_helpers->Initializing SPI master for display
lvgl_helpers->Configuring SPI host HSPI_HOST (1)
lvgl_helpers->MISO pin: -1, MOSI pin: 13, SCLK pin: 14
lvgl_helpers->Max transfer size: 40960 (bytes)
lvgl_helpers->Initializing SPI bus...
disp_spi->Adding SPI device
disp_spi->Clock speed: 40000000Hz, mode: 0, CS pin: 15
ILI9341->ili9341 Initialization....
I (1440) ILI9341: Enabling backlight.
ILI9341->Display orientation: PORTRAIT
ILI9341->0x36 command value: 0x48
lvgl_helpers->Initializing SPI master for touch
I (1440) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (1460) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (1460) XPT2046: XPT2046 Initialization

 

 

+

ili9341.c

static void ili9341_set_orientation(uint8_t orientation)
{
// ESP_ASSERT(orientation < 4);
const char *orientation_str[] = {"PORTRAIT", "PORTRAIT_INVERTED", "LANDSCAPE", "LANDSCAPE_INVERTED"};
printf("%s->Display orientation: %s\n",TAG, orientation_str[orientation]);
#if defined CONFIG_LVGL_PREDEFINED_DISPLAY_M5STACK
uint8_t data[] = {0x68, 0x68, 0x08, 0x08};
#elif defined (CONFIG_LVGL_PREDEFINED_DISPLAY_WROVER4)
uint8_t data[] = {0x4C, 0x88, 0x28, 0xE8};
#elif defined (CONFIG_LVGL_PREDEFINED_DISPLAY_NONE)
uint8_t data[] = {0x68, 0xA8, 0x08, 0xC8};
#endif
printf("%s->0x36 command value: 0x%02X\n",TAG, data[orientation]);
ili9341_send_cmd(0x36);
ili9341_send_data((void *) &data[orientation], 1);
}

 

sdkconfig

width / height는 320,240 으로 하고 돌리며 된다.

다만 터치는 소스 수정이 좀 많이 필요할 듯.


#
# LVGL TFT Display controller
#
CONFIG_LVGL_PREDEFINED_DISPLAY_NONE=y
# CONFIG_LVGL_PREDEFINED_DISPLAY_WROVER4 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STACK is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STICK is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STICKC is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ERTFT0356 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_RPI_MPI3501 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ATAG is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_RPI_RA8875 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_TTGO is not set
CONFIG_LVGL_TFT_DISPLAY_CONTROLLER_ILI9341=y
CONFIG_LVGL_TFT_DISPLAY_PROTOCOL_SPI=y
CONFIG_LVGL_PREDEFINED_PINS_NONE=y
# CONFIG_LVGL_PREDEFINED_PINS_38V4 is not set
# CONFIG_LVGL_PREDEFINED_PINS_30 is not set
# CONFIG_LVGL_PREDEFINED_PINS_38V1 is not set
# CONFIG_LVGL_PREDEFINED_PINS_TKOALA is not set
CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set
CONFIG_LVGL_TFT_DISPLAY_SPI_HSPI=y
# CONFIG_LVGL_TFT_DISPLAY_SPI_VSPI is not set
CONFIG_LVGL_DISPLAY_ORIENTATION_PORTRAIT=y
# CONFIG_LVGL_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set
# CONFIG_LVGL_DISPLAY_ORIENTATION_LANDSCAPE is not set
# CONFIG_LVGL_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set
CONFIG_LVGL_DISPLAY_ORIENTATION=0
CONFIG_LVGL_DISPLAY_WIDTH=320
CONFIG_LVGL_DISPLAY_HEIGHT=240
CONFIG_LVGL_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_1 is not set
CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_2=y
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_3 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_4 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_5 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_6 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_7 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_8 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_9 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_10 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_12 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_16 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_20 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_24 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_32 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_40 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_48 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_80 is not set
CONFIG_LVGL_TFT_CUSTOM_SPI_CLK_DIVIDER=2
# CONFIG_LVGL_INVERT_DISPLAY is not set
# CONFIG_LVGL_INVERT_COLORS is not set
CONFIG_LVGL_AXP192_PIN_SDA=21
CONFIG_LVGL_AXP192_PIN_SCL=22

'embeded > esp32' 카테고리의 다른 글

idf 프로젝트 생성하기  (0) 2026.02.08
esp-idf on windows  (0) 2026.02.05
esp32-wroom-32 보드 / arduino 개발툴  (0) 2026.01.23
esp32-2432S028 데모 빌드  (0) 2026.01.21
esp32-2432S028 데이터 시트  (0) 2026.01.17
Posted by 구차니
embeded/esp322026. 1. 23. 15:22

원인은 모르겠으나 3.3.5 로 하면 빌드하다가 쉘에서 어쩌구 하면서 에러가 난다.

경고: 라이브러리 ESP_SR에서 카테고리 'Sound'가 유효하지 않습니다. 'Uncategorized'로 설정
경고: 라이브러리 Hash에서 카테고리 'Security'가 유효하지 않습니다. 'Uncategorized'로 설정
경고: 라이브러리 ESP Insights에서 카테고리 ''가 유효하지 않습니다. 'Uncategorized'로 설정
경고: 라이브러리 ESP RainMaker에서 카테고리 ''가 유효하지 않습니다. 'Uncategorized'로 설정
경고: 라이브러리 TFLite Micro에서 카테고리 ''가 유효하지 않습니다. 'Uncategorized'로 설정
경고: 라이브러리 WiFiProv에서 카테고리 ''가 유효하지 않습니다. 'Uncategorized'로 설정
Archiving built core (caching) in: /tmp/arduino_cache_547584/core/core_esp32_esp32_esp32_JTAGAdapter_default,PSRAM_disabled,PartitionScheme_default,CPUFreq_240,FlashMode_dio,FlashFreq_80,FlashSize_4M,UploadSpeed_921600,LoopCore_1,EventsCore_1,DebugLevel_none,EraseFlash_none,ZigbeeMode_default_302ebf432393f02a3a54f86a94370d90.a
>: -c: 줄 1: `''을(를) 찾는 도중 예상치 못한 파일의 끝
>: -c: 줄 2: 문법 오류: 예기치 않은 파일의 끝
exit status 2
보드 ESP32 Dev Module 컴파일 에러.

 

그래서 혹시 몰라 3.2.1를 받아서 하니 잘된다. 이게 머야 -_-

 

귀찮아서 빌드 테스트를 위해

예제 > ESP32 > ChipID 해서 빌드하니 잘된다.

 

어디서 주워듣기로는 DIO로 하라는데 QIO던 DIO던 잘되니 상관없나..

 

부팅시에 부트로더 메시지에서 mode DIO로 나오니.. DIO 로 해야할 느낌?

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:4888
load:0x40078000,len:16456
load:0x40080400,len:4
load:0x40080404,len:3476
entry 0x400805b4

 

실행되고 시리얼 모니터로 보는데, 부트로더 에러나서 같은거 계속 출력하는 줄.. -_-

'embeded > esp32' 카테고리의 다른 글

esp-idf on windows  (0) 2026.02.05
esp32 와 ili9341 direction  (0) 2026.01.23
esp32-2432S028 데모 빌드  (0) 2026.01.21
esp32-2432S028 데이터 시트  (0) 2026.01.17
esp32-2432S028 보드 st7789 spi lcd driver?  (0) 2026.01.16
Posted by 구차니
embeded/esp322026. 1. 21. 14:13

LCD는 ILI9341 인듯하다. 케이스에는 7789 라더니 개뻥이었나.

 

Demo_LVGL(idf-4.3) 라고 되어있어서 idf-4.3을 다운로드 받아 설치하고 환경 변수 잡아주고

mkdir -p ~/esp
cd ~/esp
git clone -b v4.3 --recursive https://github.com/espressif/esp-idf.git

./install.sh

. $HOME/esp/esp-idf/export.sh

[링크 : https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32/get-started/index.html#step-2-get-esp-idf]

[링크 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/versions.html]

 

빌드해서

$ idf.py build

 

넣어주면

idf.py flash -p /dev/ttyUSB1
/home/minimonk/esp/esp-idf43/tools/check_python_dependencies.py:23: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  import pkg_resources
/home/minimonk/esp/esp-idf43/tools/idf.py:384: DeprecationWarning: 'MultiCommand' is deprecated and will be removed in Click 9.0. Use 'Group' instead.
  class CLI(click.MultiCommand):
Executing action: flash
Running ninja in directory /home/minimonk/5_35_LVGL_Full_Test-S024/build
Executing "ninja flash"...
[1/4] Performing build step for 'bootloader'
ninja: no work to do.
[1/2] cd /home/minimonk/esp/esp-idf43/c...nents/esptool_py/run_serial_tool.cmake
esptool.py esp32 -p /dev/ttyUSB1 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 lvgl-demo.bin
esptool.py v3.1-dev
Serial port /dev/ttyUSB1
Connecting.......
Chip is ESP32-D0WD-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 5c:01:3b:33:c6:b0
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00001000 to 0x00007fff...
Flash will be erased from 0x00010000 to 0x00074fff...
Compressed 3072 bytes to 103...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.1 seconds (effective 488.3 kbit/s)...
Hash of data verified.
Compressed 25056 bytes to 15381...
Writing at 0x00001000... (100 %)
Wrote 25056 bytes (15381 compressed) at 0x00001000 in 0.7 seconds (effective 272.5 kbit/s)...
Hash of data verified.
Compressed 412096 bytes to 242315...
Writing at 0x00010000... (6 %)
Writing at 0x00019393... (13 %)
Writing at 0x00022bdb... (20 %)
Writing at 0x000285ac... (26 %)
Writing at 0x0002e521... (33 %)
Writing at 0x000341bb... (40 %)
Writing at 0x0003a063... (46 %)
Writing at 0x0004196e... (53 %)
Writing at 0x000471d6... (60 %)
Writing at 0x0004cf75... (66 %)
Writing at 0x00052dee... (73 %)
Writing at 0x00058bce... (80 %)
Writing at 0x00062282... (86 %)
Writing at 0x0006a20c... (93 %)
Writing at 0x0006fb38... (100 %)
Wrote 412096 bytes (242315 compressed) at 0x00010000 in 5.8 seconds (effective 570.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Done

 

깨져서 나온다.

 

최상위 디렉토리에서 sdkconfig 파일을 열어 몇 개 수정해보면 될 거 같은데


#
# Touchpanel Configuration (XPT2046)
#
CONFIG_LVGL_TOUCH_X_MIN=200
CONFIG_LVGL_TOUCH_Y_MIN=120
CONFIG_LVGL_TOUCH_X_MAX=1900
CONFIG_LVGL_TOUCH_Y_MAX=1900
# CONFIG_LVGL_TOUCH_XY_SWAP is not set
CONFIG_LVGL_TOUCH_INVERT_X=y
CONFIG_LVGL_TOUCH_INVERT_Y=y
# end of Touchpanel Configuration (XPT2046)
# end of LVGL Touch controller

#
# LVGL TFT Display controller
#
CONFIG_LVGL_PREDEFINED_DISPLAY_NONE=y
# CONFIG_LVGL_PREDEFINED_DISPLAY_WROVER4 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STACK is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STICK is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STICKC is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ERTFT0356 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_RPI_MPI3501 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ATAG is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_RPI_RA8875 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_TTGO is not set
CONFIG_LVGL_TFT_DISPLAY_CONTROLLER_ILI9341=y
CONFIG_LVGL_TFT_DISPLAY_PROTOCOL_SPI=y
CONFIG_LVGL_PREDEFINED_PINS_NONE=y
# CONFIG_LVGL_PREDEFINED_PINS_38V4 is not set
# CONFIG_LVGL_PREDEFINED_PINS_30 is not set
# CONFIG_LVGL_PREDEFINED_PINS_38V1 is not set
# CONFIG_LVGL_PREDEFINED_PINS_TKOALA is not set
CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set
CONFIG_LVGL_TFT_DISPLAY_SPI_HSPI=y
# CONFIG_LVGL_TFT_DISPLAY_SPI_VSPI is not set
# CONFIG_LVGL_DISPLAY_ORIENTATION_PORTRAIT is not set
# CONFIG_LVGL_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set
# CONFIG_LVGL_DISPLAY_ORIENTATION_LANDSCAPE is not set
CONFIG_LVGL_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED=y
CONFIG_LVGL_DISPLAY_ORIENTATION=3
#CONFIG_LVGL_DISPLAY_WIDTH=320
CONFIG_LVGL_DISPLAY_WIDTH=240
#CONFIG_LVGL_DISPLAY_HEIGHT=240
CONFIG_LVGL_DISPLAY_HEIGHT=320
CONFIG_LVGL_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_1 is not set
CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_2=y
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_3 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_4 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_5 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_6 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_7 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_8 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_9 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_10 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_12 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_16 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_20 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_24 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_32 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_40 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_48 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_80 is not set
CONFIG_LVGL_TFT_CUSTOM_SPI_CLK_DIVIDER=2
# CONFIG_LVGL_INVERT_DISPLAY is not set
# CONFIG_LVGL_INVERT_COLORS is not set
CONFIG_LVGL_AXP192_PIN_SDA=21
CONFIG_LVGL_AXP192_PIN_SCL=22

 

정상인듯 정상이 아닌듯한 너.. -_-

그 와중에 화면 좌우로 바뀌고, 터치도 xy 뒤집히고 난리네 어떻게 잡냐..

+

[링크 : https://github.com/lvgl/lvgl_esp32_drivers/issues/234]

[링크 : https://forum.lvgl.io/t/how-to-run-lvgl-under-micropython-on-the-cheap-yellow-display/19142]

 

최대 프레임이 잡혀있는건진 모르겠지만 33 이상은 안나오고, 클럭 디바이더 2에서 사용하지 않음을 해주어도 변화가 없다.

# CONFIG_LVGL_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set
CONFIG_LVGL_TFT_CUSTOM_SPI_CLK_DIVIDER=2

 

일단 조금 복잡하면 25 프레임, 심플하면 33 프레임이 나온다.

 

 

'embeded > esp32' 카테고리의 다른 글

esp32 와 ili9341 direction  (0) 2026.01.23
esp32-wroom-32 보드 / arduino 개발툴  (0) 2026.01.23
esp32-2432S028 데이터 시트  (0) 2026.01.17
esp32-2432S028 보드 st7789 spi lcd driver?  (0) 2026.01.16
esp32 와 spi lcd 성능 비..교?  (0) 2026.01.12
Posted by 구차니
embeded/esp322026. 1. 17. 18:54

회사가 망했나 안보이네?

whois 조회해보니 2024년 11우러 이후로는 업데이트 된적이 없다는데

2027년까진 구매되어있다는데 서버는 터진듯.

%kwhois    Domain Name: JCZN1688.COM
   Registry Domain ID: 2661762794_DOMAIN_COM-VRSN
   Registrar WHOIS Server: grs-whois.hichina.com
   Registrar URL: http://wanwang.aliyun.com
   Updated Date: 2024-11-15T01:42:33Z
   Creation Date: 2021-12-15T06:22:58Z
   Registry Expiry Date: 2027-12-15T06:22:58Z
   Registrar: Alibaba Cloud Computing Ltd. d/b/a HiChina (http://www.net.cn)
   Registrar IANA ID: 1599
   Registrar Abuse Contact Email: DomainAbuse@service.aliyun.com
   Registrar Abuse Contact Phone: +86.95187
   Domain Status: ok https://icann.org/epp#ok
   Name Server: DNS19.HICHINA.COM
   Name Server: DNS20.HICHINA.COM
   DNSSEC: unsigned
   URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2026-01-17T09:30:40Z <<<

[링크 : http://www.jczn1688.com/zlxz]

[링크 : https://www.reddit.com/r/esp32/comments/ws6n4u/unknown_schematic_for_esp322432s028_board_anyone/?tl=ko]

 

jczn 멀 어떻게 줄인거냐 -ㅁ-?!?!

 

확장 io와 온도/습도 센서용 인터페이스라..

[링크 : https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/blob/main/OriginalDocumentation/2-Specification/ESP32-2432S028%20Specifications-EN.pdf]

 

usb-c 가 하나만 있는 녀석으로 v2인가? 내꺼랑은 다르네 ㅠㅠ

[링크 : https://ko.aliexpress.com/item/1005005138982767.html?gatewayAdapt=bra2kor]

 

위의 링크는 깨진것 같아서 다시 상위부터 접속해보니 먼가 나오긴 한다.

2.8과 3.2를 받아봤는데 아무튼 내꺼랑은 다른 모델인듯..

LCD가 달라져서 바이너리 그대로 쓸수도 없을 것 같은데..

[링크 : http://pan.jczn1688.com/1/ESP32%20module]

 

2.8인치 에서 받아서 보는 중

microSD는 TF라고 해서 IO5 / IO18 / IO19 / IO23 으로 연결되고 esp-wroom-32 에서는 VSPI 로 연결된다.

LED-RGB는 단순(?) gpio로 on/off 하는 스타일

DAC는 io26 핀이고  dac2로 표시되어있는 부분

 

그 와중에 flash 라고 U4가 있는데 내꺼에는 부품이 없다. NC 처리된 모델인듯.

없으면 확인할게 하나 줄었으니 머 다행인가? ㅋㅋ

[링크 : https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/issues/261]

 

lcm이 TFT 인데 io2 / io12~1015 / io21 을 이용하여 연결되고

io2는 그냥 gpio 같고

io12~io15는 HSPI 포트로 연결된다. 이름부터 웬지 빨라보이네

 

 

원하는건 못 찾았는데

HSPI(spi2) VSPI (spi3)는  아무튼 빠르니까 이름이 좀더 붙은건가? qspi 같은 건 아닌거 같은데..

[링크 : https://documentation.espressif.com/esp32_technical_reference_manual_en.pdf#iomuxgpio]

'embeded > esp32' 카테고리의 다른 글

esp32-wroom-32 보드 / arduino 개발툴  (0) 2026.01.23
esp32-2432S028 데모 빌드  (0) 2026.01.21
esp32-2432S028 보드 st7789 spi lcd driver?  (0) 2026.01.16
esp32 와 spi lcd 성능 비..교?  (0) 2026.01.12
esp32 c6 zigbee thread matter  (0) 2026.01.10
Posted by 구차니