'프로그램 사용 > vi' 카테고리의 다른 글
| vi 이전 위치 다음 위치로 이동하기 (0) | 2022.08.04 |
|---|---|
| vi가 늦게 켜지는 이유 (0) | 2022.07.28 |
| vim 색상 바꾸기(colorscheme) (0) | 2021.01.20 |
| vi 에서 매칭되는 갯수 확인하기 (0) | 2019.12.18 |
| vi gg=G와 set ts (0) | 2019.07.04 |
| vi 이전 위치 다음 위치로 이동하기 (0) | 2022.08.04 |
|---|---|
| vi가 늦게 켜지는 이유 (0) | 2022.07.28 |
| vim 색상 바꾸기(colorscheme) (0) | 2021.01.20 |
| vi 에서 매칭되는 갯수 확인하기 (0) | 2019.12.18 |
| vi gg=G와 set ts (0) | 2019.07.04 |
esp32 등을 이용한 RTL-SDR 의 간이형이라고 해야하나?
[링크 : https://atsmini.github.io/]
v4 는 이어폰도 있는거 봐서는 단순하게 DAC을 통해 ROUT / LOUT으로 바로 출력하는 듯.
굳이 복잡하게 i2s 할 필요가 없는 제품일듯.
[링크 : https://www.amazon.com/YJIPOWA-Receiver-Amnvolt-Headphone-Amplifier/dp/B0FXRQSN4J]
si4732 라는 칩을 이용해서 원하는 주파수를 받을수 있는 듯.
일단 digital audio out을 지원한다는데
| Features - Worldwide FM band support (64–108 MHz) - Worldwide AM band support (520–1710 kHz) - SW band support (2.3–26.1 MHz) - LW band support (153–279 kHz) ![]() |
[링크 : https://www.skyworksinc.com/-/media/Skyworks/SL/documents/public/data-shorts/Si4732-A10-short.pdf]
[링크 : https://www.digikey.kr/ko/products/detail/skyworks-solutions-inc/SI4732-A10-GS/4576679]
귀찮으면(!) Analog audio output 으로 해서 그냥 스피커 달아도 되는 듯한데

디지털은 I2S로 쓸 수 있다. (이거면 그냥 가장 편할 듯?)

[링크 : https://aitendo3.sakura.ne.jp/aitendo_data/product_img/ic/radio/SI4732-A10/AN332.pdf]
[링크 : https://m.vctec.co.kr/product/amfmselwrds-라디오-리시버-모듈-si4732-amfm-2-click/22607/]
| rtl-sdr v3/v4 (0) | 2025.10.06 |
|---|---|
| wifi sdr - openwifi, antsdr 등등 (0) | 2025.09.26 |
| gr-lora with gnuradio 성공! (0) | 2025.09.25 |
| gnuraduio wx gui deprecated (0) | 2025.09.25 |
| qr-lora tutorial (0) | 2025.09.25 |
링커 스크립트에서 만든 변수를
c에서 끌어오려면 extern 을 해주면 계산된 값이 불려온다.
| SECTIONS { /* Starts at LOADER_ADDR. */ . = 0x80000; /* For AArch64, use . = 0x80000; */ __start = .; __text_start = .; .text : { KEEP(*(.text.boot)) *(.text) } . = ALIGN(4096); /* align to page size */ __text_end = .; __bss_start = .; .bss : { bss = .; *(.bss) } . = ALIGN(4096); /* align to page size */ __bss_end = .; __bss_size = __bss_end - __bss_start; __end = .; } : 저 변수들은 실제 저안에서 사용된다기 보다는 소스 코드(C 파일 혹은 어셈블리어 파일)상에서 사용되면서 의미가 부여된다. 저 변수들을 소스 코드상에서 불러 오려면 어떻게 해야 할까? 아래의 코드를 보자. extern unsgined char __text_start; uint8_t *text_start = &__text_start; + extern usigned int __bss_size; |
| gcc -MD -MF 의존성 확인 (0) | 2026.06.10 |
|---|---|
| gcc ld rpah=$ORIGIN 동적링크 경로 (0) | 2026.06.10 |
| gcc -D 를 이용하여 명령줄에서 define 하기 (0) | 2026.03.12 |
| gcc __cplusplus 선언 (0) | 2026.02.18 |
| gcc __attribute__((weak)) 테스트 (0) | 2026.01.29 |
쉘에서 괄호를 벗겨 버리는군 -_-
소스는 아래
| $ cat t.c //#include <stdio.h> void main() { printf("%c\r\n", 'a'); printf("%c\r\n", STR); } |
명령어 별 변환
실패
| $ gcc -E -DSTR=b t.c $ gcc -E -DSTR='b' t.c $ gcc -E -DSTR="b" t.c # 0 "t.c" # 0 "<built-in>" # 0 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 0 "<command-line>" 2 # 1 "t.c" void main() { printf("%c\r\n", 'a'); printf("%c\r\n", b); } |
성공
| $ gcc -E "-DSTR='b'" t.c $ gcc -E -DSTR=\'b\' t.c # 0 "t.c" # 0 "<built-in>" # 0 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 0 "<command-line>" 2 # 1 "t.c" void main() { printf("%c\r\n", 'a'); printf("%c\r\n", 'b'); } |
그나저나 stm32cubeide 에서 추가하니

컴파일시에 아래처럼 표시된다. 어우.. 이거 윈도우에서 문제 안생기려나?
| '-DSTR='"'"'A'"'"'' |
| gcc ld rpah=$ORIGIN 동적링크 경로 (0) | 2026.06.10 |
|---|---|
| 링커 스크립트를 이용한 변수 값 할당 (0) | 2026.03.13 |
| gcc __cplusplus 선언 (0) | 2026.02.18 |
| gcc __attribute__((weak)) 테스트 (0) | 2026.01.29 |
| gcc cortex-a9 double형 neon 연산 가속 (3) | 2023.08.08 |
누르면 살며시 화면이 바귀는데 fade on으로 되어있고
어쩌면 의외로 간단하게(?) lv_screen_load_anim 이라는 애니메이션 관련 lvgl 함수로 처리한다.
| /////////////////// ui_Home.c void ui_event_BTN_Settings(lv_event_t * e) { lv_event_code_t event_code = lv_event_get_code(e); if(event_code == LV_EVENT_CLICKED) { _ui_screen_change(&ui_Settings, LV_SCR_LOAD_ANIM_FADE_ON, 100, 0, &ui_Settings_screen_init); } } void ui_Home_screen_init(void) { ui_Home = lv_obj_create(NULL); lv_obj_remove_flag(ui_Home, LV_OBJ_FLAG_SCROLLABLE); /// Flags lv_obj_set_style_bg_color(ui_Home, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui_Home, 0, LV_PART_MAIN | LV_STATE_DEFAULT); /// 많이 생략 /// lv_obj_add_event_cb(ui_BTN_Settings, ui_event_BTN_Settings, LV_EVENT_ALL, NULL); } /////////////////// ui_helpers.c void _ui_screen_change(lv_obj_t ** target, lv_screen_load_anim_t fademode, int spd, int delay, void (*target_init)(void)) { if(*target == NULL) target_init(); lv_screen_load_anim(*target, fademode, spd, delay, false); } |
| lvgl 속도 제한(?) 해제 (0) | 2026.02.18 |
|---|---|
| esp32 lvgl from scratch 는 실패중 ㅠㅠ (0) | 2026.02.18 |
| esp32 lvgl 관련 링크들 (0) | 2026.02.18 |
| lvgl 기본 폰트 크기 바꾸기 (0) | 2026.02.13 |
| lvgl textarea (0) | 2026.02.11 |
gcc 로 빌드하면 현재 빌드하는 시스템이 c가 아닌 cpp 라는걸 확인하기 위해(혹은 알려주기 위해)
__cplusplus 라는 선언을 -D__cplusplus 하듯 붙여주는 듯 한데
__cplusplus__가 아니라 왜 앞에만 언더바 두 개 일까.. -_-?
| __STDC__ In normal operation, this macro expands to the constant 1, to signify that this compiler conforms to ISO Standard C. If GNU CPP is used with a compiler other than GCC, this is not necessarily true; however, the preprocessor always conforms to the standard unless the -traditional-cpp option is used. This macro is not defined if the -traditional-cpp option is used. On some hosts, the system compiler uses a different convention, where __STDC__ is normally 0, but is 1 if the user specifies strict conformance to the C Standard. CPP follows the host convention when processing system header files, but when processing user files __STDC__ is always 1. This has been reported to cause problems; for instance, some versions of Solaris provide X Windows headers that expect __STDC__ to be either undefined or 1. See Invocation. __STDC_VERSION__ This macro expands to the C Standard’s version number, a long integer constant of the form yyyymmL where yyyy and mm are the year and month of the Standard version. This signifies which version of the C Standard the compiler conforms to. Like __STDC__, this is not necessarily accurate for the entire implementation, unless GNU CPP is being used with GCC. The value 199409L signifies the 1989 C standard as amended in 1994, which is the current default; the value 199901L signifies the 1999 revision of the C standard; the value 201112L signifies the 2011 revision of the C standard; the value 201710L signifies the 2017 revision of the C standard (which is otherwise identical to the 2011 version apart from correction of defects). The value 202311L is used for the -std=c23 and -std=gnu23 modes. An unspecified value larger than 202311L is used for the experimental -std=c2y and -std=gnu2y modes. This macro is not defined if the -traditional-cpp option is used, nor when compiling C++ or Objective-C. __STDC_HOSTED__ This macro is defined, with value 1, if the compiler’s target is a hosted environment. A hosted environment has the complete facilities of the standard C library available. __cplusplus This macro is defined when the C++ compiler is in use. You can use __cplusplus to test whether a header is compiled by a C compiler or a C++ compiler. This macro is similar to __STDC_VERSION__, in that it expands to a version number. Depending on the language standard selected, the value of the macro is 199711L for the 1998 C++ standard, 201103L for the 2011 C++ standard, 201402L for the 2014 C++ standard, 201703L for the 2017 C++ standard, 202002L for the 2020 C++ standard, 202302L for the 2023 C++ standard, or an unspecified value strictly larger than 202302L for the experimental languages enabled by -std=c++26 and -std=gnu++26. __OBJC__ This macro is defined, with value 1, when the Objective-C compiler is in use. You can use __OBJC__ to test whether a header is compiled by a C compiler or an Objective-C compiler. __ASSEMBLER__ This macro is defined with value 1 when preprocessing assembly language. |
[링크 : https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html]
| Version __cplusplus 4.8.3 201300L 4.9.2 201300L 5.1.0 201402L |
| 링커 스크립트를 이용한 변수 값 할당 (0) | 2026.03.13 |
|---|---|
| gcc -D 를 이용하여 명령줄에서 define 하기 (0) | 2026.03.12 |
| gcc __attribute__((weak)) 테스트 (0) | 2026.01.29 |
| gcc cortex-a9 double형 neon 연산 가속 (3) | 2023.08.08 |
| gcc tree vectorize (0) | 2023.01.26 |
기본적으로 30fps 를 출력하는 것 같아서 속도를 더 올릴 수 없나 찾아보는중
| sdkconfig # # HAL Settings # CONFIG_LV_DEF_REFR_PERIOD=33 CONFIG_LV_DPI_DEF=130 # end of HAL Settings |
| lv_conf_internal.h /*==================== HAL SETTINGS *====================*/ /** Default display refresh, input device read and animation step period. */ #ifndef LV_DEF_REFR_PERIOD #ifdef CONFIG_LV_DEF_REFR_PERIOD #define LV_DEF_REFR_PERIOD CONFIG_LV_DEF_REFR_PERIOD #else #define LV_DEF_REFR_PERIOD 33 /**< [ms] */ #endif #endif |
| lv_demo_benchmark.h /** * Run all benchmark scenes. * * On the summary end screen the values shall be interpreted according to the following: * - CPU usage: * - If `LV_SYSMON_GET_IDLE` is not modified it's measured based on the time spent in * `lv_timer_handler`. * - If an (RT)OS is used `LV_SYSMON_GET_IDLE` can be changed to a custom function * which returns the idle percentage of idle task. * * - FPS: LVGL attempted to render this many times in a second. It's limited based on `LV_DEF_REFR_PERIOD` * * - Render time: LVGL spent this much time with rendering only. It's not aware of task yielding, * but simply the time difference between the start and end of the rendering is measured * * - Flush time: It's the sum of * - the time spent in the `flush_cb` and * - the time spent with waiting for flush ready. */ void lv_demo_benchmark(void); |
| lv_display.c lv_display_t * lv_display_create(int32_t hor_res, int32_t ver_res) { /*Create a refresh timer*/ disp->refr_timer = lv_timer_create(lv_display_refr_timer, LV_DEF_REFR_PERIOD, disp); LV_ASSERT_MALLOC(disp->refr_timer); if(disp->refr_timer == NULL) { lv_free(disp); return NULL; } } |
다만 perf test 쪽 헤더를 쓰게 되면 16msec로 60fps로 상향되는 듯.
| lv_test_perf_conf.h /** * @file lv_conf.h * Configuration file for v9.3.0-dev */ /* * Copy this file as `lv_conf.h` * 1. simply next to `lvgl` folder * 2. or to any other place and * - define `LV_CONF_INCLUDE_SIMPLE`; * - add the path as an include path. */ /* clang-format off */ #if 1 /* Set this to "1" to enable content */ #ifndef LV_CONF_H #define LV_CONF_H #define LV_BUILD_TEST_PERF 1 #define LV_USE_TEST 1 /* If you need to include anything here, do it inside the `__ASSEMBLY__` guard */ #if 0 && defined(__ASSEMBLY__) #include "my_include.h" #endif /*==================== HAL SETTINGS *====================*/ /** Default display refresh, input device read and animation step period. */ #define LV_DEF_REFR_PERIOD 16 /**< [ms] */ /** Default Dots Per Inch. Used to initialize default sizes such as widgets sized, style paddings. * (Not so important, you can adjust it to modify default sizes and spaces.) */ #define LV_DPI_DEF 130 /**< [px/inch] */ |
| squareline studio ebike 예제 screen 전환 (0) | 2026.02.20 |
|---|---|
| esp32 lvgl from scratch 는 실패중 ㅠㅠ (0) | 2026.02.18 |
| esp32 lvgl 관련 링크들 (0) | 2026.02.18 |
| lvgl 기본 폰트 크기 바꾸기 (0) | 2026.02.13 |
| lvgl textarea (0) | 2026.02.11 |
윈도우 버전 esp-idf 실행
| Setting PYTHONNOUSERSITE, was not set Using Python in C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\ Python 3.11.2 Using Git in C:\Espressif\tools\idf-git\2.44.0\cmd\ git version 2.44.0.windows.1 Checking Python compatibility Setting IDF_PATH: C:\Espressif\frameworks\esp-idf-v5.3.1 Adding ESP-IDF tools to PATH... WARNING: The following issue occurred while accessing the ESP-IDF version file in the Python environment: [Errno 2] No such file or directory: 'C:\\Espressif\\python_env\\idf5.3_py3.11_env\\idf_version.txt'. (Diagnostic information. It can be ignored.) C:\Espressif\tools\xtensa-esp-elf-gdb\14.2_20240403\xtensa-esp-elf-gdb\bin C:\Espressif\tools\riscv32-esp-elf-gdb\14.2_20240403\riscv32-esp-elf-gdb\bin C:\Espressif\tools\xtensa-esp-elf\esp-13.2.0_20240530\xtensa-esp-elf\bin C:\Espressif\tools\esp-clang\16.0.1-fe4f10a809\esp-clang\bin C:\Espressif\tools\riscv32-esp-elf\esp-13.2.0_20240530\riscv32-esp-elf\bin C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\bin C:\Espressif\tools\cmake\3.24.0\bin C:\Espressif\tools\openocd-esp32\v0.12.0-esp32-20240318\openocd-esp32\bin C:\Espressif\tools\ninja\1.11.1\ C:\Espressif\tools\idf-exe\1.0.3\ C:\Espressif\tools\ccache\4.8\ccache-4.8-windows-x86_64 C:\Espressif\tools\dfu-util\0.11\dfu-util-0.11-win64 C:\Espressif\frameworks\esp-idf-v5.3.1\tools Checking if Python packages are up to date... Constraint file: C:\Espressif\espidf.constraints.v5.3.txt Requirement files: - C:\Espressif\frameworks\esp-idf-v5.3.1\tools\requirements\requirements.core.txt Python being checked: C:\Espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe Python requirements are satisfied. Detected installed tools that are not currently used by active ESP-IDF version. For removing old versions of amazon-corretto-11-x64-windows-jdk, espressif-ide, idf-driver, idf-python-wheels use command 'python.exe C:\Espressif\frameworks\esp-idf-v5.3.1\tools\idf_tools.py uninstall' For free up even more space, remove installation packages of those tools. Use option 'python.exe C:\Espressif\frameworks\esp-idf-v5.3.1\tools\idf_tools.py uninstall --remove-archives'. Done! You can now compile ESP-IDF projects. Go to the project directory and run: idf.py build C:\Espressif\frameworks\esp-idf-v5.3.1>cd \ C:\>cd src C:\src>dir C 드라이브의 볼륨에는 이름이 없습니다. 볼륨 일련 번호: 6A30-5BAD C:\src 디렉터리 2026-02-10 오후 11:02 <DIR> . 0개 파일 0 바이트 1개 디렉터리 383,856,386,048 바이트 남음 C:\src>idf.py create-project lvgl Executing action: create-project The project was created in C:\src\lvgl C:\src>dir C 드라이브의 볼륨에는 이름이 없습니다. 볼륨 일련 번호: 6A30-5BAD C:\src 디렉터리 2026-02-18 오전 10:57 <DIR> . 2026-02-18 오전 10:57 <DIR> lvgl 0개 파일 0 바이트 2개 디렉터리 383,198,498,816 바이트 남음 C:\src>cd lvgl C:\src\lvgl>dir C 드라이브의 볼륨에는 이름이 없습니다. 볼륨 일련 번호: 6A30-5BAD C:\src\lvgl 디렉터리 2026-02-18 오전 10:57 <DIR> . 2026-02-18 오전 10:57 <DIR> .. 2026-02-18 오전 10:57 373 CMakeLists.txt 2026-02-18 오전 10:57 <DIR> main 1개 파일 373 바이트 3개 디렉터리 383,198,498,816 바이트 남음 C:\src\lvgl>cd main C:\src\lvgl\main>dir C 드라이브의 볼륨에는 이름이 없습니다. 볼륨 일련 번호: 6A30-5BAD C:\src\lvgl\main 디렉터리 2026-02-18 오전 10:57 <DIR> . 2026-02-18 오전 10:57 <DIR> .. 2026-02-18 오전 10:57 77 CMakeLists.txt 2024-11-06 오후 08:17 51 lvgl.c 2개 파일 128 바이트 2개 디렉터리 383,198,498,816 바이트 남음 C:\src\lvgl\main>type lvgl.c #include <stdio.h> void app_main(void) { } C:\src\lvgl\main>cd .. C:\src\lvgl>idf.py --list-targets esp32 esp32s2 esp32c3 esp32s3 esp32c2 esp32c6 esp32h2 esp32p4 C:\src\lvgl>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\lvgl\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\lvgl\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\lvgl"... -- 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/lvgl/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 "lvgl" version: 1 -- Adding linker script C:/src/lvgl/build/esp-idf/esp_system/ld/memory.ld -- Adding linker script C:/src/lvgl/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/lvgl/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/lvgl/build C:\src\lvgl>idf.py build Executing action: all (aliases: build) Running ninja in directory C:\src\lvgl\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, ******************************************************************************* [480/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/lvgl/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/lvgl/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/lvgl/build/bootloader/bootloader.bin [108/108] cmd.exe /C "cd /D C:\src\lvgl\build\bootloader\e...loader 0x1000 C:/src/lvgl/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/lvgl/build/lvgl.bin [966/966] cmd.exe /C "cd /D C:\src\lvgl\build\esp-idf\espt...tion_table/partition-table.bin C:/src/lvgl/build/lvgl.bin" lvgl.bin binary size 0x2b670 bytes. Smallest app partition is 0x100000 bytes. 0xd4990 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\lvgl.bin or from the "C:\src\lvgl\build" directory python -m esptool --chip esp32 -b 460800 --before default_reset --after hard_reset write_flash "@flash_args" C:\src\lvgl>idf.py add-dependency "espressif/esp_lvgl_port^2.3.0" Executing action: add-dependency Created "C:\src\lvgl\main\idf_component.yml" Successfully added dependency "espressif/esp_lvgl_port^2.3.0" to component "main" C:\src\lvgl>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\lvgl>idf.py menuconfig Executing action: menuconfig Running ninja in directory C:\src\lvgl\build Executing "ninja menuconfig"... [0/1] cmd.exe /C "cd /D C:\src\lvgl\build && C:\Espressif\..._INIT_VERSION=5.3.1 --output config C:/src/lvgl/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/lvgl/sdkconfig' No changes to save (for 'C:/src/lvgl/sdkconfig') C:\src\lvgl>idf.py menuconfig Executing action: menuconfig Running ninja in directory C:\src\lvgl\build Executing "ninja menuconfig"... [0/1] Re-running CMake...-- ccache will be used for faster recompilation -- 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\lvgl\dependencies.lock Processing 5 dependencies: [1/5] espressif/cmake_utilities (0.5.3) [2/5] espressif/esp_lcd_gc9a01 (2.0.4) [3/5] espressif/esp_lvgl_port (2.7.1) [4/5] lvgl/lvgl (9.4.0) [5/5] idf (5.3.1) -- Project sdkconfig file C:/src/lvgl/sdkconfig -- Compiler supported targets: xtensa-esp-elf -- App "lvgl" version: 1 -- Adding linker script C:/src/lvgl/build/esp-idf/esp_system/ld/memory.ld -- Adding linker script C:/src/lvgl/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 -- ESP_LCD_GC9A01: 2.0.4 -- LVGL version: 9.4.0 -- 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 espressif__cmake_utilities espressif__esp_lcd_gc9a01 espressif__esp_lvgl_port esptool_py fatfs freertos hal heap http_parser idf_test ieee802154 json log lvgl__lvgl 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:/src/lvgl/managed_components/espressif__cmake_utilities C:/src/lvgl/managed_components/espressif__esp_lcd_gc9a01 C:/src/lvgl/managed_components/espressif__esp_lvgl_port 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:/src/lvgl/managed_components/lvgl__lvgl C:/Espressif/frameworks/esp-idf-v5.3.1/components/lwip C:/src/lvgl/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/lvgl/build [0/1] cmd.exe /C "cd /D C:\src\lvgl\build && C:\Espressif\..._INIT_VERSION=5.3.1 --output config C:/src/lvgl/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/lvgl/sdkconfig' Configuration saved to 'C:/src/lvgl/sdkconfig' ![]() |
[링크 : https://docs.lvgl.io/master/integration/chip_vendors/espressif/add_lvgl_to_esp32_idf_project.html]
[링크 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/tools/idf-py.html]
+
| squareline studio ebike 예제 screen 전환 (0) | 2026.02.20 |
|---|---|
| lvgl 속도 제한(?) 해제 (0) | 2026.02.18 |
| esp32 lvgl 관련 링크들 (0) | 2026.02.18 |
| lvgl 기본 폰트 크기 바꾸기 (0) | 2026.02.13 |
| lvgl textarea (0) | 2026.02.11 |
idf를 통해서 처음부터 올리고 싶은데 잘 안보이네..
[링크 : https://blog.naver.com/alfee0/223742807419] 알피공
[링크 : https://fishpoint.tistory.com/12311] 캐어랩
| lvgl 속도 제한(?) 해제 (0) | 2026.02.18 |
|---|---|
| esp32 lvgl from scratch 는 실패중 ㅠㅠ (0) | 2026.02.18 |
| lvgl 기본 폰트 크기 바꾸기 (0) | 2026.02.13 |
| lvgl textarea (0) | 2026.02.11 |
| squareline studio export (0) | 2026.02.10 |
lv_conf.h 에서 아래를 14 에서 28로 바꾸고 빌드하니 잘된다.
| /*Always set a default font*/ //#define LV_FONT_DEFAULT &lv_font_montserrat_14 #define LV_FONT_DEFAULT &lv_font_montserrat_28 |
lv_font.h 에서 아래처럼 되어있는데
/** * Just a wrapper around LV_FONT_DEFAULT because it might be more convenient to use a function in some cases * @return pointer to LV_FONT_DEFAULT */ static inline const lv_font_t * lv_font_default(void) { return LV_FONT_DEFAULT; } |
lv_style.c 에서도 결국에는 LV_FONT_DEFAULT 에서 정의된걸 끌어가는것 같은데.. 잘 모르겠네
| lv_style_value_t lv_style_prop_get_default(lv_style_prop_t prop) { lv_style_value_t value; switch(prop) { case LV_STYLE_TRANSFORM_ZOOM: value.num = LV_IMG_ZOOM_NONE; break; case LV_STYLE_BG_COLOR: value.color = lv_color_white(); break; case LV_STYLE_BG_GRAD_COLOR: case LV_STYLE_BORDER_COLOR: case LV_STYLE_SHADOW_COLOR: case LV_STYLE_OUTLINE_COLOR: case LV_STYLE_ARC_COLOR: case LV_STYLE_LINE_COLOR: case LV_STYLE_TEXT_COLOR: case LV_STYLE_IMG_RECOLOR: value.color = lv_color_black(); break; case LV_STYLE_OPA: case LV_STYLE_BORDER_OPA: case LV_STYLE_TEXT_OPA: case LV_STYLE_IMG_OPA: case LV_STYLE_BG_IMG_OPA: case LV_STYLE_OUTLINE_OPA: case LV_STYLE_SHADOW_OPA: case LV_STYLE_LINE_OPA: case LV_STYLE_ARC_OPA: value.num = LV_OPA_COVER; break; case LV_STYLE_BG_GRAD_STOP: value.num = 255; break; case LV_STYLE_BORDER_SIDE: value.num = LV_BORDER_SIDE_FULL; break; case LV_STYLE_TEXT_FONT: value.ptr = LV_FONT_DEFAULT; break; case LV_STYLE_MAX_WIDTH: case LV_STYLE_MAX_HEIGHT: value.num = LV_COORD_MAX; break; default: value.ptr = NULL; value.num = 0; break; } return value; } |
아무튼 콤보박스에서 터치해서 목록을 띄우면 14로 뜨는데 이렇게 기본을 키우니 오히려 속 편하기도 하다.
그런데 코드보다보니
lv_theme.c 에서 아래처럼 폰트 패밀리를 small normal large로 쓸수 있을것 같은데 찾아봐야겠다.
| const lv_font_t * lv_theme_get_font_small(lv_obj_t * obj) { lv_theme_t * th = lv_theme_get_from_obj(obj); return th ? th->font_small : LV_FONT_DEFAULT; } const lv_font_t * lv_theme_get_font_normal(lv_obj_t * obj) { lv_theme_t * th = lv_theme_get_from_obj(obj); return th ? th->font_normal : LV_FONT_DEFAULT; } const lv_font_t * lv_theme_get_font_large(lv_obj_t * obj) { lv_theme_t * th = lv_theme_get_from_obj(obj); return th ? th->font_large : LV_FONT_DEFAULT; } |
[링크 : https://docs.lvgl.io/9.2/overview/font.html]
[링크 : https://forum.lvgl.io/t/how-to-change-font-size/20531]
| esp32 lvgl from scratch 는 실패중 ㅠㅠ (0) | 2026.02.18 |
|---|---|
| esp32 lvgl 관련 링크들 (0) | 2026.02.18 |
| lvgl textarea (0) | 2026.02.11 |
| squareline studio export (0) | 2026.02.10 |
| squareline studio 보드설정 (0) | 2026.02.10 |