Tina-Linux -- 3. LVGL测试

  • 参考韦东山 – 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 包过大的错误如下:

image.png
这是因为内核编译开启了 lvgl 的包,导致编译生成的 rootfs.fex 包大于设定的最大尺寸限制。需要修改一下最大尺寸设置,修改路径如下:

tina-d1-h/device/config/chips/t113/configs/100ask/sys_partition.fex : [partition]name         = rootfssize         = 74800downloadfile = "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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/15381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【区块链】fisco节点运维 更新ing

基于已完成的区块链系统与管理平台搭建工作&#xff0c;开展区块链节点的加入与退出运维工作&#xff0c;具体内容如下 以下只是举例子讲 如果有其他修改没举例出来可以留言 私信 主要以比赛出题的形式讲 区块链节点输出等级为警告级&#xff0c;并设置日志存储阈值为100MB并…

主机与VMware虚拟机共享文件夹

虚拟机M --> 设置 --> 选项 --> 共享文件夹 虚拟机里的共享文件夹需要挂载 sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other from 主机与VMware虚拟机共享文件夹&#xff1a;解决虚拟机找不到共享文件夹问题 - 知乎

C++实现的代码行数统计器

代码在GitHubMaolinYe/CodeCounter: C20实现的代码统计器&#xff0c;代码量小于100行&#xff0c;可以统计目录下所有代码文件的行数 (github.com) 前段时间到处面试找实习&#xff0c;有技术负责人的负责人问我C写过多少行&#xff0c;5万还是10万&#xff0c;用来评估熟练度…

Capture One Studio for Mac:打造完美影像的利器

对于摄影师而言&#xff0c;每一次按下快门都是一次对完美影像的追求。而Capture One Studio for Mac正是这样一款能够帮助你实现这一追求的利器。 Capture One Studio for Mac v16.4.2.1中文直装版下载 首先&#xff0c;Capture One Studio for Mac拥有出色的图像处理能力。它…

从零起航,Python编程全攻略

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、Python入门之旅 二、Python进阶之道 三、Python爬虫实战 四、Python数据分析利器 五…

kind: Telemetry

访问日志 访问日志提供了一种从单个工作负载实例的角度监控和理解行为的方法。 Istio 能够以一组可配置的格式为服务流量生成访问日志&#xff0c; 使操作员可以完全控制日志记录的方式、内容、时间和地点。 有关更多信息&#xff0c;请参阅获取 Envoy 的访问日志。 https:/…

TS+elementUI的表格做form校验写法(手机/邮箱号验证)

1.form表单写法 <template><div style"height:100%;width:100%;position:relative"><el-dialog title"编辑" :visible.sync"dialogVisible" width15% :close-on-click-modalfalse><el-form :model"form" :rule…

模块化程序设计(函数的定义、调用、参数传递、局部变量、全局变量)

函数的引入&#xff1a; 我们曾经学习了程序设计中的三种基本控制结构&#xff08;顺序、分支、循环&#xff09;。用它们可以组成任何程序。但在应用中&#xff0c;还经常用到子程序结构。 通常&#xff0c;在程序设计中&#xff0c;我们会发现一些程序段在程序的不同地方反复…

[python]当你认为python字符串的strip()或replace()不能删除空格或者换行符的时候,看这里

str "123 abc\r\n" 当你调用 str.strip() 或 str.replace("\n","")之后&#xff0c;发现空格或换行符还存在&#xff0c; 是因为strip()和replace()没有改变str本身的值&#xff0c;需要这样重新赋值&#xff1a; str str.strip() ...

RabbitMQ 发布订阅

RabbitMQ 发布订阅视频学习地址&#xff1a; 简单模式下RabbitMQ 发布者发布消息 消费者消费消息 Publist/Subscribe 发布订阅 在 RabbitMQ 中&#xff0c;发布订阅模式是一种消息传递方式&#xff0c;其中发送者&#xff08;发布者&#xff09;不会将消息直接发送到特 定的…

基于open3d对kitti数据集检测结果可视化

