LVGL Linux移植帧率优化

推荐demo的做法是在一个死循环里,休眠5ms后调用一次tick inc和task handler。这样做是为了方便优化,但是在Linux开发板上会有肉眼可见的卡顿。

官方有关于linux系统移植的配置方案https://github.com/lvgl/lv_port_linux_frame_buffer

通过启用custom tick,使用Linux的clock_gettime()函数来驱动lvgl的tick机制,就解决了动画效果卡顿的问题。

配置之后触摸没有反馈,是因为触摸中断没有配置,需要修改以下配置

lv_drv_conf.h

/*-------------------------------------------------
 * Mouse or touchpad as evdev interface (for Linux based systems)
 *------------------------------------------------*/
#ifndef USE_EVDEV
#  define USE_EVDEV           1
#endif

#ifndef USE_BSD_EVDEV
#  define USE_BSD_EVDEV       0
#endif

main.c

    /*Initialize and register a input driver*/
    evdev_init();
    lv_indev_drv_t indev_drv;
    lv_indev_drv_init(&indev_drv);
    indev_drv.type = LV_INDEV_TYPE_POINTER;
    indev_drv.read_cb = evdev_read;
    lv_indev_drv_register(&indev_drv);

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux移植LVGL,你可以按照以下步骤进行操作: 1. 下载LVGL库:首先,你需要下载LVGL库的源代码。你可以从LVGL的官方GitHub仓库中获取最新版本的代码。 2. 配置LVGL:接下来,你需要根据你的目标平台进行配置。LVGL使用了一些配置文件,你需要根据你的需求进行相应的配置。你可以编辑`lv_conf.h`文件来配置LVGL。 3. 创建工程:根据你的目标平台,创建一个新的工程。可以使用CMake或者Makefile等构建工具来管理你的项目。 4. 添加LVGL源代码:将下载的LVGL源代码添加到你的项目中。可以将LVGL源代码放置在你的工程目录下的一个子目录中,或者使用版本控制工具来管理。 5. 配置编译选项:在你的项目构建系统中,配置编译选项,以确保编译器可以找到LVGL的头文件和库文件。 6. 实现显示驱动:根据你的目标平台和显示设备,实现适当的显示驱动。根据LVGL提供的文档和示例代码,编写适配你的平台的显示驱动程序。 7. 初始化LVGL:在你的项目中初始化LVGL。根据LVGL提供的文档,调用相应的初始化函数来初始化LVGL库。 8. 创建用户界面:使用LVGL的API,创建你的用户界面。你可以使用LVGL提供的图形对象、布局和样式等功能来构建你的界面。 9. 处理事件:使用LVGL的事件处理机制,处理用户输入事件和其他相关事件。根据LVGL提供的文档和示例代码,编写相应的事件处理函数。 10. 编译和运行:使用你的项目构建系统,编译你的代码,并在目标平台上运行。确保LVGL库已正确地集成到你的项目中,并且你的用户界面可以正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值