基于T5平台在SMP框架下的GUI开发分为两个帖子,分别为图形化应用配置相关说明和GUI应用说明两部分,GUI开发一为应用配置相关说明,GUI开发二为GUI初始化相关接口及应用,GUI开发二的链接为https://www.tuyaos.com/viewtopic.php?p=25640#p25640。
1.应用配置图形化选择
为了方便用户在固件编译阶段仅编译选产品相关的应用与指定的LVGL版本,支持通过图形化选择来配置相关应用。
首次进入图形化配置界面前执行命令行./build_app.sh apps/T5_gui_demo_quickstart T5_gui_demo_quickstart 1.0.0 clean ,然后输入命令行 make app_menuconfig APP_NAME=T5_gui_demo_quickstart ,"T5_gui_demo_quickstart“为应用名称,1.0.0为版本号,用户可修改为自己的应用名称,进入以下图形界面。
1.1CPU框架选择
- tuya module type:配置使用的模组,可选择T5或者T2模组。
- enable cpu smp architecture:配置SMP结构,当前SDK为SMP结构,此功能必须打开。
1.2LVGL版本选择
lvgl option:配置LVGL版本、LVGL线程优先级和栈大小等相关设置
1.设置lvgl的版本,目前支持8和9的版本
2.设置lvgl线程和绘图线程的优先级和栈空间的大小,可直接使用默认配置。
3.根据数据传输协议的字节顺序进行颜色交换,确保数据格式于LCD要求的格式一致
4.设置SPI线程优先级,可使用默认配置。
5.配置ARM_2D图形处理库
6.设置开启LVGL库对TE信号的处理支持,主要用于LVGL 通过相应的信号和回调机制处理优化撕裂问题,需配合LCD的刷新率一起调试
7.在lvgl中开启dma2d用于图形和图像处理任务
8.在enable lvgl with dma2d已开启的前提下,DMA硬件打开复用模式可以给多个用途使用,比如LVGL刷屏和摄像头,避免同时抢占
1.3 功能组件选择
- enable TUYA_UI:打开UI功能将启动涂鸦UI演示代码
- enable TUYA_UIDP_CONVERT:打开UI控件和DP联动能力,实现DP上报和下发通知
- enable LingDong-GUI:配置后可以使用灵动GUI绘制UI页面
- enable image directly refreshes to screen:支持图片直接刷屏功能,不使用LVGL;直接刷屏的图片长宽需要和屏幕物理长宽保持完全一致。配置SMP结构后才能使用此功能
- enable file system:此配置支持用户使用littlefs和fatfs文件系统,使用flash和SD存储文件系统资源需打开。
- enable ai app component:AI功能配置,支持音频功能,使用AI对话应用时需要打开此配置。
- enable libjpeg_turbo app component、enable lib-freetype app componet:打开此配置后支持使用Tuya组件解码库,与原厂的解码库解耦,可选功能;不打开则默认使用原厂解码库。
1.4图形应用选择
- gui application:选择应用示例,可根据需要可选择不同的Tuya提供的应用demo或使用用户自己的应用。
- tuya_ai_demo:AI玩具对话应用使用AI玩具应用时enable ai app component会强制同步打开;使用AI功能需要选择V8版本的LVGL。
- tuya_basic_demo:图像基本功能应用,包括基本组件、图像显示等
- tuya_img_direct_flush_demo:图像刷屏演示应用,可以使用整张图片直接刷屏显示。使用时会同步强制打开image directly refreshes to screen配置。
- tuya_tileview_demo:tileview拼接平铺视图控件应用示例,展示不同视图滑动切换效果。
- user_gui_app:用户自己创建的应用,默认是没有这个目录的。用户需要自己创建应用并且文件名固定为user_gui_app并放置在src/gui目录下。
1.5硬件配置选择
硬件配置主要包括两个方面,UI屏幕配置与AI硬件配置,两者是互斥的。根据选择的应用示例不同,配置不同的硬件:
UI屏幕配置:除了选择使用tuya_ai_demo外的其他demo都需要用户自行选择屏幕相关硬件配置,根据模组的不同选择对应的屏幕接口类型,板子型号以及屏幕IC驱动,用户也可参照Tuya提供的相关驱动文件增加新的驱动。
AI相关配置:gui application中选择tuya_ai_demo才需要配置相关硬件,具体配置请参考WUKONG_AI配置
1.6生成配置文件
配置完成后保存当前配置,退出图形化配置界面,然后运行 make app_config APP_NAME=T5_gui_demo_quickstart ,T5_gui_demo_quickstart是项目名称,生成新的include/tuya_app_config.h文件,每次修改配置前都要执行一次清除命令./build_app.sh apps/T5_gui_demo_quickstart T5_gui_demo_quickstart 1.0.0 clean ,否则修改无效。