SWM341系列应用(LVGL应用)

news2025/6/18 10:22:42

SWM341系列之LVGL应用

1、LVGL 缓冲区的应用              
现象:客户使用SWM34SRE时 ,客户不使用LVGL的前提下需要手动切换缓冲区,但是切换的时候显示不正常;          
分析与解决:需要客户手动切换的时候VBPRELOAD寄存器置位1,如下图所示,即可正常切换。

2、LVGL之 LV_IMG_CACHE_DEF_SIZE应用
现象:客户反馈在使用LVGL结合JPEG硬解码刷图时,在图像切换的时候显示不完全,大致显示效果如图所示。

分析及解决:指引客户在lv_conf.h中将LV_IMG_CACHE_DEF_SIZE的宏置为0,该宏的主要作用是缓存图像,通过牺牲RAM来获取更快的速度,但是存在指针访问异常的问题,将其关闭后显示正常。

3、LVGL 离线转换工具应用        
现象:客户中有科技,使用SWM34S,客户反馈直接用离线转换工具把图片转换成.c文件后,无法正常显示。
分析解决:由于客户的图片源格式有问题,得通过画图工具打开再另存,然后通过离线转换工具转换出来的.c文件,问题解决。

4、SPI方式驱动的应用         
现象:SWM34SRET7应用 SPI屏刷屏慢,240*240在30fps没法提升帧率的原因,由于spi屏采用DMA方式 搬运 ,套用disp2_2,如下图所示,disp2_2每缓存10*n行后传到缓冲区,间隔3.1ms后再进行下一次传输,每次传输间隔没法改除非提高系统主频,
分析与解决:在提高缓存行数到30行,并且LVGL_task_handler的更新更新周期提高至20ms(50fps),最终画面帧率可以到42fps。

5、lv_scr_load的应用         
现象:客户反应改用lv_scr_load后,画面切换速度有明显改善。但是多次切换后速度会越来越卡。所以只能用回调用lv_scr_load_anim这个API,根据现场演示的效果,以及根据客户的代码查看,发现只有调用lv_scr_load_anim的地方执行慢了。
分析与解决:反复调用lv_scr_load卡顿的原因就是因为每次加载界面都需要重复申请控件导致内存溢出。
由于lv_scr_load_anim可以删除上一个界面,而且客户不需要动画效果,所以只要lv_scr_load加上lv_obj_del就能达到同样的效果。

6、LVGL GPU的应用           
现象:客户显示屏项目(SWM34SRET6),客户需要JPG解码动图刷新,但是客户多次移植都无法正确的把JPG解码的图片正常显示。
分析与解决:排查了SDRAM和Flash数据皆为正确后,通过修改lv_conf.h GPU的宏定义关闭即可。我们的例程都 是关闭的,但是客户的是之前NXP上位机生成的工程,默认没关GPU。

7、LVGL 之 disp_drv.full_refresh应用     
现象: 客户反映触摸后会花屏,经过debug排查发现是客户移植的LVGL8.3.7的 双缓存机制有问题。一旦交互会有花屏,之前客户用DMA2D测试一直不出现问题。
分析与解决:客户移植时候disp_drv.full_refresh=1该句被注释导致,界面刷新导致的花屏,取消注释即可。

8、LVGL 之 roller控件点击事件     
现象:东陆科技,用的滚轮控件,需求是滚轮其他区域无法触发点击事件,只能滑动,选中区域要能触发点击和滑动事件;
分析解决:把LVGL的roller底层屏蔽点击事件,再划出指定的区域可以触发点击事件

9、LVGL之 标签滚动显示     
现象:客户摩托车仪表需要添加标签滚动显示,但是客户设置LV_LABEL_LONG_SROLL_CIRC 滚动后没有反应,
分析与解决:经过排查发现LVGL7.11 如果关闭了LV_USE_ANIMATION的宏定义,会直接卡住不动,所以需要打开该宏定义。

10、LVGL显示与供电稳定性的现象     
现象:客户反应程序执行过程中会卡顿和死机,并且画面显示nodata.
分析与解决:经过长时间运行和debug,发现显示nodata的程序执行正常,并且现象只要和供电有关,于是检查供电。发现VDD(+3.3V节点)这一路电压,会有很大的波动,会有200mv~700mv的电压骤降,导致SDRAM执行不正常。

同类现象:     
现 象:技术支持过程中,cap电容有很大纹波,会显示nodata白屏。
分析与解决:通过降频到120Mhz后,程序运行正常,应该是cap处纹波太大,导致系统运行不正常,需要客户改硬件。

