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

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

时间:2024-08-25 13:26:35浏览次数:15  
标签:12 界面 vscode GUI 开发板 选择 编译 点击 Guider

一、前言

接下来我们根据开发板官方的指南安装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.2https://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上时做更多的说明。

标签:12,界面,vscode,GUI,开发板,选择,编译,点击,Guider
From: https://blog.csdn.net/weixin_39510813/article/details/141528322

相关文章

  • 【12.1 python中的异常概述】
    概述python中的异常Python中的异常(Exception)是一种在程序执行期间发生,且会扰乱程序正常流程的事件。异常是Python用来响应错误和异常情况的一种机制,它允许程序在遇到错误时优雅地处理它们,而不是突然崩溃并停止执行。异常处理对于开发健壮、可靠和用户友好的应用程序至关重......
  • Ros2 vscode 调试运行
    1.编译调试版本:在使用colconbuild编译工作区时,你需要确保以调试模式编译,添加--cmake-args-DCMAKE_BUILD_TYPE=Debug参数:colconbuild--cmake-args-DCMAKE_BUILD_TYPE=Debug2.使用gdb进行调试gdb是一个常用的调试工具,可以帮助你在命令行中调试ROS2节点。步......
  • MAP1202量产工具找到了!MAP1202量产工具下载,量产部落MAP1202开卡软件分享
    国内固态硬盘常用,且有量产工具流传出来的主控厂商包括慧荣、群联、点序、英韧、得一微、瑞昱、联芸、迈威、国科、华澜微等等。每个主控需要用各自对应的量产工具,不同的量产工具支持的闪存颗粒也有差异,因此要根据固态硬盘实际的主控型号、闪存制程下载量产工具,目前比较推荐的M......
  • 第12章 网络 (2)
    目录12.5网络命名空间12.6套接字缓冲区12.6.1使用sk_buff管理数据12.6.2管理套接字缓冲区数据本专栏文章将有70篇左右,欢迎+关注,查看后续文章。12.5网络命名空间一个网卡可能只在某个特定命名空间可见。struct  net:        表示一个网络命名空间,......
  • 代码随想录第16天:513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造
    513.找树左下角的值,层序遍历//找树左下角的值,用层序遍历很容易实现#include<iostream>#include<queue>structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(nullptr),right(nullptr){}};//找到最底层......
  • 2.ros2创建话题+发布消息(VScode环境搭建+编写)
    前言:这是在1.ROS2安装-创建节点的基础上进行改进的,由于ubuntu自带的nano和vim在编写的时候不是很方便,在这教大家怎么用VScode进行编写代码1.Vscode安装1.1下面是Vscode的deb网盘连接,你也可以去官网下载        官网连接:DownloadVisualStudioCode-Mac,Linux,......
  • AP5160 电压2.5-100V 电流12A PWM 调光 大功率LED驱动 手电筒与摩托车照明方案
    产品描述AP5160是一款效率高,稳定可靠的LED灯恒流驱动控制芯片,内置高精度比较器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率LED恒流驱动。AP5160采用SOT23-6封装,通过调节外置电流检测的电阻值来设置流过LED灯的电流,从而设置LED灯的亮度,外驱MOS管最大输出电流可达......
  • Java 12 新特性—Switch 表达式
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......
  • Java 12 新特性—新增 String API
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......
  • 【C++】12.智能指针
    在上一篇博客【C++】11.异常中我们知道有些时候会造成内存空间的未释放从而导致内存泄漏,因此本篇博客的内容就是如何减少内存泄漏——智能指针。一、RAIIRAII(ResourceAcquisitionIsInitialization)是一种利用对象生命周期来控制程序资源的简单技术,因此又被称为资源获取......