前言
- RT-Thread 当前的版本:4.1.0,通过简单的配置就可以支持最新的LVGL 图形库版本,LVGL图形库以软件包的方式加入工程
- LVGL 可以认为是当前开源、免费的优秀GUI的图形库,对内存的占用较小,适合用于嵌入式的设备中
开发环境
- 基于电路板的调试环境,需要不断的通过编译、下载程序的方式验证【页面显示】效果,所以开发效率比较的低
- 基于模拟器的开发调试,可以使用LVGL的官方模拟器开发
- RT-Thread 的模拟器 simulator,是基于RT-Thread 操作系统的,也就是基于这个模拟器开发的LVGL 程序,验证好,再换个编译器下载调试,就可以很快的在RT-Thread 操作系统的硬件板子上验证出来
最小RT-Thread 系统
- 可以建一个 RT-Thread 最小系统,也就是 RT-Thread 内核与 BSP : simulator,这样体积比较小,利用代码的搜索,工程的管理,利于使用Git等软件版本控制
- 新建一个工程目录,在工程目录下,新建
rt-thread
与 simulator
目录
- 由于目录的改变,会造成 RT-Thread menuconfig、scons 构建报路径的错误,简单修复一下即可
开启 LVGL
- LVGL 不包含在 RT-Thread 中,需要开启LVGL的软件包,并且需要把远程的软件包拉取到本地目录
- RT-Thread ENV 工具:
menuconfig
-> RT-Thread online packages --->
-> multimedia packages --->
- 以上操作可以开启LVGL软件包
- 注意:只是开启了LVGL软件包,编译会报错,因为这只是开启了LVGL软件包的配置,还需要把LVGL软件包拉取到本地,使用RT-Thread ENV工具:
pkgs --update
- 注意LVGL软件包有了,编译可能还是会报错,因为还需要开启 【BSP_USING_LVGL】 这个宏,也就是开启LVGL的RT-Thread Demo配置
- 保存menuconfig 的修改,RT-Thread ENV 工具 再次运行:
scons --target=vs
,即可生成Visual Studio的工程,我这里使用:Visual Studio 2022 打开, project.vcproj
- 编译通过后,就可以调试运行了
按键Demo
- 学习新东西一般都是【循序渐进】,所以这里先运行一个简单的【按钮】的显示Demo
- 修改:
simulator\applications\lvgl\demo\lv_demo.c
中的 lv_user_gui_init
,添加 【按钮显示】的Demo
void lv_user_gui_init(void)
{
/* display demo; you may replace with your LVGL application at here */
//extern void lv_demo_music(void);
//lv_demo_music();
extern void lv_example_btn_1(void);
lv_example_btn_1();
}
- 运行效果:
小结
- 可以根据LVGL 的Demo,自己新建几个Demo文件,把相关的代码拷贝过来,修改运行
- 因为是基于PC 的 RT-Thread 模拟器,所以不需要频繁的下载,也就是修改完,就可以马上编译运行,运行、验证、调试的效率大大的提高了