嵌入式技术论坛
直播中

HCPcry

8年用户 1201经验值
擅长:处理器/DSP
私信 关注
[经验]

在基于PC的RT-Thread模拟器上搭建LVGL图形库

前言

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 application 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 模拟器,所以不需要频繁的下载,也就是修改完,就可以马上编译运行,运行、验证、调试的效率大大的提高了。

原作者:张世争

更多回帖

发帖
×
20
完善资料,
赚取积分