【启明智显技术分享】SSD201/SSD202D核心板UI界面开发全攻略:LVGL使用指南

提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫及星宸科技的新产品、新方案的主要特点及应用!希望你能第一时间了解并快速用上好的方案和产品!
在这里插入图片描述

简介

LVGL是一个轻量级的,开源的图形库。本文详细介绍了如何在7寸开发板上运行lvgl应用,同时介绍了如何使用著名的LVGL IDE工具GUI Guider来开发应用程序。
下载LVGL源码
下载LVGL_8.2源码
基于lvgl v8.2,我们已经适配了Purple Pi开发板,并且放在github上面,你可以通过以下方法下载:

git clone https://github.com/industio/ido-lvgl8.2.git

编译LVGL源码

在编译LVGL源码之前,请确保已经安装了交叉编译链arm-linux-gneabihf-gcc:

@ which arm-linux-gnueabihf-gcc
/home/ronnie/work3/ssd201/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
cd ido-lvgl8.2
mkdir objs
mkdir output
make clean
make -j16

如果生成output/app,说明LVGL源码编译成功。

使用GUI Guider开发LVGL应用

安装JDK
GUI Guider依赖JDK工具,因此需要先安装JDK工具。
到https://www.oracle.com/java/technologies/downloads/下载并安装最新的JDK。

安装GUI Guider

登录https://www.nxp.com/design/software/development-software/gui-guider:GUI-GUIDER,往下翻页找到GUI Guider v1.3.0并下载:
在这里插入图片描述
安装包下载完成后,双击安装即可。

在GUI Guider上开发应用

打开GUI Guider,新建一个demo1项目,参数设置请保持和下面图片一致:
在这里插入图片描述
在这里插入图片描述
点击下方CREATE按钮,项目创建完成:
在这里插入图片描述
选择Widgets页,拖动放置一个switch器件:
在这里插入图片描述
点击右上角Generate Code按钮:
在这里插入图片描述
Generate Code完成后,继续点击RunSimulator->C,在电脑上模拟运行:
在这里插入图片描述
可以看到,刚刚放置的按钮显示在窗口上:
在这里插入图片描述

交叉编译lvgl应用

在仿真完成后,停止仿真,点击Resource按钮,然后点击文件夹图标:
在这里插入图片描述
在新打开的窗口中,展示了刚才新建的项目源代码所在的位置:
在这里插入图片描述
复制generated和custom文件夹,替换lvgl源码的generated和custom文件夹:
在这里插入图片描述
在编译前需要配置交叉编译链arm-linux-gnueabihf-gcc,下载gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz解压

tar -xvf gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz
export PATH=/home/xxx/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin:$PATH

替换完成后,即可开始编译app:

make clean
make -j16

编译成功,将生成output/app。

在开发板上运行lvgl应用

将output/app拷贝到开发上,并赋予可执行权限:

tftp -g -l app 192.168.1.147
chmod a+x app

如果没有初始化屏幕,先执行disp_init初始化屏幕:

 /customer/disp_init &

运行app:
在这里插入图片描述
如果你不想在右下角显示FPS & CPU信息,请修改lv_conf.h,将LV_USE_PERF_MONITOR设置为0:

/*1: Show CPU usage and FPS count*/
#define LV_USE_PERF_MONITOR 0
#if LV_USE_PERF_MONITOR
    #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
#endif

【打造开源生态,是启明智显一直以来坚持的理念。用户可以获取SSD202D开发板的详细设计文件和电路图,了解其硬件构成、接口规范和扩展能力。资料可留言获取!】

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字化信息协同助力智能巡查,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建无人机数字侦查场景下智能靶标检测识别系统

无人机的快速发展与普及,使得其进入千家万户各行各业,发挥着越来越重要的作用。随着科技的飞速发展,未来的数字信息化战场正逐渐展现出其独特的作战形态。在这个以数据和信息为主导的新战场上,无人机侦查手段与人工智能目标智能检…

Django图书馆综合项目-学习

图书馆项目 一 前期准备 安装好所需的环境 我这边用的IDE是VScode 操作系统是MACOS 二 先创建一个虚拟环境 python3 -m venv myenvbook source myenvbook/bin/activate 三 安装 Django pip3 install django4.2 四 创建 Django 项目 django-admin startproject bookp…

二叉树的前序、中序、后序遍历

二叉树的前序、中序、后序 1.二叉树的前序遍历 题目: 二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入&#xff…

LLM应用-文档解析 AI大模型总结分析文档

1)https://notegpt.io/pdf-summary 支持总结,思维导图、对话 2)chatdoc https://chatdoc.com/ 3)chatpdf https://www.chatpdf.com/ https://www.chatpdfs.cn/ 4)kimi https://kimi.moonshot.cn/

004.可观察对象与观察者

Rx非常适合事件驱动的应用程序。这是有意义的,因为事件(作为)(如前所述)是创建时变值的命令式方法。从历史上看,事件驱动编程主要出现在客户端技术中,因为作为事件实现的用户交互。例如,你可能工作过使用OnMouseMove或OnKeyPressed事件。正因…

