简介
该示例运行在 Duo 设备上,使用一块 240x320 分辨率的 SPI 接口显示屏,运行 LVGL 测试程序。
需准备 Milk-V Duo 开发板(或 Duo256M)、TF卡、一块 ST7789V 芯片液晶屏,这里使用的一块全彩 2.4 寸的屏幕,分辨率为 240*320,接口方式为 SPI,可按需选择不同尺寸屏幕。不同分辨率屏幕请注意下列配置时对应修改。
点亮 SPI 显示屏
编译固件
获取官方SDK:https://github.com/milkv-duo/duo-buildroot-sdk.git
git clone https://github.com/milkv-duo/duo-buildroot-sdk.git
获取 Duo LVGL Demo:https://github.com/milkv-duo/duo-lvgl-fb-demo.git
git clone https://github.com/milkv-duo/duo-lvgl-fb-demo.git
进入 SDK 目录,并为 SDK 的内核打一个支持 ST7789V 芯片的补丁(该补丁在上面的 duo-lvgl-fb-demo.git 仓库中):
cd duo-buildroot-sdk
git apply --reject ../duo-lvgl-fb-demo/duo-kernel-fb_st7789v.patch
确认内核配置有打开 FB TFT 的支持(最新的 Buildroot SDK 中默认都已经支持):
CONFIG_FB=y
CONFIG_FB_TFT=y
CONFIG_FB_TFT_ST7789V=y
内核配置文件所在的位置:
- Duo:
build/boards/cv180x/cv1800b_milkv_duo_sd/linux/cvitek_cv1800b_milkv_duo_sd_defconfig
- Duo256M:
build/boards/cv181x/cv1812cp_milkv_duo256m_sd/linux/cvitek_cv1812cp_milkv_duo256m_sd_defconfig
- DuoS SD:
build/boards/cv181x/cv1813h_milkv_duos_sd/linux/cvitek_cv1813h_milkv_duos_sd_defconfig
- DuoS eMMC:
build/boards/cv181x/cv1813h_milkv_duos_emmc/linux/cvitek_cv1813h_milkv_duos_emmc_defconfig
编译SD卡固件:
- Duo
./build.sh milkv-duo
- Duo256M
./build.sh milkv-duo256m
- DuoS SD
./build.sh milkv-duos-sd