前言
RT-Thread 当前的版本:4.1.0,通过简单的配置就可以支持最新的LVGL图形库,LVGL图形库以软件包的方式加入工程
LVGL 可以认为是当前开源、免费的优秀GUI的图形库,对内存的占用较小,适合用于嵌入式的设备中
开发环境
由于基于
电路板的调试环境,需要不断的通过编译、下载程序的方式验证【页面显示】效果,所以开发效率比较的低
基于模拟器的开发调试,可以使用LVGL的官方模拟器开发
RT-Thread 的模拟器 simulator,是基于RT-Thread 操作系统的,也就是基于这个模拟器开发的LVGL 程序,验证好,再换个编译器下载调试,就可以很快的在RT-Thread 操作系统的硬件板子上验证出来
最小RT-Thread 系统
按键Demo
void lv_user_gui_init(void)
{
/* display demo; you may replace with your LVGL applica
tion at here */
//extern void lv_demo_music(void);
//lv_demo_music();
extern void lv_example_btn_1(void);
lv_example_btn_1();
}
可以建一个 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软件包拉取到本地,使用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
修改:simulatorapplicationslvgldemolv_demo.c 中的 lv_user_gui_init,添加 【按钮显示】的Demo
运行效果:
小结
可以根据LVGL 的Demo,自己新建几个Demo文件,把相关的代码拷贝过来,修改运行
因为是基于PC 的 RT-Thread 模拟器,所以不需要频繁的下载,也就是修改完,就可以马上编译运行,运行、验证、调试的效率大大的提高了。
原作者:张世争