野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18834|回复: 3

SDRAM是如何作为显存的?

[复制链接]
发表于 2020-11-11 11:52:03 | 显示全部楼层 |阅读模式
使用F429 跑GUI,但是有细节点不了解。就是很多资料说 F429使用SDRAM作为显存。
显存是图片的缓存,使用时调用。那么比如GUI使用emwin,emwin外扩SDRAM,定义分配内存大小,这样是不是就是配置显存成功了?
其他不用管了?
有了解的,麻烦详细讲解一波
回复

使用道具 举报

发表于 2020-11-11 19:26:43 | 显示全部楼层
不是这样的,可能你把显存和emwin动态内存搞混了,这两个不是一类东西。

F429上的显存指的是LTDC外设所使用的一块RAM区域,这块RAM用来存放一帧画面的数据,LTDC把显存中的内容发给LCD,就可以显示对应的内容,如果要修改画面内容,程序可以通过LTDC直接修改显存数据然后再发给LCD,一帧新的画面就显示出来了。
显存占用的大小等于LCD的分辨率*色彩深度,比如LTDC里设置的分辨率是800*480,LCD的色彩深度2字节16bit,那么显存占用的大小就是800*480*2字节,显存地址可以任意定义,不过一般情况MCU内部RAM是装不下的,所以基本上都定义在SDRAM中。

emwin的动态内存相当于emwin的工作内存区,它运行时所有的变量和数据都会放在里面。emwin有自己的动态内存管理函数,管理的RAM地址也是它自己的动态内存区,所以跟显存是两个完全独立的RAM区域。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-12 13:34:23 | 显示全部楼层
ZZZ_XXJ 发表于 2020-11-11 19:26
不是这样的,可能你把显存和emwin动态内存搞混了,这两个不是一类东西。

F429上的显存指的是LTDC外设所使 ...

版主你好。MCU或者fpga驱动LCD显示屏。所能带动显示屏的尺寸大小,是不是与MCU或者FPGA的主频速度,比如F429180MHZ,以及外扩的SDRAM大小(起码满足一帧大小)有关?
如果驱动的LCD任意大,比如30寸,50寸的LCD。只需要满足主控芯片的主频够快,且SDRAM内存够大就行?
回复 支持 反对

使用道具 举报

发表于 2020-11-12 14:53:32 | 显示全部楼层
莫西莫_qR666 发表于 2020-11-12 13:34
版主你好。MCU或者fpga驱动LCD显示屏。所能带动显示屏的尺寸大小,是不是与MCU或者FPGA的主频速度,比如F ...

FPGA不太清楚,MCU的话除了主频和SDRAM带宽以外,还跟屏幕驱动外设的参数有关,一般会有个能够驱动LCD的极限值,按分辨率算,比如STM32F429一直到H743官方给的极限值都是1024*768。但是这个只是能点亮屏幕的极限值,不一定有好的效果。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 04:32 , Processed in 0.047372 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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