触屏学习(二)——LVGL、Vscode模拟器搭建学习

0、序言

1、MSYS2安装

2、SDL、MingW、CMake安装

3、lvgl8

3.1、模拟器环境搭建

target_include_directories(main 
    PRIVATE 
    ${CMAKE_SOURCE_DIR}/SDL2/include
)
# 链接库文件需要绝对路径,必须要加上  ${CMAKE_SOURCE_DIR}/
target_link_libraries(main 
    PRIVATE
    ${CMAKE_SOURCE_DIR}/SDL2/lib/libSDL2.dll.a
)

3.2、项目测试

参考LVGL开源GUI零基础入门课程(韦东山·监制)

lv_obj_t * obj = lv_obj_create(lv_scr_act());   // 基于主屏幕创建窗体对象
lv_obj_set_size(obj, LV_PCT(40), LV_PCT(20));   // 设置窗体大小为 40% 20%
lv_obj_align(obj, LV_ALIGN_CENTER, 0, 0);       // 设置窗口位置居中偏移为0

lv_obj_t * label = lv_label_create(obj);        // 创建标签对象
lv_label_set_text_fmt(label, "Hello, LVGL!\nLVGL V%d.%d.%d\n", \
           lv_version_major(), lv_version_minor(), lv_version_patch());  // 格式化输入字符串
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);     // 设置标签文字位置,在父对象基础上居中偏移0

3.2 lvgl移植stm32工程

file(GLOB_RECURSE LVGL_SOURCES  "lvgl/src/*.c" )

target_sources(${CMAKE_PROJECT_NAME} PRIVATE
    # Add user sources here
    ${LVGL_SOURCES}
)

# Add include paths
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
    # Add user defined include paths
    ${CMAKE_SOURCE_DIR}/lvgl/
    ${CMAKE_SOURCE_DIR}/
    # Develop/
)

# Add project symbols (macros)  
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE
    # Add user defined symbols 
    LV_CONF_INCLUDE_SIMPLE     # 可能不需要
)

问题:单独把几个初始化函数放到新的.c文件中,程序编译的RAM和FLASH改变,爆内存了导致生成失败

posted @ 2024-01-31 13:04  莫熹微  阅读(838)  评论(0)    收藏  举报