硬汉嵌入式论坛

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

[emWin] 请教舍去双图层换更多级缓存方案可行吗

[复制链接]

19

主题

31

回帖

88

积分

初级会员

积分
88
发表于 2018-7-26 19:26:25 | 显示全部楼层 |阅读模式
平台:stm32f429 + emwin5.4 + 8M SDRAM
问题:平台支持两个图层,我想只用一个图层,然后那第二个图层的RAM就可以省出来了,然后我增加多级缓存,请问这个方案是否可行?
回复

使用道具 举报

0

主题

34

回帖

34

积分

新手上路

积分
34
发表于 2018-7-26 20:06:21 | 显示全部楼层
可以,一般多层显示用软件做
回复

使用道具 举报

19

主题

31

回帖

88

积分

初级会员

积分
88
 楼主| 发表于 2018-7-27 08:50:40 | 显示全部楼层
szjx1212 发表于 2018-7-26 20:06
可以,一般多层显示用软件做

请问你有这么做过吗?我修改了软件,我把第二层的LCD显示缓存换成了空数组,结果显示不正常,花屏了。
回复

使用道具 举报

0

主题

34

回帖

34

积分

新手上路

积分
34
发表于 2018-7-27 10:15:19 | 显示全部楼层
只配置一个图层,我都是用单图层、三缓冲。
回复

使用道具 举报

19

主题

31

回帖

88

积分

初级会员

积分
88
 楼主| 发表于 2018-7-27 10:29:22 | 显示全部楼层
本帖最后由 张良 于 2018-7-27 10:36 编辑
szjx1212 发表于 2018-7-27 10:15
只配置一个图层,我都是用单图层、三缓冲。

非常感谢你的耐心回答,非常感谢。1.请问你的SDRAM是多大的?
2.你确定没有给第二层分配任何空间?
3.请问你的“LCDConf_Lin_Template.c”文件中以下几处是怎么写的?
  #define LCD_LAYER0_FRAME_BUFFER  EXT_SDRAM_ADDR
  #define LCD_LAYER1_FRAME_BUFFER  (LCD_LAYER0_FRAME_BUFFER + XSIZE_PHYS * YSIZE_PHYS * 4 * NUM_VSCREENS * NUM_BUFFERS)
  static LTDC_Layer_TypeDef       * _apLayer[]  = { LTDC_Layer1, LTDC_Layer2 };
  static const U32             _aAddr[]    = { LCD_LAYER0_FRAME_BUFFER, LCD_LAYER1_FRAME_BUFFER};

回复

使用道具 举报

0

主题

34

回帖

34

积分

新手上路

积分
34
发表于 2018-7-27 14:20:57 | 显示全部楼层
    /* Configure the LTDC */
    HAL_LTDC_Init(&hltdc_F);

    HAL_LTDC_DisableDither(&hltdc_F);
       
    /* Configure the single Layer 1 */
    HAL_LTDC_ConfigLayer(&hltdc_F, &pLayerCfg, 1); //只配置了这一层

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-17 09:14 , Processed in 0.251263 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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