极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13792|回复: 2

低阶单片机扩展flash空间的实验招数共享

[复制链接]
发表于 2017-7-19 16:05:08 | 显示全部楼层 |阅读模式
本帖最后由 zdzdzddd 于 2017-7-28 08:49 编辑

      外扩flash代码空间对所有单片机本不是问题,问题是若还想用串口载入数据就对单片机有要求了。按常规串口载入得开辟2个很大的缓冲数组(如256字节)分时倒换数据,内存开销忒大,以至于俺这里“在用量”极大的STC的256SRAM档芯片都不能运行,太不公平了。因此俺决意要尝试突破、搞掂维权的科学实践。   不料俺的机缘和运气都很好,刚好有现成的实验板、网购的一片8M字节flashMX25L6404只要1块钱、板上刚好有个8pin时钟芯片位置刚好安放8M字节的flash芯片,供电引脚刚好一致、就近改接STC芯片的SPI口方便极了、网络烧友刚好又有许多切合俺参考的现成代码。几经小试惊奇如意之感受真是大大的。在这先不待显掰,只说说切题要点。
    俺先用2K内存的IAP15F2K61实验,使用STC下载软件附带的“串口助手”就能够方便的载入多达8M字节得数据了。原来STC芯片最大也只61K字节代码空间,塞进一幅128X160彩图有40.96K字节要占去STC芯片的大半空间,曾叫俺心痛不已。而现在放200幅图片不在话下。俺常用的40X72大点阵仪表数字符再多都不会发愁了。
    可是,若改用1K内存的芯片就尽出问题,不能稳定工作了。在256字节内存的RIC15W154实验板上竟然还无法启动,进不去界面。都这内存开销给闹的。不过俺还是得尝试变通,笃定要让广大的低内存单片机都可幸享受这flash“优厚的福利”。
    最后俺尝试的两招式终于有了成效。1是设置程序为“按键加电”的方式进入flash的串口转载状态,这样就有条件独享单片机的有限资源了。2是把原来的两个缓冲区数组Copybuf[250]和 Uartbuf[250]分别调降为[32],其他散碎数组尽量精简复用。如此,不得已繁琐了一点数据处理过程、牺牲了一点运行速度,好歹叫程序能够顺利运行了、串口数据能够由此成功载入了。
    有图为证:


1块钱的MX25L6406flash,2块8的IRC15W415单片机(价廉功能贱SRAM只有512字节、程序空间只14K字节)。


3块钱的128X160彩屏MT1D66B(TL1771方案)这屏便宜是因为只有并口要消费很多I\O,又是2串LED背光要过6V才能起辉,用起来麻烦。


现成的板子,8pin时钟芯片位置正好安放8M的flash贴片,就近改连STC的SPI口方便极了。








































本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2017-7-20 09:52:42 | 显示全部楼层
干的不错。               
回复 支持 反对

使用道具 举报

发表于 2017-7-27 10:12:34 | 显示全部楼层
不错,文字有点多。插着图片看会更舒服。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 04:03 , Processed in 0.040053 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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