构建滴滴业务中台:系统架构设计探索

在当今数字化时代,滴滴作为中国领先的出行平台,承载着数亿用户的出行需求,业务规模庞大且复杂多样。为了更好地支撑业务发展和提升服务质量,滴滴不断探索和构建业务中台,以实现业务的快速响应、灵活运营和持续创新。在…

2024年最新青龙面板跑脚本教程(一)持续更新中

文章目录 步骤 1: 安装青龙面板步骤 2: 访问青龙面板步骤 3: 上传或创建JavaScript脚本步骤 4: 添加定时任务步骤 5: 查看日志示例脚本步骤 6: 管理依赖和环境变量通用依赖如下,可手动增加。 要在青龙面板上运行JavaScript脚本,首先需要确保你已经成功安…

JavaEE之线程(4)——线程安全、线程安全的原因,synchronized关键字

前言 在本栏的前面的内容中,我们介绍了线程的创建、Thread 类及常见方法、线程的状态,今天我们来介绍一下关于线程的另一个重点知识——线程安全。 一、线程安全 基本概念: 线程安全的确切定义是复杂的,但我们可以这样认为&…

阿里云OSS配置跨域及域名访问

1、配置跨域 进入对象存储OSS–>OSS存储桶–>数据安全–>跨域设置–>创建规则 2、配置跨域 Etag x-oss-request-id3、配置结果如下 4、数据源配置 切换到数据管理–>静态页面 配置根页面 保存结果如下 5、配置域名访问 绑定域名 添加txt记录 验证绑定 …

【linux-IMX6ULL-uboot初次编译及烧录

目录 1. uboot基本概念1. 1 uboot的编译 3. uboot的烧录2. uboot的烧录结果 第一次不进行原理性的探究,也不关注源码内容,只是进行一个直观的了解,对uboot进行初次编译并进烧录到IMX6ULL板卡中 1. uboot基本概念 U-Boot(Universa…

设计循环队列-C语言实现

题目描述 设计循环队列 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的…

FPGA verilog LVDS通信协议笔记

一幅图胜过千言万语 直接开始挫代码,先写top.v。 module top();reg clk; // 生成时钟的寄存器 reg rst; // 生成复位信号的寄存器initial clk 1; // 初始值取1 always #1 clk ~clk; //1ns取反一次initial begin // 复位信号,先0,过段时间赋…

ORA-00932: inconsistent datatypes: expected - got CLOB的分析解决方案

最近在项目中遇到查询数据时报ORA-00932: inconsistent datatypes: expected - got CLOB错误,这个错误很明显是由于查询时类型的不匹配造成的。 问题分析: 一、检查你的查询的实体的类型是否于数据库的保持一致,如果不一致,那么需…

Rumor Remove Order Strategy on Social Networks

ABSTRACT 谣言被定义为广泛传播且没有可靠来源支持的言论。现代社会,谣言在社交网络上广泛传播。谣言的传播给社会带来了巨大的挑战。 “假新闻”故事可能会激怒您的情绪并改变您的情绪。有些谣言甚至会造成社会恐慌和经济损失。因此,谣言的影响可能是深…

Redis-数据过期策略

文章目录 Redis数据持久化策略的作用是什么?Redis的数据过期策略有哪些?惰性删除定期删除 更多相关内容可查看 Redis数据持久化策略的作用是什么? Redis数据过期策略是指在Redis中设置数据的过期时间,并在数据过期时自动从数据库…

【JavaScript超详细的学习笔记-上】JavaScrip超详细的学习笔记,共27部分,12多万字

想要获取笔记的可以点击下面链接获取 JavaScript超详细的学习笔记,点击我获取 一,JavaScript详细笔记 1,基础知识 1-1 基础知识 // 1,标识符命名规则:第一个字母必须是字母,下划线或一个美元符号。不能…

pasmutility.dll丢失要怎么修复,pasmutility.dll破解补丁在哪里找到?

pasmutility.dll是电脑中非常重要的文件之一,当电脑突然弹出“找不到pasmutility.dll”或是“pasmutility.dll丢失”等的错误提示窗口,可以选择下载pasmutility.dll文件,当然除了下载的方法还有很多种关于pasmutility.dll丢失的解决方法&…

自作聪明的AI? —— 信息处理和传递误区

一、背景 在人与人的信息传递中有一个重要问题——由于传递人主观处理不当,导致信息失真或产生误导。在沟通交流中,确实存在“自作聪明”的现象,即传递人在转述或解释信息时,根据自己对信息的理解、经验以及个人意图进行了过多的…

LeetCode 125题:验证回文串

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

Apache访问控制与虚拟主机

目录 一. Web服务简介 以下是一些 Web 服务的基本概念和特征 以下是一些主流的 Web 服务器 WEB 服务协议 二. Apache 服务的搭建与配置 2.1 Apache 介绍 2.2 Apache安装 2.3 Apache目录介绍 三. 访问控制 四. 修改默认网站发布目录 五. 虚拟主机 5.1 基于域名的虚拟…