Page 1 of 1

基于T5平台(SMP)GUI开发一

Posted: 2026年 Apr 23日 15:06
by Jingxiao

基于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.png

1.2LVGL版本选择

  • lvgl option:配置LVGL版本、LVGL线程优先级和栈大小等相关设置

    2.png

    1.设置lvgl的版本,目前支持8和9的版本

    3.png

    2.设置lvgl线程和绘图线程的优先级和栈空间的大小,可直接使用默认配置。

    4.png

    3.根据数据传输协议的字节顺序进行颜色交换,确保数据格式于LCD要求的格式一致

    5.png

    4.设置SPI线程优先级,可使用默认配置。

    6.png

    5.配置ARM_2D图形处理库

    7.png

    6.设置开启LVGL库对TE信号的处理支持,主要用于LVGL 通过相应的信号和回调机制处理优化撕裂问题,需配合LCD的刷新率一起调试

    8.png

    7.在lvgl中开启dma2d用于图形和图像处理任务

    9.png

    8.在enable lvgl with dma2d已开启的前提下,DMA硬件打开复用模式可以给多个用途使用,比如LVGL刷屏和摄像头,避免同时抢占

    10.png

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结构后才能使用此功能
    11.png
  • enable file system:此配置支持用户使用littlefs和fatfs文件系统,使用flash和SD存储文件系统资源需打开。
  • enable ai app component:AI功能配置,支持音频功能,使用AI对话应用时需要打开此配置。
  • enable libjpeg_turbo app component、enable lib-freetype app componet:打开此配置后支持使用Tuya组件解码库,与原厂的解码库解耦,可选功能;不打开则默认使用原厂解码库。
    12.png

1.4图形应用选择

  • gui application:选择应用示例,可根据需要可选择不同的Tuya提供的应用demo或使用用户自己的应用。
    13.png
  • 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目录下。
    14.png

1.5硬件配置选择

硬件配置主要包括两个方面,UI屏幕配置与AI硬件配置,两者是互斥的。根据选择的应用示例不同,配置不同的硬件:

  • UI屏幕配置:除了选择使用tuya_ai_demo外的其他demo都需要用户自行选择屏幕相关硬件配置,根据模组的不同选择对应的屏幕接口类型,板子型号以及屏幕IC驱动,用户也可参照Tuya提供的相关驱动文件增加新的驱动。

    15.png
    16.png
  • AI相关配置:gui application中选择tuya_ai_demo才需要配置相关硬件,具体配置请参考WUKONG_AI配置

    17.png
    18.png

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 ,否则修改无效。

19.png