存储类设备inand和norflash的区别表象小记及LCD显示原理

最近帮实验室师妹调程序,发现一个有趣的现象。

师妹想要在一块128×160的分辨率的TFT显示屏上显示图像。

第一次实验:采用的控制芯片为89C52单片机,该类型单片机采用的是512字节SRAM和8K的flash。

实验材料:一帧128×160的图片,大小为12KB。

实验过程:将该图片用取模软件取模之后加载到单片机中,报内存不足错误。

第二次实验:采用的控制芯片为STC12C5A60S2单片机,该类性单片机采用的是1280字节SRAM和60K的flash。

实验材料:一帧128×160的图片,大小为12KB。

实验过程:将图片取模加载到单片机中,发现正常显示。

实验分析总结:该实验让我想到以前学到的知识点:

inand和nandflash均需要初始化后才能使用,而norflash不需要初始化就可以使用。所以推测单片机中用的flash即为norflash,该实验验证了这个猜测。

一般情况下我们用LCD显示一副图像的步骤是:

(1)取模后的图像被下载烧录到ROM中。

(2)soc内部的LCD控制器将图片从ROM中读取到显存中。

(所谓显存,一般情况下就是在内存RAM中开辟的一段专用的内存,一般情况下像S5PV210这样的ARM芯片其能够用小分辨率屏幕显示大分辨率的图像,做法是,在内存中建立显存的时候建立一个大于有效显示区域的显存。将来加载大图像时,会一次性的将大图像全部加载进显存。然后通过移动有效显示区域就可以显示大图像的不同区域。)

(3)LCD控制器通过控制LCD驱动器初始化LCD,这样LCD像素点同显存直接映射起来就可以显示图像(具体过程由硬件完成)

接着返回到我们的开篇,我的发现是:拥有1280字节内存的单片机居然能显示12K的图片。显然,该图片不是放在内存里去了,那么它一定是被放在flash里去了。但是该图片的显示肯定不能读到内存中再映射到LCD上,那么就是在ROM中直接映射到LCD上了。这也解释了为什么8K的单片机无法显示该12K的图片。而能完成这一动作的只有norflash。所以验证了推论。

此外,还有一个推论验证,单片机的程序都是直接在norflash中运行的,而不是在内存中运行的。此外由flash中图片映射到lcd上可推测出:在单片机中flash同soc的连接线与内存同soc的连接线是一样的。

如有不正确之处,恳请指教!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值