11、341使用DMA-lvgl适配SPI屏幕ST7789-240x240  
问题:客户 根据综合例程代码移植disp,优化等级是Ofast,但显示如下,优化等级改成O0,显示正常,但效率低。

分析和解决:目前根据刘工提供的例程,使用两通道DMA和来回切换spi数据宽度。DMA一个通道是传输像素点到SPI-data,另一个通道是spi-data到变量,在spi-data到变量DMA传输完成中断中flush-ready()。这样可以防止FIFO数据不发送,防止数据丢失。

12、LVGL与编译器优化的情况   
现象:客户零六光电(SWM34SVET6)使用NXP GUI Guider结合LVGL7.11布局界面,但是客户反馈在O0编译等级下程序运行符合预期,但是运行效率不高,具体表现为使用屏上按钮切换页面时反应缓慢,卡顿明显;但如果使用O1及以上的优化等级时程序运行不符合预期,具体表现为程序开始时串口接收异常,无法跳出接收的循环。
分析:在查阅客户源码后,将其相关的标志位等变量加上volatile关键字,但是运行依然异常;在串口接收的while(1)中插入__NOP;指令后,运行结果符合预期,且运行效率大大提高,至此问题定位为编译器编译器认为是无副作用(no side-effect)的代码将其优化,需插入NOP指令防止该段代码被编译器优化掉。

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

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

相关文章

el-tree基础渲染

el-tree 每个节点左右布局鼠标经过接电视&#xff0c;左边文字变色&#xff0c;右边不变 <el-tree:data"list":props"defaultProps"default-expand-all:expand-on-click-node"false"><template #default"{ data }"><e…

无线网络2.4和5G的区别

无线网络2.4和5的区别 无线网络2.4GHz和5GHz的主要区别在于频率、覆盖范围、传输速度、干扰能力和穿透性。以下是详细介绍&#xff1a;12 频率不同。2.4GHz的频率较低&#xff0c;而5GHz的频率较高。频率越低&#xff0c;信号在传播过程中的损失越小&#xff0c;因此覆盖范围…

【科研】搜索文献的网站

文章目录 paperswithcode【最新论文&#xff0c;代码】huggingface【大语言模型&#xff0c;最新论文】dblp【关键词搜索】arxiv【最新文章】semanticscholar【相关引用查询】connectedpapers【相关引用查询】github【工程&#xff0c;代码&#xff0c;论文开源代码】 paperswi…

[蓝桥杯 2018 国 C] 迷宫与陷阱

题目&#xff1a; 思路&#xff1a; 代码&#xff1a; #include <bits/stdc.h> using namespace std; const int N1e310; char g[N][N];//输入&#xff1a;图的数组 int vis[N][N]; /* 剪枝&#xff1a;记录magic的个数&#xff08;一个点经过两次&#xff0c;magic越大…

高性能计算与深度学习结合;提升云人工智能基础设施可靠性;基于心理测量学的通用型人工智能评估;模仿人脑思维模式的视觉语言规划框架

编者按&#xff1a;欢迎阅读“科研上新”栏目&#xff01;“科研上新”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里&#xff0c;你可以快速浏览研究院的亮点资讯&#xff0c;保持对前沿领域的敏锐嗅觉&#xff0c;同时也能找到先进实用的开源工具。 本期内容速览 …

福克斯有什么明显的优缺点吗?

福克斯有什么明显的优缺点吗&#xff1f; - 知乎 https://www.zhihu.com/question/22125956/answer/554288301 作者&#xff1a;赵小瑚 链接&#xff1a;https://www.zhihu.com/question/22125956/answer/554288301 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作…

【Unity】组件组合使用心得(单行可自动拓展Scroll View)

在这之前&#xff0c;一直是在使用Scroll View进行滑动内容设置&#xff0c;但设置的都是不明不白的&#xff0c;而且有的时候设置好了之后也不知道是为什么&#xff0c;总感觉哪里不对劲&#xff0c;而且好也不知道为什么好&#xff0c;可能是长时间在做管理上的内容&#xff…

企业鸿蒙原生应用元服务备案实操基本材料要求

一、要提前准备的主要材料包括 域名&#xff0c;服务器&#xff0c;包名&#xff0c;公钥&#xff0c;MD5值&#xff0c;法人身份证正反两面&#xff0c;邮箱&#xff0c;手机号2个。 域名是备案过的&#xff0c;应为要求域名能打开&#xff0c;还要悬挂备案号。 操作时要提前沟…

java包目录命名

包目录命名 config controller exception model common entity enums reponse request repository security service util

