硬汉嵌入式论坛

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

STM32F429 + 16位SDRAM + LTDC 驱动 800x480 RGB565 屏幕,LVGL 局部刷新 + 硬件双缓冲时显示异常

[复制链接]

2

主题

0

回帖

6

积分

新手上路

积分
6
发表于 昨天 22:41 | 显示全部楼层 |阅读模式
背景
       我用的野火挑战者开发核心板V1,STM32F429,我正在使用 STM32F429 外挂 16 位 SDRAM(IS42S16400J-7TLI容量 8MB,FMC 接口),
通过 LTDC 驱动 800×480 RGB565 屏幕。
软件使用 LVGL v9,用的STM32F4标准库,希望通过 LTDC 硬件双缓冲(两个完整的帧缓冲区位于 SDRAM)实现无撕裂显示。
我单片机内部RAM空间有限,只能采用LVGL局部缓冲区方式,通过DMA2D将缓冲区搬运到LTDC显示缓冲区显示(显示异常)
问题现象
  • 屏幕会出现花屏小点。
  • 降低 LTDC 像素时钟后现象依然存在。

硬件平台
我的困惑
  • 在 16 位 SDRAM 带宽有限的情况下,如何正确实现硬件双缓冲 + LVGL 局部刷新,避免画面回退又不至于整帧复制?
  • 是否有现成的开源工程(STM32F429 + 16位 SDRAM + LTDC + LVGL)可以参考?
  • 是否存在更优的架构(如利用 LTDC 多层、使用 DMA2D 的特定模式)来避免整帧复制?

希望有经验的朋友指点迷津,提供代码示例或思路,感谢!

有白点

有白点

有白点

有白点

脏矩阵区域白点

脏矩阵区域白点

F429_767_挑战者V1核心板-原理图.pdf

163.48 KB, 下载次数: 0

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-25 03:49 , Processed in 0.182461 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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