硬汉嵌入式论坛

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

[emWin] 请教关于RGB屏幕 emwin 里面的各种缓冲问题

[复制链接]

57

主题

908

回帖

1079

积分

至尊会员

积分
1079
发表于 2017-9-11 21:53:10 | 显示全部楼层 |阅读模式
RGB屏比如用到外部的SDRAM
现在STm32挂一个32M的SDRAM   +  RGB屏幕   + emwin

里面有这样几个比较大的缓冲。

一:  本身驱动里面的   

//帧缓存地址
#if LCD_PIXFORMAT==LCD_PIXFORMAT_ARGB8888||LCD_PIXFORMAT==LCD_PIXFORMAT_RGB888
    uint32_t ltdc_lcd_framebuf[LCD_XSIZE_PHYS][LCD_YSIZE_PHYS] __attribute__((at(0xC0000000)));  //最大分辨率时 /帧缓存大小
#else
    uint16_t ltdc_lcd_framebuf[LCD_XSIZE_PHYS][LCD_YSIZE_PHYS] __attribute__((at(0xC0000000)));   
#endif

二:  emwin本身用到的

static U32 extMem[GUI_NUMBYTES / 4] __attribute__((at(0xC0000000)));  


三: 还有两个移植的 每一层的缓冲区

#define LCD_LAYER0_FRAME_BUFFER  ((uint32_t)0xC0000000)     
#define LCD_LAYER1_FRAME_BUFFER  ((uint32_t)0xC0300000)   


这三个 是否可以合并一下之类?  要是为了图方便都用最大分辨率。太浪费RAM了。。。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2017-9-12 10:07:43 | 显示全部楼层
具体你可以按照你使用的大小,连续安排地址即可。
回复

使用道具 举报

12

主题

59

回帖

95

积分

初级会员

积分
95
发表于 2019-12-30 15:45:49 | 显示全部楼层
eric2013 发表于 2017-9-12 10:07
具体你可以按照你使用的大小,连续安排地址即可。

我不太明白LCD_LAYER0_FRAME_BUFFER  配置的是0xC0000000地址,ltdc_lcd_framebuf也是0xC0000000,那不是冲突了吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 17:35 , Processed in 0.290876 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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