硬汉嵌入式论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: eric2013
收起左侧

[LVGL] 基于V5,V6和V7的LVGL模板,驱动支持单缓冲,双缓冲和配合硬件消隐的双缓冲,以及电容和电阻触摸全支持(2023-07-19)

  [复制链接]

5

主题

50

回帖

65

积分

初级会员

积分
65
发表于 2024-10-30 21:04:37 | 显示全部楼层
本帖最后由 哲学家 于 2024-10-30 21:09 编辑

啊?那是我理解错了嘛,我理解的是前景层layer2,背景层layer1。我看到代码注释这里都写着前景层

        /* DMA2D采用存储器到存储器模式, 这种模式是前景层作为DMA2D输入 */
        DMA2D->CR      = 0x00000000UL | (1 << 9);
        DMA2D->FGMAR   = (uint32_t)pSrc;
        DMA2D->OMAR    = (uint32_t)pDst;
        DMA2D->FGOR    = OffLineSrc;
        DMA2D->OOR     = OffLineDst;
         
        /* 前景层和输出区域都采用的RGB565颜色格式 */
        DMA2D->FGPFCCR = LTDC_PIXEL_FORMAT_RGB565;
        DMA2D->OPFCCR  = LTDC_PIXEL_FORMAT_RGB565;
         
        DMA2D->NLR     = (uint32_t)(xSize << 16) | (uint16_t)ySize;

        /* 启动传输 */
        DMA2D->CR   |= DMA2D_CR_START;  

        /* 等待DMA2D传输完成 */
        while (DMA2D->CR & DMA2D_CR_START) {}

回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121176
QQ
 楼主| 发表于 2024-10-31 08:43:31 | 显示全部楼层
哲学家 发表于 2024-10-30 21:04
啊?那是我理解错了嘛,我理解的是前景层layer2,背景层layer1。我看到代码注释这里都写着前景层

    ...

不是。理解有误。
回复

使用道具 举报

2

主题

79

回帖

90

积分

初级会员

积分
90
发表于 2024-11-23 15:07:06 | 显示全部楼层
撕裂?我用的国产的MCU,是LVGL-8.3版本,运行这个Demo没有啥撕裂的感觉。屏幕是480*272。不知道上800*480会不会有撕裂。还没用DMA2D呢
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121176
QQ
 楼主| 发表于 2024-11-24 10:59:52 | 显示全部楼层
水水水木木木 发表于 2024-11-23 15:07
撕裂?我用的国产的MCU,是LVGL-8.3版本,运行这个Demo没有啥撕裂的感觉。屏幕是480*272。不知道上800*480 ...

测试10张完全不用颜色效果的图片,最快的速度轮换展示,就可以看到是否有撕裂了。
回复

使用道具 举报

30

主题

63

回帖

153

积分

初级会员

积分
153
发表于 2025-1-6 16:15:56 | 显示全部楼层
mark
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2026-1-13 14:53:05 | 显示全部楼层
请教下,配合"硬件消隐",这个硬件消隐是指哪一块呢?
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121176
QQ
 楼主| 发表于 2026-1-13 15:14:36 | 显示全部楼层
liuxiapqing 发表于 2026-1-13 14:53
请教下,配合"硬件消隐",这个硬件消隐是指哪一块呢?

视频详细介绍了这个问题

【实战技能】基于硬件垂直消隐的多缓冲技术在LVGL, emWin,GUIX和TouchGFX应用,含视频教程
https://forum.anfulai.cn/forum.p ... 0114&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

7

主题

47

回帖

68

积分

初级会员

积分
68
发表于 2026-1-16 14:12:34 | 显示全部楼层
以前用STM32H7B0做LVGL应用的时候还没有感觉,现在用STM32H743/H750是真的痛苦,内部RAM地址不连续。
比如我现在的应用,DTCM基本给RTOS来管理,任务栈用的。然后SDMMC1的文件系统相关内存需要用在AXI RAM中。
屏幕是1024*600的,LVGL自身运行的内存64K得要有吧,不能双buffer,单buffer就只能设置很小的一个区域。定义在外部SDRAM效率又低,因为显存是SDRAM要刷屏。
好蠢呀,这个设计。
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121176
QQ
 楼主| 发表于 2026-1-17 10:23:35 | 显示全部楼层
lyj41801 发表于 2026-1-16 14:12
以前用STM32H7B0做LVGL应用的时候还没有感觉,现在用STM32H743/H750是真的痛苦,内部RAM地址不连续。
比如 ...

有个512KB的连续RAM空间AXI SRAM
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-2-27 00:21 , Processed in 0.048657 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表