LVGL v8 官方示例
源码路径:example/multimedia/lvgl/lvgl_v8_examples
支持的平台
sf32lb52-lchspi-ulpSF32LB52x LCD 系列开发板
SF32LB56x LCD 系列开发板
SF32LB58x LCD 系列开发板
以上平台均可运行基础 LVGL 示例。使用 SJPG 示例从 TF 卡读取图片时,开发板还需具备 SPI TF 卡接口,并完成 SPI、TF 卡和文件系统配置。本文以 sf32lb52-lchspi-ulp 为例,其他开发板请替换为对应的板名和硬件配置。
介绍
本工程用于运行和验证 LVGL v8 官方示例。示例源码位于 src/examples,可调用的示例函数可参考 src/examples/lv_examples.h。
src/main.c 默认调用 lv_example_scroll_1(),用于演示对象在内容超出可视区域时的横向和纵向滚动效果。
切换不同演示
打开 src/main.c,找到示例函数调用:
lv_example_scroll_1();
// lv_example_grid_1();
注释当前函数并取消注释需要运行的函数。例如,切换到 lv_example_grid_1():
// lv_example_scroll_1();
lv_example_grid_1();
修改后重新编译并烧录工程。
编译和烧录
切换到例程 project 目录,运行 SCons 命令进行编译:
scons --board=sf32lb52-lchspi-ulp -j8
执行烧录脚本:
build_sf32lb52-lchspi-ulp_hcpu\uart_download.bat
按提示输入串口号:
please input the serial port num:5
PC 模拟器
PC 配置位于 project/pc_hcpu。先根据本机的 MSVC 安装修改 SDK 根目录下的 msvc_setup.bat,再在 project 目录执行:
scons --board=pc_hcpu -j8
编译完成后运行 build_pc_hcpu/main.exe。
可选示例:使用 SJPG 显示图片
本节说明如何切换到 lv_example_sjpg_1(),从 TF 卡文件系统读取并显示 small_image.sjpg。该示例不是默认显示内容,需要手动完成以下配置并切换示例函数。
硬件需求
支持平台中带 SPI TF 卡接口的开发板
一根支持数据传输的 USB 线
一张 TF 卡和一个 TF 读卡器
准备图片
将工程中的 src/examples/libs/sjpg/small_image.sjpg 复制到 TF 卡文件系统的根目录。示例源码使用以下路径读取图片:
lv_img_set_src(wp, "A:small_image.sjpg");
配置工程
在 project 目录执行:
sdk.py menuconfig --board=sf32lb52-lchspi-ulp
确认生成的配置包含以下选项:
CONFIG_RT_USING_SPI_MSD=y
CONFIG_RT_USING_DFS_ELMFAT=y
CONFIG_LV_USE_FS_POSIX=y
CONFIG_LV_FS_POSIX_LETTER=65
CONFIG_LV_USE_SJPG=y
CONFIG_LV_FS_POSIX_LETTER=65 表示 LVGL 文件系统使用盘符 A。
具体配置项如下:
启用 SPI 总线。

将 SD/TF 设备挂载到 SPI 总线。

启用 ELM FAT 文件系统。

启用 LVGL POSIX 文件系统接口和 SJPG 解码器,并将盘符配置为
A。
切换示例
修改 src/main.c:
// lv_example_scroll_1();
lv_example_sjpg_1();
编译和烧录
在 project 目录执行:
scons --board=sf32lb52-lchspi-ulp -j8
使用串口烧录:
build_sf32lb52-lchspi-ulp_hcpu\uart_download.bat
按提示输入串口号:
please input the serial port num:5
注意:
src/main.c在 TF 卡根逻辑区域挂载失败时会调用dfs_mkfs()自动格式化该区域,可能清除该逻辑区域中的数据。运行示例前请备份 TF 卡中的重要数据,并确认 TF 卡和 SPI 接口工作正常。
运行结果
插入 TF 卡后,日志中出现 mount fs on flash to root success 表示文件系统挂载成功。

在 Finsh 中输入 ls 可查看 TF 卡根目录中的图片文件。

图片显示效果如下:

异常诊断
如果出现以下日志,请检查 TF 卡是否插入或松动,以及 TF 卡与 SPI 总线是否可以正常通信。
