硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1067|回复: 6
收起左侧

[emWin] 双图层+多缓冲的缓冲区问题

[复制链接]

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2024-9-4 15:48:02 | 显示全部楼层 |阅读模式
本帖最后由 Fugh 于 2024-9-4 15:50 编辑

这两天在研究多缓冲问题,找到一份硬汉哥的程序,里面开启了LDTC双层显示,emwin里开启了三缓冲。如图

LTDC第一层的显存从sdram的起始位置(EXT_SDRAM_ADDR)开始,一帧的长度(g_LcdHeight * g_LcdWidth * 2)。
LTDC第二层的显存从第一帧的结束位置开始,也是一帧的长度。

emwin第一层缓冲区是从sdram的起始位置(EXT_SDRAM_ADDR)开始,大小是XSIZE_PHYS * YSIZE_PHYS * 4 * NUM_VSCREENS * NUM_BUFFERS。
emwin第二层缓冲区是从第一层缓冲区的结束位置开始。

那么问题来了,LTDC第二层的显存,完全落在emwin第一层的范围内,这不就重叠了吗?
实在想不明白,有哪位大神可以助我一臂之力,大谢!!
安富来 底层的层缓冲区和ltdc的两层缓冲重叠.bmp

V6-611_STemWin实验_双图层(RTOS).rar

12.33 MB, 下载次数: 5

回复

使用道具 举报

4

主题

1449

回帖

1461

积分

至尊会员

积分
1461
发表于 2024-9-4 16:43:27 | 显示全部楼层
帮忙顶!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116223
QQ
发表于 2024-9-5 08:56:59 | 显示全部楼层
emWin的这个是在函数_LCD_InitController里面配置的,不是裸机的bsp_tft_429.c
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
 楼主| 发表于 2024-9-11 15:39:15 | 显示全部楼层
eric2013 发表于 2024-9-5 08:56
emWin的这个是在函数_LCD_InitController里面配置的,不是裸机的bsp_tft_429.c

好吧,我理了下。如果emwin开启三缓冲,ldtc双层显示,那么缓冲区的情况应该是如图所示,是这样吗file:///C:/Users/lenovo/Desktop/Snipaste_2024-09-11_15-38-31.bmp
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116223
QQ
发表于 2024-9-12 07:53:54 | 显示全部楼层
Fugh 发表于 2024-9-11 15:39
好吧,我理了下。如果emwin开启三缓冲,ldtc双层显示,那么缓冲区的情况应该是如图所示,是这样吗

图片没上传成功。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
 楼主| 发表于 2024-9-12 08:43:29 | 显示全部楼层
本帖最后由 Fugh 于 2024-9-13 08:42 编辑
eric2013 发表于 2024-9-12 07:53
图片没上传成功。

双层三缓冲的缓冲区情况.bmp
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116223
QQ
发表于 2024-9-13 10:09:09 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 11:18 , Processed in 0.404562 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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