RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

时间:2020-12-10 00:41:47


前言

  • 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 模拟器 simulator 搭建 LVGL 的开发调试环境

  • 由于目录的改变,会造成 RT-Thread menuconfig、scons 构建报路径的错误,简单修复一下即可

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

开启 LVGL

  • LVGL 不包含在 RT-Thread 中,需要开启LVGL的软件包,并且需要把远程的软件包拉取到本地目录
  • RT-Thread ENV 工具: ​​menuconfig​​​ -> ​​RT-Thread online packages --->​​​ -> ​​ multimedia packages --->​

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

  • 以上操作可以开启LVGL软件包
  • 注意:只是开启了LVGL软件包,编译会报错,因为这只是开启了LVGL软件包的配置,还需要把LVGL软件包拉取到本地,使用RT-Thread ENV工具:​​pkgs --update​

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

  • 注意LVGL软件包有了,编译可能还是会报错,因为还需要开启 【BSP_USING_LVGL】 这个宏,也就是开启LVGL的RT-Thread Demo配置

RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境

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