前言 KITTI数据集是自动驾驶和计算机视觉领域中一个广泛使用的基准数据集&#xff0c;它提供了丰富的传感器数据&#xff0c;包括激光雷达、相机和GPS等。Open3D是一个功能强大的3D数据处理和可视化库&#xff0c;支持多种3D数据格式。本文将介绍如何使用Open3D对KITTI数据集的…

Python常见数据类型处理

一、数据类型分类 Python3 中常见的数据类型有&#xff1a; Number&#xff08;数字&#xff09;String&#xff08;字符串&#xff09;bool&#xff08;布尔类型&#xff09;List&#xff08;列表&#xff09;Tuple&#xff08;元组&#xff09;Set&#xff08;集合&#xf…

详解 Spring MVC(Spring MVC 简介)

什么是 Spring MVC&#xff1f; Spring MVC 是 Spring 框架提供的一个基于 MVC 模式的轻量级 Web 框架&#xff0c;是 Spring 为表示层开发提供的一整套完整的解决方案&#xff0c;Spring MVC 使用了 MVC 架构模式&#xff0c;将 Web 层职责解耦&#xff0c;基于请求驱动模型&…

基于Java、SpringBoot和uniapp在线考试系统安卓APP和微信小程序

摘要 基于Java、SpringBoot和uniapp的在线考试系统安卓APP微信小程序是一种结合了现代Web开发技术和移动应用技术的解决方案&#xff0c;旨在为教育机构提供一个方便、高效和灵活的在线考试平台。该系统采用Java语言进行后端开发&#xff0c;使用SpringBoot框架简化企业级应用…

SpringCloud微服务之Nacos、Feign、GateWay详解

SpringCloud微服务之Nacos、Feign、GateWay详解 1、Nacos配置管理1.1、统一配置管理1.1.1、在nacos中添加配置文件1.1.2、从微服务拉取配置 1.2、配置热更新1.2.1、方式一1.2.2、方式二 1.3、配置共享1.3.1、配置共享的优先级 1.4、搭建nacos集群1.4.1、初始化数据库1.4.2、下载…

plt多子图设置

import matplotlib.pyplot as plt# 使用 subplots 函数创建一个 2x3 的子图网格 fig, axs plt.subplots(nrows2, ncols3, figsize(16, 10)) # 调整 figsize 来改变图像大小# 遍历每个子图&#xff0c;并绘制一些内容&#xff08;这里只是简单的示例&#xff09; for ax in ax…

React与Vue的区别?

一、区别: 1. 语法 Vue采用自己特有的模板语法&#xff1b; React是单向的&#xff0c;采用jsx语法创建react元素。 2.监听数据变化的实现原理不同 Vue2.0 通过Object.defineproperty()方法的getter/setter属性, 实现数据劫持, 每次修改完数据会触发diff算法(双端对比) …

VUE 页面生命周期基本知识点

在 Vue.js 中&#xff0c;页面生命周期&#xff08;更准确地说是组件生命周期&#xff09;指的是组件从创建到销毁的一系列过程。了解这些生命周期钩子可以帮助我们更好地管理组件的状态和行为。以下是 Vue 组件的主要生命周期钩子&#xff1a; beforeCreate 在实例初始化之后&…

vue使用element plus组件上传服务器

在Vue项目中使用Element Plus组件上传文件到服务器&#xff0c;你可以使用ElUpload组件。以下是一个简单的示例&#xff0c;展示了如何使用ElUpload组件来上传文件&#xff0c;并将其保存到服务器。 首先&#xff0c;确保你已经安装了Element Plus。 npm install element-plu…

从入门到精通:详解Linux进程管理

前言 在这篇文章中&#xff0c;我将带领大家深入学习和理解Linux系统中的进程管理。无论你是初学者还是有一定经验的开发者&#xff0c;相信这篇文章都会对你有所帮助。我们将详细讲解冯诺依曼体系结构、操作系统概念、进程管理、进程调度、进程状态、环境变量、内存管理以及其…