嵌入式UI开发-lvgl+wsl2+vscode系列:12、GUI Guider安装使用及在ssd202开发板上测试

news2024/11/8 0:42:33

一、前言

接下来我们根据开发板官方的指南安装lvgl的ui工具GUI Guider进行开发和测试。理论上还有SquareLine Studio,但是由于一些收费等因素暂时不做过多介绍,gui工具只是辅助,加快开发效率,很多时候还是得直接用代码写界面。(还有一个原因就是GUI Guider可以直接设置中文界面)

二、安装和使用简介

1、下载安装及使用手册

下载地址:https://www.nxp.com/design/design-center/software/development-software/gui-guider:GUI-GUIDER
1.7.2的用户手册:https://docs.nxp.com/bundle/GUIGUIDERUG_1.7.2/page/topics/welcome.html?_gl=11fwx4f8_gaNTM4MjMzNzc3LjE3MTMwMjIyNjk._ga_WM5LE0KMSH*MTcyMTE5Mjc0My40LjEuMTcyMTE5Mjk0OS4wLjAuMA…
需要注册账号登陆并下载,Windows、mac(x86、m2)、ubuntu等系统都有对应安装包。GUI Guider一直在更新,截止到我下载这里已经到1.7.2版本了。
然后像其它软件一样安装即可。

2、使用

  • 选择lvgl版本:

image.png

  • 如果有对应的设备直接选择,没有的话则先模拟,后续移植:

image.png

  • 选择一个模版(空UI、Widget、Application),这里我选择Application中的Smart Appliance:

image.png

  • 这里定义面板时选择了自定义,我的板子屏是1024*600的(中文界面设置后面会有说明),然后点击创建即可:

image.png

  • 进入设计界面后右上角可以设置为中文以及设置主题颜色等:

image.png

  • 然后编译运行即可

image.png
点击空调进入空调页面:
iShot2024-07-17 15.38.31.gif
点击油烟机进入油烟机页面:
iShot2024-07-17 15.32.41.gif
点击烤箱进入烤箱界面:
iShot2024-07-17 15.35.01.gif

三、创建非模板示例测试

1、创建空项目

  • 选择空UI

image.png

  • 色彩深度根据对应屏选择,我这里是24bit,面板宽度和高度也是按照你自己的屏进行选择,我这里是1024*600

image.png

2、设计界面

  • 页面这里点击页面位置的加号增加即可,可以自行修改页面名称
  • 第一个页面screen增加一个按钮和一个label,字体如果没有自己增加的话则中文目前选择SourceHanSerifSC_Regular,否则仿真后运行显示的中文是乱码

image.png

  • 选择按钮右键后选择事件添加,我们来添加切换界面的按钮点击事件

image.png

  • 选择load screen,之后右边选择对应的界面的名称,还可以设置延时时间等

image.png

  • 第二个界面也做类似第一个界面的功能,但是点击事件加载显示第一个界面,这样两个界面就可以通过按钮来相互切换了

image.png

3、运行结果

最后点击右上角绿色三角形样式的编译&运行按钮后选择C程序后编译并仿真运行,如下是运行结果:
iShot2024-07-17 20.07.01.gif

4、移植到开发板SSD20X

