完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、 LVGL源代码下载 OKA40i开发板官方提供了Qt作为图形界面开发工具。不过对于简单的用户界面程序,Qt有点杀鸡用牛刀的意思。今天介绍一下轻量级的图形界面库LVGL。LVGL的项目作者是来自匈牙利首都布达佩斯的 Gábor Kiss-Vámosi。它自带着接近三十多种小组件,动画和操作非常流畅,同时配置要求很低,再加上开源和免费,使得它迅速流行起来,AliOS Things甚至把它作为默认的图形界面库。 在LVGL的github网站上可以下载源代码(https://github.com/lvgl/),在LVGL的官方仓库中包括lv_port_linux_frame_buffer,它包括了在Linux下移植所需要的所有代码。这个仓库会链接到lvgl和lv_drivers两个仓库,所以一定要用git clone的方式下载,不要采用打包成zip的方式。lv_demos这仓库是不需要的,因为例程已经都包括在lvgl仓库里面了。如果github下载太慢,可以使用gitee的镜像:https://gitee.com/mculover666/lv_port_linux_frame_buffer.git。 二、 配置LVGL 1、 修改makefile 需要从makefile中删除-Wshift-negative-value这个编译选项,因为我们的编译器不支持,同时加上-std=c99这个选项,因为程序在for循环中使用了C99语法。下面是修改前后的编译选项对比。 2、修改lvgl源代码 由于我们的编译器不支持PRIX32这个常量的定义,需要修改lvglsrcdrawswlv_draw_sw_letter.c文件,将其中一句log注释掉: 也可以把这句改为:
3、修改内存相关选项 LVGL默认是使用基于 TLSF 的内存管理算法,不过它开的缓冲区对于我们的屏幕而言显然太小了,需要修改lv_conf.h中的定义 LV_MEM_CUSTOM 为 1,否则运行时会崩溃。定义 LV_MEM_CUSTOM 为 1表示采用标准C语言的分配内存函数。 4、显示设置 显示输出方面我们还是通过HDMI接口输出到智能电视。LVGL支持通过直接访问显示缓冲区(framebuffer)和SDL等多种方式进行输出。我们此次通过framebuffer输出,而且我们的输出设备是dev/fb0,所以我们不需要修改任何配置,默认配置(lv_drv_conf.h)如下: 4、增加鼠标支持 输入采用USB鼠标。使用下面的命令可以看到当前系统有哪些输入设备:
输出结果如下: I: Bus=0019 Vendor=0001 Product=0001 Version=0100
由于我们在开发板的两个USB口都曾经使用过USB鼠标,所以我们看到两个USB鼠标设备,分别对应event4和event5。我们可以用evtest命令测试到底哪个设备是当前使用的。OKA40i开发板上包括了evtest,可以进行输入设备的测试。经过测试,我们发现event5对应的设备是我们目前连接的鼠标。
修改lv_drv_conf.h中EVDEV所对应的设备名为:"/dev/input/event5"。这样鼠标就可以正常工作了。 5、修改main.c 在main.c根据自己使用的屏幕修改分辨率:
一、 编译与测试 1、Widgets示例 要使用LVGL的官方测试例Widgets,首先确保lv_conf.h中的定义的LV_USE_DEMO_WIDGETS,然后确认在main.c中调用了lv_demo_widgets()。 2、Benchmark示例 LVGL的官方测试例Benchmark可以用来测试显示性能。 完整的测试结果如下:
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
[技术] 【飞凌嵌入式OK3576-C开发板体验】llama2.c部署
6047 浏览 0 评论
6805 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】ssh连接与文件传输
6785 浏览 0 评论
8138 浏览 0 评论
【飞凌嵌入式OK527N-C开发板体验】6.制作h264播放器
7554 浏览 0 评论
6764浏览 2评论
3222浏览 2评论
11091浏览 1评论
5176浏览 1评论
83570浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:56 , Processed in 0.469263 second(s), Total 41, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号