看不懂来打我,vue3如何将template编译成render函数

前言 在之前的 通过debug搞清楚.vue文件怎么变成.js文件 文章中我们讲过了vue文件是如何编译成js文件&#xff0c;通过那篇文章我们知道了&#xff0c;template编译为render函数底层就是调用了vue/compiler-sfc包暴露出来的compileTemplate函数。由于文章篇幅有限&#xff0c;…

数据降维方法-主成分分析(PCA)

目录 一、前言 二、向量的表示及基变换 三、基变换 四、协方差矩阵 五、协方差 六、优化目标 一、前言 主成分分析(Principal Component Analysis) 用途&#xff1a;降维中的常用手段 目标&#xff1a;提取最有价值的信息&#xff08;基于方差&#xff09; 问题&#x…

使用 Citavi 和 NVivo 简化您的文献综述和研究分析

NVivo 是一款支持定性研究方法和混合研究方法的软件。它可以帮助您收集、整理和分析访谈、焦点小组讨论、问卷调查、音频等内容。NVivo&#xff08;1.0版&#xff09;是Windows和Mac的主要版本。遵循最新的主要版本NVivo 12&#xff08;Windows和Mac&#xff09;。 NVivo 强大…

前端开发攻略---利用Flexbox和Margin实现智能布局:如何巧妙分配剩余空间,让你的网页设计更上一层楼?

1、演示 2、flex布局 Flex布局是一种用于Web开发的弹性盒子布局模型&#xff0c;它可以让容器内的子元素在空间分配、对齐和排列方面具有更大的灵活性。以下是Flex布局的基本用法&#xff1a; 容器属性&#xff1a; display: flex;&#xff1a;将容器指定为Flex布局。flex-dire…

面试(02)————Java基础和集合

一、Java基础知识 1、面向对象的特征 2、Java 的基本数据类型有哪些 3、JDK JRE JVM 的区别 4、重载和重写的区别 5、Java中和equals的区别 6 、String、StringBuffer、StringBuilder三者之间的区别 7、接口和抽象类的区别是什么&#xff1f; 8、反射 9、jdk1.8 的新特…

行云堡垒国密算法应用与信创支持

一、 国密算法和信创的介绍 1.1 什么是国密算法 国密算法是国家密码管理局制定颁布的一系列的密码标准&#xff0c;即已经被国家密码局认定的国产密码算法&#xff0c;又称商用密码&#xff08;是指能够实现商用密码算法的加密&#xff0c;解密和认证等功能的技术&#xff09;…

视频图像的两种表示方式YUV与RGB(4)

本篇主要讲YUV与RGB之间的转换&#xff0c;包括YUV444 颜色编码格式 转为 RGB 格式 &#xff0c;RGB颜色编码格式转为 YUV444 格式。 一、 YUV与RGB之间的转换 YUV与RGB颜色格式之间进行转换时 , 涉及一系列的数学运算 ; YUV 颜色编码格式转为RGB格式的转换公式 取决于 于 YUV …

个人在线要饭网站源码

源码简介 施舍也要讲究便捷&#xff0c;如果能像购物一样&#xff0c;那也是很美的一件事情&#xff1b; 接入了支付宝当面付系统. 安装环境 php5.6 Nginx 安装教程 1.上传源码压缩包到网站目录并解压即可 2.支付配置 /修改文件 app/config.php /*** 请填写以下配置信…

微服务-4 Nacos

目录 一、注册中心 二、配置管理 1. 添加配置 2. 配置自动刷新 3. 多环境配置共享​编辑 一、注册中心 服务列表&#xff1a; 服务详情&#xff1a; 二、配置管理 1. 添加配置 (1). 在 nacos 界面中添加配置文件&#xff1a; 配置列表&#xff1a; 配置详情&#xff1a;…

东方博宜 1738. 胜负对决

东方博宜 1738. 胜负对决 以为这道题很简单呢&#xff0c;结果提交两次还不对&#xff0c;气死个人~ 思路&#xff1a;这道题的重点在于看清楚题意&#xff0c;是第奇数个&#xff0c;而不是数是奇数 。 还有&#xff0c;如果按照位数的奇偶来判定&#xff0c;那在读取数组的时…

The C programming language (second edition,KR) exercise(CHAPTER 2)

E x c e r c i s e 2 − 1 Excercise\quad 2-1 Excercise2−1&#xff1a;输出结果如图1和图2所示&#xff0c;这道练习题需要文章1和文章2的知识。 #include <stdio.h> #include <limits.h>float getFloat(char sign, unsigned char exp, unsigned mantissa); do…