搜索
bottom↓
回复: 15

字模太大,想存到外部DataFlash - AT45DB161

[复制链接]

出0入0汤圆

发表于 2008-1-10 14:13:57 | 显示全部楼层 |阅读模式
.. 字模占了20K,片子(AT91SAM7S64)受不了了..  

想把原来定义在FLASH里的字模数组如  const unsigned char picture[] = {0x20, 0x90, 0xFF. ...... 0x99};

放到一个外部的2M串行FLASH中去 ..

理论上应该是可行的,不知道会不会影响刷新显示的速度...      显示和FLASH都是4M SPI控制.

再有个问题就是,每个字模对应在FLASH中哪一页哪一字节开始到哪一页哪一个字节结束.还是个问题..因为每一个图片的大小都不一样..

希望兄弟门给点建议~~:)   regard Swordman~

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入162汤圆

发表于 2008-1-10 14:34:53 | 显示全部楼层
放在串行falsh 问题不大。以前我们做过,刷新速度还行。

用的是8051f020 ,20Mhz
320*240
我们比较偷懒,在pc上作了个组态软件,把界面按bmp格式生成文件保存在falsh中。
需要更改界面时,调出所在页面的bmp数据写屏,然后再写可变部分(变量)

二级字库全部写入串行flash

--------------------------

再简单一点的办法
你不要把全部字库都装入cpu 的flash,20k呢,太浪费。

做一个程序,将系统要用到的字做小字库,字模大小就很小了。

你用到200个不同的字,才2.4k

出0入0汤圆

发表于 2008-1-10 16:05:58 | 显示全部楼层
没问题的,我用的是凌阳的单片机做的液晶显示+串行Flash(字库),速度挺快的,没有迟缓现象。

出0入0汤圆

 楼主| 发表于 2008-1-10 20:52:34 | 显示全部楼层
做字库?
我用都是非标准的东西.. 自己取的字模..也有自己画的..呵呵.应该不能那样搞..

2楼没看懂你说的在PC上做的事情.. 我的屏很小128x64,CPU不快8MHz(SPI 1/2 Syscycle), 我已经想到办法把字模写到串行Flash了..

把字模挨个写进去...

pageaddress 字模写入的开始页地址(0~4095 in AT45DB161)
startbyte 字模写入的开始字节(0~527 in AT45DB161)
p         指向字模数组的指针
length       字模数组长度
pNextPage 将本字模写入后,通过指针将下一个字模写入的页面地址给出
pNextStartByte 将本字模写入后,通过指针将下一个字模写入的字节给出

void WirteMODtoDataFlash(unint32 pageaddress, unint32 startbyte, unint8 *p, unint32 length, unint32 pNextPage, unint32 pNextStartByte)
{

}

WriteMODtoDataFlash(0, 0, PICTURE1, sizeof(PICTURE1)/sizeof(*PICTURE1), NextPage, NextByte);
WriteMODtoDataFlash(NextPage, NextByte, PICTURE2, sizeof(PICTURE1)/sizeof(*PICTURE1), &NextPage, &NextByte);
WriteMODtoDataFlash(NextPage, NextByte, PICTURE3, sizeof(PICTURE1)/sizeof(*PICTURE1), &NextPage, &NextByte);
...

这样PICTURE1,PICTURE2,PICTURE3就顺序存在DATAFLASH里了,PICTURE1从第0页第0字节开始,PICTURE2开始的地方由PICTURE1大小决定.
..函数内部只需要判断换页就行(用了递归)..(一页只有528字节)


问题要显示的时候是读到一个固定大小的缓冲区?还是读一个字节显示一个字节..  在考虑ing.
欢迎大家讨论阿

出0入0汤圆

发表于 2012-2-11 12:42:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-18 14:02:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-6-20 11:07:43 | 显示全部楼层
你问题解决了吗?怎么解决的?我也遇到同样问题。求帮助

出0入0汤圆

发表于 2012-12-25 10:02:08 | 显示全部楼层
本帖最后由 zqliao88 于 2012-12-25 10:03 编辑

我也遇到类似的问题,我的是:TFT+AT45DB321D+MCU的,将图片分割成小图片,但还是有20多K,存入AT45DB321D中,每次换屏的时候总是从AT45DB321D中按每页读取数据,来驱动TFT的像素点来显示的。但遇到问题是,第一次读取读取数据后显示到TFT,接着从AT45DB321D读取下一页,这时的数据变成了一整排列0XFF和0x00,怎么回事?有做过类似的大哥,提出建议,帮忙解决!谢了,补充一点,第一次读取数据是正确的

出0入0汤圆

发表于 2012-12-25 10:33:35 | 显示全部楼层
http://www.amobbs.com/thread-5512073-1-1.html
我写的一个位图转换工具.请大家试用.

出0入0汤圆

发表于 2012-12-25 10:34:29 | 显示全部楼层
问题搞定没

出0入0汤圆

发表于 2012-12-25 10:42:39 | 显示全部楼层
没有,有搞过的吗,请出手帮忙回帖!

出0入264汤圆

发表于 2012-12-25 10:44:45 来自手机 | 显示全部楼层
2楼是最简单方便可行,易于维护修改的方法,当然前提条件是需要有人会组态上位机程序开发。液晶界面开发,组态一定是趋势,到时候就不会存在你们说的这些问题了,所有界面设计几分钟就可以完成。

出0入0汤圆

发表于 2012-12-25 10:57:59 | 显示全部楼层
我这个没有和PC上位机的接口通讯的,是不是这样就实现不了!

出0入0汤圆

发表于 2012-12-25 11:09:25 | 显示全部楼层
选 at45db会让你生不如死,,,,选其他傢的吧

出0入0汤圆

发表于 2012-12-25 11:18:49 | 显示全部楼层
有什么好推荐?

出0入0汤圆

发表于 2013-3-22 10:12:52 | 显示全部楼层
jetli 发表于 2012-12-25 11:09
选 at45db会让你生不如死,,,,选其他傢的吧

为什么阿?这个不是很经典的芯片么?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 01:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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