点击界面上方的项目名称进入项目目录(我这里项目为test):
image.png

  • customgenerated拷贝到上节总结中提到的开发板的lvgl项目目录ido-lvgl8.2(https://github.com/industio/ido-lvgl8.2.git)中(直接替换覆盖对应两个目录,不用删除),然后重新交叉编译生成app:
make clean
make -j16

image.png
编译成功之后将生成的app拷贝到开发板上进行测试:
image.png

四、最后

开发板上是8.2的版本,目前GUI Guider上是8.3.10的,部分接口是没有的,但是简单的界面开发是没有问题的,ssd20x开发板的lvgl项目中移植驱动等部分不用我们移植会少很多功夫,编译脚本也不需要修改,相当于根据官方开发板的demo程序,我们每次在GUI Guider上开发完界面仿真运行后再将对应custom和generated两个目录覆盖重新交叉编译即可。对于这些屏驱动、编译脚本修改、目录的含义这些细节我们在后续移植到mcu上时做更多的说明。

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

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

相关文章

睿考网:2024年中级经济师考试时间

报名时间:2024年8.12-9.11日 考试时间:2024年11.16-11.17日 成绩查询:2024年12月 报考条件: 1.高中毕业并取得初级经济专业技术资格,从事相关专业工作满10年; 2.具备大学专科学历,从事相关专业工作满6…

集团数字化转型方案(十三)

为了推动集团的数字化转型,我们将通过整合先进的信息技术、优化业务流程和提升数据分析能力,致力于实现全面的业务数字化,提升运营效率和市场竞争力。具体方案包括:引入人工智能和大数据分析工具,以精准数据驱动决策&a…

[C++] 异常详解

标题:[C] 异常详解 水墨不写bug 目录 一、错误处理方式 C语言 Java语言 二、异常的概念 三、异常的使用 1.异常的抛出和捕获(基本用法) 2.异常的重新抛出(特殊情况) 3.异常的规范和常见坑点 四、标准库的异常…

嵌入式UI开发-lvgl+wsl2+vscode系列:11、SSD202移植运行评估demo程序

一、前言 接下来我们根据开发板的LVGL指南移植lvgl的demo程序到开发板上,以及将一个评估的项目移植到开发板上,你将会发现移植lvgl到ssd2xx的板子上似乎很简单,但通过评估程序你将更加方便了解lvgl是否可以满足你的开发需求,除了…

JS 遍历请求数据,实现分页

JS 遍历请求分页 文章目录 JS 遍历请求分页效果图递归方式for循环 效果图 递归方式 const pageSize 10; // 假设每页10项/*** 接收页码和每页项数,返回Promise对象*/ function paginateData(page, pageSize) {return new Promise((resolve, reject) > {setTime…

用甜羊浏览器一键登录30个微店店铺的便捷之道

导语:微店是目前越来越受欢迎的电商平台,对于经营者来说,登录管理多个店铺可能是一项繁琐的任务。而甜羊浏览器的强大功能和智能体验,能够帮助用户轻松实现一键登录30个微店店铺,极大地提高了效率。本文将为大家介绍如…

3D打印随形透气钢:模具排气创新解决方案

在飞速发展的制造业中,技术的每一次飞跃都深刻影响着行业的进步。其中,3D打印随形透气钢技术的诞生,如同一股清新的风,为模具制造中的困气问题带来了革命性的解决方案。 简单来说,3D打印随形透气钢就是一项能够根据模具…

【Vue3教程】组件通信

组件通信 一、props二、自定义事件三、mitt四、v-model五、$attrs六、$refs 和 $parent七、provide&#xff0c;inject八、pinia九、插槽默认插槽具名插槽作用域插槽 总结 一、props 概述&#xff1a;props是使用频率最高的一种通信方式&#xff0c;常用与&#xff1a;父<—…

vue3 element-plus el-table 多层级表头动态渲染。

效果图: html: <el-table :data"arrlist" border style"width: 100%"><template v-for"(i, index) in currentFieldData" :key"index"><el-table-column :label"i.label" :header-D"i.headerAlign&q…

北京理工大学“源源不断”团队在全国大学生物联网竞赛中获得一等奖

在2024年8月24日结束的全国大学生物联网设计竞赛&#xff08;华为杯&#xff09;全国总决赛中的&#xff0c;北京理工大学的“源源不断”团队获得一等奖。 该团队的两名创始成员&#xff0c;张卓玉和杜智聪同学&#xff0c;曾在信息与电子学院李海老师的《智能物联网应用设计》…

vTable实现多维表格

介绍 vTable是字节开发的一款能用来渲染表格的库&#xff0c;是用canvas渲染&#xff0c;避免了传统用dom组件表格的一些问题&#xff0c;能很快的渲染出上万格子的表格。 接下来我将使用vTable构建类似下面的多维表格&#xff0c;其中quantity、sales等是指标。 使用 官网地址…

TensorRT部署模型入门(pythonC++)

文章目录 1. TensorRT安装1.1 cuda/cudnn以及虚拟环境的创建1.2 根据cuda版本安装相对应版本的tensorRT 2. 模型转换2.1 pth转onnx2.2 onnx转engine 3. TensorRT部署TensorRT推理&#xff08;python API&#xff09;TensorRT推理&#xff08;C API&#xff09; 可能遇到的问题参…

洛谷 P2254 [NOI2005] 瑰丽华尔兹

题目来源于&#xff1a;洛谷 题目本质&#xff1a;动态规划&#xff0c;单调队列 解题思路&#xff1a; f[i][x][y] max(f[i - 1][x’][y]) dist(x,y,x,y); i表示的是第i个时间段结束后&#xff0c;(x,y)这个位置最长的滑行距离。 注意(x,y)与(x,y)必定是在同一列或同一行…

数据结构之排序(一)

目录 一.排序的概念及其运用 1.1排序的概念 1.2 常见的排序算法 1.3排序的用途 二、排序的原理及实现 2.1插入排序 2.1.1基本思想 &#xff1a; 2.1.2排序过程&#xff1a; ​编辑2.1.3代码实现 2.1.4直接插入排序的特性总结&#xff1a; 2.2希尔排序&#xff08;希尔…

【TB作品】PIC16F1719单片机,EEPROM,PFM,读写,PIC16F1718/19

对于PIC16F1719单片机&#xff0c;没有直接的EEPROM&#xff0c;而是使用高耐久度的程序闪存&#xff08;PFM&#xff09;作为非易失性数据存储区域。这个区域特别适合存储那些需要频繁更新的数据。读写这个内存区域需要操作一些特殊功能寄存器&#xff0c;比如用于地址的PMADR…

Python - sqlparse 解析库的基础使用

安装 首先打开命令行&#xff0c;输入&#xff1a; pip install sqlparse这样就显示已经安装好了 使用 创建一个 Python 项目&#xff0c;导入 sqlparse 包&#xff1a; 1. parse sql "select * from table1 where id 1;"# 1. parse # parse方法将 SQL语句 解析…

全网最适合入门的面向对象编程教程:38 Python常用复合数据类型-使用列表实现堆栈、队列和双端队列

全网最适合入门的面向对象编程教程&#xff1a;38 Python 常用复合数据类型-使用列表实现堆栈、队列和双端队列 摘要&#xff1a; 在 Python 中&#xff0c;列表&#xff08;list&#xff09;是一种非常灵活的数据结构&#xff0c;可以用来实现堆栈&#xff08;stack&#xff…

如何使用ssm实现国学文化网站的设计与制作

TOC ssm187国学文化网站的设计与制作jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范…

【Kaggle】练习赛《有毒蘑菇的二分类预测》(上)

前言 本篇文章介绍的是Kaggle月赛《Binary Prediction of Poisonous Mushrooms》&#xff0c;即《有毒蘑菇的二分类预测》。与之前练习赛一样&#xff0c;这声比赛也同样适合初学者&#xff0c;但与之前不同的是&#xff0c;本次比赛的数据集有大量的缺失值&#xff0c;如何处…

没有找到c:\windows\system32\msrd3x43.dll。

打开鸭子串口工具&#xff0c;总会出现这个弹窗&#xff1b; 原因&#xff1a;没有以管理员身份运行 解决办法&#xff1a; 1.不用理会它&#xff0c;对串口工具运行没有任何影响。就算你下载了也没用&#xff0c;依然会有提示。 2.或者鼠标右键&#xff0c;以管理员身份运…