- 参考韦东山 – Tina_Linux_图形系统_开发指南
Tina-linux lvgl 配置
环境配置
进入Tina-SDK根目录 source build/envsetup.sh lunch XXX平台名称 make menuconfig
LVGL
Gui ---> Littlevgl ---> < > lv_demo <*> lv_examples (lvgl官方demo) -*- lvgl-8.1.0 use sunxifb double buffer (使能双缓冲,解决撕裂问题) [*] lvgl-8.1.0 use sunxifb cache (使能fb cache) [ ] lvgl-8.1.0 use sunxifb g2d (使能G2D硬件加速) [ ] lvgl-8.1.0 use sunxifb g2d rotate (使能G2D硬件旋转) [ ] lvgl-8.1.0 use freetype (自动链接freetype) <*> lv_g2d_test (g2d接口测试用例) <*> lv_monitor (压力测试与数据监测软件) < > smartva < > smartva_ota
- LVGL 源码路径
tina/package/gui/littlevgl-8
sunxig2d
- 源码路径
tina/package/gui/littlevgl-8/lv_drivers/display/sunxig2d.c
sunximem
- 源码路径
tina/package/gui/littlevgl-8/lv_drivers/display/sunxigmem.c
evdev
- 源码路径
tina/package/gui/littlevgl-8/lv_drivers/indev/evdev.c
- 添加触摸屏控制
在tina/package/gui/littlevgl-8/lv_examples/src/lv_drv_conf.h 中修改 EVDEV_NAME 为触摸屏的 event 节点
#ifndef USE_EVDEV # define USE_EVDEV 1 #endif #ifndef USE_BSD_EVDEV # define USE_BSD_EVDEV 0 #endif #if USE_EVDEV || USE_BSD_EVDEV # define EVDEV_NAME "/dev/input/event2" /*You can use the "evtest" Linux tool to get the list of devices and test them*/ # define EVDEV_SWAP_AXES 0 /*Swap the x and y axes of the touchscreen*/
其中 event可以在 开发板 linux 中使用 cat /dev/input/event确认是否正确
编译测试
编译
- 以上修改完成后,按照正常编译流程编译
~:source build/envsetup.sh ~:lunch 4 ~:make -j32 V=s 编译完成后打包镜像 ~:pack
- 注意:pack 打包镜像时,有可能遇到 dl 包过大的错误如下:
这是因为内核编译开启了 lvgl 的包,导致编译生成的 rootfs.fex 包大于设定的最大尺寸限制。需要修改一下最大尺寸设置,修改路径如下:
tina-d1-h/device/config/chips/t113/configs/100ask/sys_partition.fex : [partition] name = rootfs size = 74800 downloadfile = "rootfs.fex" user_type = 0x8000
修改后执行 pack 即可
测试
将新生成的 img 镜像烧录到开发板,进入系统后执行指令如下:
~:lv_examples 0 (lv_demo_widgets) ~:lv_examples 1 (lv_demo_music) ~:lv_examples 2 (lv_demo_benchmark) ~:lv_examples 3 (lv_demo_keypad_encoder) ~:lv_examples 4 (lv_demo_stress) ~:lv_monitor
- 注意:pack 打包镜像时,有可能遇到 dl 包过大的错误如下:
- 以上修改完成后,按照正常编译流程编译
- 添加触摸屏控制
- 源码路径
- 源码路径
- 源码路径
- LVGL 源码路径
转载请注明来自码农世界,本文标题:《Tina-Linux -- 3. LVGL测试》
百度分享代码,如果开启HTTPS请参考李洋个人博客
还没有评论,来说两句吧...