[发明专利]在单任务中实现同时烧写多片NANDFLASH的方法有效
申请号: | 201010567329.8 | 申请日: | 2010-12-01 |
公开(公告)号: | CN102034543A | 公开(公告)日: | 2011-04-27 |
发明(设计)人: | 赵进云 | 申请(专利权)人: | 福建鑫诺通讯技术有限公司 |
主分类号: | G11C16/10 | 分类号: | G11C16/10;G11C16/06 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 翁素华 |
地址: | 350000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 实现 同时 烧写多片 nandflash 方法 | ||
【技术领域】
本发明涉及具有烧写NANDFLASH(NANDFLASH是一种存储介质)功能的终端产品,尤其涉及一种在单任务中实现同时烧写多片NANDFLASH的方法。
【背景技术】
在嵌入式终端生产中,一般都会在NANDFLASH贴片之前把软件烧写到NANDFLASH上,传统的烧写方法是:1、采用逐片烧写的方法,每次烧写一片。2、并发烧写,为每片分配一个单独的烧写任务。
在嵌入式终端功能单一,软件规模比较小的时候,上面两种都是很好的实现方式,因为这时候要烧写的程序镜像都会比较小。但是随着发展,嵌入式终端的功能越来越复杂,软件规模也变得庞大。要烧写的程序镜像也就变得很大,那这时候上面这两种方法就不能很好的满足要求了。程序镜像变大意味着要花费更多的时间才能完成一片的烧写,对于第一种串行化的逐片烧写的方式就会严重影响生产效率。第二种方式在一定程度上实现了并行化的烧写,当会随着要同时烧写的芯片数的增加,效率会急剧下降,也不能够到达生产效率的最大化。
【发明内容】
本发明要解决的技术问题,在于提供一种在单任务中实现同时烧写多片NANDFLASH的方法,克服了背景技术中,生产效率低的问题。
本发明是这样实现的:一种在单任务中实现同时烧写多片NANDFLASH的方法,首先从外部存储器读取要烧写的镜像文件,然后把镜像文件写入到母片中;在烧写的时候把母片中的数据导入到所有烧写座上的NANDFLASH芯片;在此过程中:采用在单线程任务中同时控制多片NANDFLASH芯片的信号引脚的方式对多片NANDFLASH芯片执行烧写操作;在错误处理的方式上:烧写代码每次都对所有的NANDFLASH芯片发起编程操作即先设置每块NANDFLASH芯片对应的地址,不跳过异常或不在位的NANDFLASH芯片,只要有一片编程成功,上层烧写代码获取到的编程状态都是成功的;当上层烧写代码获取异常或不在位的芯片的编程状态时,由烧写系统软件模拟返回成功。
本发明具有如下优点:本发明采用在单任务中对多片NANDFLASH芯片同时进行并发烧写的方法来代替传统的串行化的逐片烧写的方法和每片一个烧写任务的多任务方法,且在遇到烧写错误时进行了特殊处理,当上层烧写代码获取异常或不在位的芯片的编程状态时,由烧写系统软件模拟返回成功,这样使得烧写与生产效率大幅提高。
【附图说明】
图1是本发明测试平台的硬件框图。
图2是本发明的NANDFLASH芯片视图。
图3是本发明数据编程与烧写的流程示意图。
【具体实施方式】
下面参照附图结合实施例对本发明作进一步的说明。
一种在单任务中实现同时烧写多片NANDFLASH的方法,其实现步骤步骤如下:首先从外部存储器读取要烧写的镜像文件,然后把镜像文件写入到母片中;在烧写的时候把母片中的数据导入到所有烧写座上的NANDFLASH芯片;在此过程中:采用在单线程任务中同时控制多片NANDFLASH芯片的信号引脚的方式对多片芯片执行烧写操作;在错误处理的方式上:烧写代码每次都对所有的芯片发起编程操作即先设置每块NANDFLASH芯片对应的地址,不跳过异常或不在位的NANDFLASH芯片,只要有一片编程成功,上层烧写代码获取到的编程状态都是成功的;当上层烧写代码获取异常或不在位的芯片的编程状态时,由烧写系统软件模拟返回成功,所述的烧写系统软件模拟返回成功的方式是:在发现哪块NANDFLASH芯片烧写异常、错误时断开相应SN74HC245的电源,同时判断该NANDFLASH芯片RB脚状态的操作永远都返回READY状态,让读取此芯片I/O脚的操作也都返回成功状态。
本发明的烧写操作是通过在单任务中同时对所有芯片发起编程操作来实现伪并发的编程操作。由于消除了不必要的大量的任务上下文切换操作,而且在单处理器上不可能实现多任务的正在并发,所以单任务的伪并发烧写操作,效率大大高于多任务的伪并发烧写操作。
见图1,是本发明测试平台的硬件框图,包括外部存储器、CUP、母片、LCD、多片的SN74HC245芯片以及多片NANDFLASH芯片。用户从外部存储器读取要烧写的镜像文件,然后把镜像文件写入到母片中,LCD负责显示烧写的情况。
这里要说明的是:1、设置每块NANDFLASH芯片对应的地址通过以下代码实现:由于每一块NANDFLASH芯片的坏块布局是不一样的,所以需单独维护每一块芯片的编程地址,在发送编程地址时,需要设置每块芯片对应的地址。
for(i=0;i<CONFIG_EXT_NAND_NUM;++i){
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建鑫诺通讯技术有限公司,未经福建鑫诺通讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010567329.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:整体浴室的防滑底盘
- 下一篇:垫高的厨房地面泡沫混凝土体系