KDocs 研发资料库
  • 手表穿戴技术应用文档入口汇总
  • JL707N穿戴客述问题FAQ
  • 彩屏仓 硬件开发指南 与 量产作业流程规范
  • 彩屏仓 AC98N和JL701烧录升级注意事项
  • JL707 硬件开发资料
  • JL707 手表硬件设计注意事项 总结
  • 穿戴生产烧录OTA和key文件添加使用说明
  • JL707N-入门到进阶开发指导文档
  • 彩屏仓982相关
  • 彩屏仓耳机介绍
  • 杰理701_707双屏demo介绍
  • 707电子吧唧开发资料
  • GPIO相关
  • UART串口相关
  • SPI相关
  • nandflash相关
  • norflash相关
  • IIC相关
  • PWM相关
  • SD卡相关
  • 定时器TIMER
  • 文件系统接口设计说明文档
  • 音视频录像开发流程
  • rdec编码器
  • 穿戴功耗数据标准
  • 手表蓝牙开发文档
  • 701蓝牙PAN联网demo
  • BLE开发使用说明
  • 701手表2.0.0版本SDK EQ在线调试和离线调试方法 V1.1
  • JL707 手表喇叭输出声音大小评估方法 V1.0
  • JL707 手表音频EQ调试方法 V1.0
  • AC707N 手表通话写卡 软件配置方法
  • 录音功能
  • 701手表2.X.X系列SDK调试EQ配置方法及音频调试技巧V1.1
  • 701手表104版本SDK EQ在线调试和离线调试方法 V1.1
  • mic2dac示例
  • P11 SensorHub相关
  • 手表升级操作文档
  • AC707NGPU
  • DBI模块介绍
  • GPU模块介绍
  • 701N屏幕驱动配置说明
  • 701N_UI编辑工具用户手册
  • 支付宝资料
  • 支付宝硬件接入资料
  • 支付宝乘车码接入资料
  • CAT1 接入文档
  • 701N_WATCH_CAT1开发说明
  • Findmy功能
  • music模式相关
  • 707电池曲线
  • 707N内置FLASH挂载FAT文件系统251112_v1.2
  • AC707N_本地视频播放demo(AVI-MJPEG-PCM)
  • 光波导屏幕调试
  • 耳机研发和生产流程 指南
  • 707-NandFlash 代码和UI资源独立烧录方案
  • 彩屏仓时间同步补丁
  • 彩屏仓抖音点赞移植
  • 707LVGLv8双屏开发
  • 707N蓝牙互传图传demo
  • AVIPCM数据流接入AIVOICE
  • Flash分区操作demo
  • 手表发射问题
  • 701_707 双备份升级DEMO
  • 707_乘车码刷码失败问题_共性

707LVGLv8双屏开发

📎 原始文档:https://www.kdocs.cn/l/cgRScI8Ldzyf 707LVGLv8双屏开发

SDK版本:

707 LVGL8最小GPU系统实现.otl

  1. lvgl应用层与GPU渲染: image gpu_demo_task和lvgl_main的作用和联系:
  2. gpu_demo_task的作用:
  • 这是一个专门处理GPU任务的线程,主要负责GPU渲染相关的任务调度
  • 其主要工作流程是:
    1. 创建GPU信号量lv_gpu_sem用于同步
    2. 等待任务消息(os_taskq_pend)
    3. 收到消息后调用gpu_task_kick执行具体的GPU渲染任务
  • gpu_task_kick会具体处理:
    • 申请缓冲区
    • 根据区域大小分块渲染
    • 设置GPU任务列表和输出缓冲区
    • 执行GPU渲染
    • 将渲染结果通过DBI传输给LCD显示
  1. lvgl_main的作用:
  • 这是LVGL图形库的主入口函数
  • 主要完成:
    1. 初始化LVGL库(lv_init)
    2. 初始化硬件抽象层(hal_init)
    3. 创建和初始化UI界面
    4. 进入主循环处理LVGL任务(lv_timer_handler)
  1. 两者的联系:
  • lvgl_main作为上层应用,负责UI界面的构建和管理
  • 当LVGL需要进行实际渲染时,会通过lv_send_task_to_gpu函数将渲染任务发送给gpu_demo_task
  • gpu_demo_task作为底层驱动,负责实际的GPU硬件操作和渲染执行
  • 它们通过信号量(lv_gpu_sem)和消息队列实现同步和通信
  1. LVGLdemo中的信号量

2.1 lvgldemo入口 :app_task_init() -> lvgl_demo_task

lvgl相关代码可追踪 NEW_LVGL_V8_DEMO 进行查找
image

2.2 lv_buffer_sem与lv_te_sem

image

2.2.1 lv_buffer_sem

imageimageimageimage

2.2.2 lv_te_sem

imageimageimageimageimage 3. 关闭TE时的注意事项 SDK默认开启TE等待,通过te令UItask让出空闲时间。如果关闭了TE请在lvgl_main中添加delay,否则作为ui_task将一直占用,优先级不高于task的任务都无法运行。
imageimageimage 4. LVGL双屏框架介绍

4.1核心原理

通过两个task以及三个信号量实现一个双屏动画播放任务队列,double_lcd作为总循环主控任务,负责帧刷新以及设置刷新间隔,double_lcd_switch负责在双屏动画当前帧的显示过程中完成两个屏幕不同切图的显示。
flowchartimage

4.2 运行时序

flowchart

4.3 接口介绍(持续更新)

image

本文档包含以下子页面

  • 707 LVGL8最小GPU系统实现
Prev
彩屏仓抖音点赞移植
Next
707N蓝牙互传图传demo