CN115827032A - 存储器的烧录方法、装置、电子设备及存储介质 - Google Patents
存储器的烧录方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115827032A CN115827032A CN202211600106.6A CN202211600106A CN115827032A CN 115827032 A CN115827032 A CN 115827032A CN 202211600106 A CN202211600106 A CN 202211600106A CN 115827032 A CN115827032 A CN 115827032A
- Authority
- CN
- China
- Prior art keywords
- memories
- memory
- write
- writing
- erasing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 358
- 238000003860 storage Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000014759 maintenance of location Effects 0.000 claims abstract description 48
- 238000004590 computer program Methods 0.000 claims description 27
- 238000012795 verification Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 17
- 235000015429 Mirabilis expansa Nutrition 0.000 description 8
- 244000294411 Mirabilis expansa Species 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 235000013536 miso Nutrition 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 101001084254 Homo sapiens Peptidyl-tRNA hydrolase 2, mitochondrial Proteins 0.000 description 4
- 102100030867 Peptidyl-tRNA hydrolase 2, mitochondrial Human genes 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Read Only Memory (AREA)
Abstract
本申请适用于存储器烧录技术领域,提供了一种存储器的烧录方法、装置、电子设备及存储介质,该方法包括:与待烧录的N个存储器建立连接;同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作;若所述N个存储器均已完成擦除操作,则再次与所述N个存储器建立连接;同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件;若所述N个存储器均已完成写入操作,则依次读取所述N个存储器中的数据,得到N组数据,并将所述N组数据依次与所述固件进行比较,若全部一致,则确定烧录成功,从而解决对2个以上存储器进行烧录时,因烧录时间比较长,导致用户使用体验差的问题。
Description
技术领域
本申请属于存储器烧录技术领域,尤其涉及一种存储器的烧录方法、装置、电子设备及存储介质。
背景技术
当今,由于大部分串行外设接口(Serial Peripheral Interface,SPI)-FLASH能支持3Mbps的较高速度读写,因此使用SPI-FLASH烧录固件的嵌入式系统已经非常普及。
然而,现有的烧录方法,烧录器需要逐个对FLASH进行烧录。比如,若嵌入式系统中有N(N为大于等于2的自然数)个FLASH,则需要烧录器依次对N个FLASH进行烧录,总的烧录时间相当于是单个FLASH烧录时间的N倍。
综上,现有的烧录方法,在嵌入式系统中有2个或者2个以上FLASH时,烧录时间比较长,用户使用体验差。
发明内容
本申请实施例提供了一种存储器的烧录方法、装置、电子设备及存储介质,可以解决因嵌入式系统中有2个或者2个以上FLASH时,烧录时间比较长,导致用户使用体验差的问题。
第一方面,本申请实施例提供了一种存储器的烧录方法,应用于存储器的烧录系统的主控制器中,所述方法包括:
与待烧录的N个存储器建立连接,其中,N为大于或者等于2的自然数;
同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作;
若所述N个存储器均已完成擦除操作,则再次与所述N个存储器建立连接;
同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件;
若所述N个存储器均已完成写入操作,则依次读取所述N个存储器中的数据,得到N组数据,并将所述N组数据依次与所述固件进行比较,若全部一致,则确定烧录成功,其中,一组数据与一个所述存储器对应。
可选的,所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作,包括:
同时向所述N个存储器发送分批擦除指令,根据所述分批擦除指令以及所述固件的大小按照逐个扇区擦除的方式同时对所述N个存储器执行擦除操作。
可选的,所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件,包括:
同时向所述N个存储器发送分批写入指令,根据所述分批写入指令以及所述固件的大小按照逐页写入的方式同时向所述N个存储器中写入固件。
可选的,在所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作之前,或者,在所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件之前,还包括:
同时向所述N个存储器发送写使能指令,以使所述N个存储器根据所述写使能指令进入写就绪状态;
判断所述N个存储器是否进入写就绪状态。
可选的,所述判断所述N个存储器是否进入写就绪状态,包括:
步骤1、与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
步骤2、向所述第M个存储器发送读状态位指令;
步骤3、读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写就绪状态位;
步骤4、根据所述写就绪状态位判断所述第M个存储器是否进入写就绪状态;
步骤5、若所述第M个存储器进入写就绪状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写就绪状态。
可选的,在所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作之后,或者,在所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件之后,还包括:
判断所述N个存储器是否进入写完成状态,若所述N个存储器均进入写完成状态,则判定所述N个存储器均已完成擦除操作或者所述N个存储器均已完成写入操作。
可选的,所述判断所述N个存储器是否均进入写完成状态,包括:
步骤1、与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
步骤2、向所述第M个存储器发送读状态位指令;
步骤3、读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写完成状态位;
步骤4、根据所述写完成状态位判断所述第M个存储器是否进入写完成状态;
步骤5、若所述第M个存储器进入写完成状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写完成状态。
第二方面,本申请实施例提供了一种存储器的烧录装置,应用于存储器的烧录系统的主控制器中,所述存储器的烧录装置包括:
第一连接模块,与待烧录的N个存储器建立连接,其中,N为大于或者等于2的自然数;
擦除模块,用于同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作;
第二连接模块,若所述N个存储器均已完成擦除操作,则再次与所述N个存储器建立连接;
写入模块,用于同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件;
校验模块,用于若所述N个存储器均已完成写入操作,则依次读取所述N个存储器中的数据,得到N组数据,并将所述N组数据依次与所述固件进行比较,若全部一致,则确定烧录成功,其中,一组数据与一个所述存储器对应。
可选的,所述擦除模块,包括:
擦除单元,用于同时向所述N个存储器发送分批擦除指令,根据所述分批擦除指令以及所述固件的大小按照逐个扇区擦除的方式同时对所述N个存储器执行擦除操作。
可选的,所述写入模块,包括:
写入单元,用于同时向所述N个存储器发送分批写入指令,根据所述分批写入指令以及所述固件的大小按照逐页写入的方式同时向所述N个存储器中写入固件。
可选的,所述存储器的烧录装置,还包括:
指令发送模块,用于同时向所述N个存储器发送写使能指令,以使所述N个存储器根据所述写使能指令进入写就绪状态;
写就绪判断模块,用于判断所述N个存储器是否进入写就绪状态。
可选的,所述写就绪判断模块,包括:
第一连接控制单元,用于与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
第一指令发送单元,用于向所述第M个存储器发送读状态位指令;
第一状态位读取单元,用于读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写就绪状态位;
单写就绪判断单元,用于根据所述写就绪状态位判断所述第M个存储器是否进入写就绪状态;
全写就绪判断单元,用于若所述第M个存储器进入写就绪状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写就绪状态。
可选的,所述存储器的烧录装置,还包括:
写完成判断模块,用于判断所述N个存储器是否进入写完成状态,若所述N个存储器均进入写完成状态,则判定所述N个存储器均已完成擦除操作或者所述N个存储器均已完成写入操作。
可选的,所述写完成判断模块,包括:
第二连接控制单元,用于与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
第二指令发送单元,用于向所述第M个存储器发送读状态位指令;
第二状态位读取单元,用于读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写完成状态位;
单写完成判断单元,用于根据所述写完成状态位判断所述第M个存储器是否进入写完成状态;
全写完成判断单元若所述第M个存储器进入写完成状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写完成状态。
第三方面,本申请实施例提供了一种电子设备,包括:
存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述的存储器的烧录方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的存储器的烧录方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的存储器的烧录方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:由于在对2个或者2个以上的存储器进行烧录时,可以同时对2个或者2个以上的存储器执行擦除操作,以及,可以同时向2个或者2个以上的存储器写入固件,即,在烧录过程中,并行对多个待烧录存储器执行擦除操作,以及并行向多个待烧录存储器写入固件,而并行执行擦除操作以及并行写入固件所需要的时间少于串行执行擦除操作以及串行写入固件所需要的时间,因此,本申请的存储器的烧录方法可以提高烧录速度,进而可以解决因嵌入式系统中有2个或者2个以上FLASH时,烧录时间比较长,导致用户使用体验差的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的存储器的烧录方法的流程示意图;
图2是本申请一实施例提供的存储器的烧录系统的结构示意图;
图3是本申请一实施例提供的USB控制芯片的引脚以及每个引脚对应的信号的示意图;
图4是本申请一实施例提供的转换芯片0和转换芯片1的引脚以及每个引脚对应的信号的示意图;
图5是本申请一实施例提供的Flash0和Flash1的引脚以及每个引脚对应的信号的示意图;
图6是本申请一实施例提供的测试数据示意图;
图7是本申请一实施例提供的存储器的烧录装置的结构示意图;
图8是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在某一些场景中,固件是为了实现主从备份、主从拼接的方式来实现指定功能,比如基于TI的DLP4710技术,就用到2个3479主控制器,2个存储固件的FLASH从设备,用于实现左右画面的拼接投影。实现左右画面的拼接投影时,烧录到2个FLASH中的原始固件是完全相同的。
然而,传统的烧录过程是主控制器通过片选信号,挨个选择一个FLASH从设备进行擦除、写入以及读取校验这3大步骤来对各个FLASH进行烧录。传统烧录过程,如果只是对2个FLASH进行烧录,总的烧录时间相当于是单个FLASH烧录时间的2倍,如果烧录2个以上FLASH设备则烧录时间更长。针对这类情况迫切需要一种方法能加速烧录过程。
对SPI-FLASH常见改进有Dual SPI(简称DSPI)和Queued SPI(简称QSPI),虽然改造DSPI或QSPI理论上是可以加速读写的传输过程,但是需要主从设备都支持。有时候受限芯片资源无法直接替换主控制器芯片和Flash类型,在不改变SPI电路的情况下,可以另辟蹊径只改变电路控制方式达到加速烧录的方式可能是最优的。
本申请实施例中,由于主控制器的擦除和写入数据的指令内容都是相同,并且根据SPI读写控制协议,主控制器原则上是可以支持同时擦除,同时写入2个或多个FLASH,只有在读取校验的时候,为了保证写入数据的真实性,还是采用串行挨个对写入FLASH的数据进行校验。而由于读取本身的速度相对擦除、写入都要快很多,所以对2个进行烧录所用的总的烧录时间是相当于1.2~1.5个单FLASH的烧录时间,如果对2个以上的FLASH进行烧录,则会节省更多的时间。
下面结合附图对本申请实施例的存储器烧录的方法进行描述。
图1示出了本申请实施例提供的存储器的烧录方法的流程示意图,如图1所示,该方法可应用于存储器的烧录系统的主控制器中,包括步骤S110至S150。各个步骤的具体实现原理如下:
S110,与待烧录的N个存储器建立连接,其中,N为大于或者等于2的自然数。
存储器的烧录系统中包括主控制器和至少N个存储器,其中,N为大于或者等于2的自然数。存储器可以为EEPROM,也可以为FLASH等其他SPI存储器。
在本申请实施例中,主控制器为一上位机,存储器为FLASH。存储器的烧录系统中还包括USB控制芯片、转换芯片,如图2所示。
图2所示的存储器的烧录系统中包含2个转换芯片和2个FLASH。其中,转换芯片的数量与FLASH的数量一一对应,后续可以以存储器的烧录系统中包含2个转换芯片和2个FLASH为例来进行说明。
在图2中,上位机通过USB线与USB控制芯片连接,USB控制芯片分别与转换芯片0和转换芯片1连接,转换芯片0和转换芯片1分别与Flash0和Flash1连接。
USB控制芯片可以为CY7C65215-32LTXI(支持标准SPI,不支持DSPI,QSPI),Flash0和Flash1可以为GD25Q64EWIGR(支持SPI,DSPI,QSPI),在此不做具体限制。
USB控制芯片的引脚以及每个引脚对应的信号如图3所示。其中,引脚8、5和6分别是clk、MISO和MISI,通过CLK控制频率,通过MISO和MOSI读写数据。
转换芯片0和转换芯片1的引脚以及每个引脚对应的信号如图4所示,其中,转换芯片0对应图4的U49,转换芯片1对应图4的U50。
Flash0和Flash1的引脚以及每个引脚对应的信号如图5所示,其中,Flash0对应图5的U113,Flash1对应图5的U111。
USB控制芯片的引脚8、5和6可以分别与转换芯片引脚8、5和6对应连接,进行SPI数据的传输。
转换芯片的引脚11、12、13和14可以分别与FLASH的引脚1、6、2和5对应连接,进行SPI数据的传输。
USB控制芯片的GPIO8和GPIO14分别与U49和U50的引脚9连接,GPIO8和GPIO14输出的信号可以作为片选信号使U49和/或U50的使能信号(Output Enable,OE)置为低电平。
需要说明的是,这里的片选其实是通过启用两个转换芯片的OE信号来实现的,而Flash0和Flash1的片选信号CS0和CS1始终下拉启用,并不需要再单独控制,这样做的好处是,在不启用使能信号OE时,可以完全隔离上位机与FLASH的连接。
具体的,上位机可以发送连接指令至USB控制芯片,通过USB控制芯片控制转换芯片0和转换芯片1的使能信号OE来控制上位机与相应的FLASH建立连接。
转换芯片0和转换芯片1的引脚11分别对应Flash0和Flash1的片选信号引脚CS0和引脚CS1,当连接指令中携带的片选信号CS0为低电平时,转换芯片0的使能信号OE为低电平,上位机可以与Flash0建立连接;当连接指令中携带的片选信号CS1为低电平时,转换芯片1的使能信号OE为低电平,上位机与Flash1建立连接;当连接指令中携带的片选信号CS0为低电平,片选信号CS1也为低电平时,转换芯片0和转换芯片1的使能信号OE均为低电平,上位机与Flash0和Flash1均建立连接。
其中,若连接指令中携带的片选信号CS0和CS1均为低电平时,上位机可以与Flash0和Flash1建立连接,待烧录的2个FLASH同时进入待命状态,等待接受上位机发送的烧录指令。
S120,同时向上述N个存储器发送擦除指令,根据上述擦除指令同时对上述N个存储器执行擦除操作。
由于FLASH执行烧录操作时,分为三个步骤,分别为擦除、写入和读写校验,因此,在本申请实施例中,在与待烧录的2个FLASH建立连接后,待烧录的2个FLASH同时进入待命状态,等待执行擦除操作。上位机通过USB线发送擦除指令给USB控制芯片后,USB控制芯片可以将擦除指令同时发送给转换芯片0和转换芯片1,由转换芯片0和转换芯片1的MOSI引脚同时将擦除指令发送给Flash0和Flash1,Flash0和Flash1同时接收到擦除指令后,可以同时执行擦除操作。
S130,若上述N个存储器均已完成擦除操作,则再次与上述N个存储器建立连接。
在本申请实施例中,可以依次判断Flash0和Flash1是否完成擦除操作,在Flash0和Flash1均已完成擦除操作后,才能同时向Flash0和Flash1写入固件。
其中,判断Flash0和Flash1是否完成擦除操作时,是按顺序进行判断的,因此,在判断时,每次只能与Flash0,或者Flash1中的其中一个建立连接,另一个必须断开连接,所以,在判定Flash0和Flash1均已完成擦除操作后,若需要同时向Flash0和Flash1写入数据,则必须再次与Flash0和Flash1建立连接。
具体的,上位机可以发送连接指令至USB控制芯片,通过USB控制芯片控制转换芯片0和转换芯片1来设置片选信号CS0和CS1的电平。
其中,若连接指令中携带的片选信号CS0和CS1均为低电平时,CS0和CS1同时设置为低电平后,上位机可以与Flash0和Flash1建立连接,
S140,同时向上述N个存储器发送写入指令,根据上述写入指令同时向上述N个存储器中写入固件。
在本申请实施例中,在与待烧录的2个FLASH建立连接后,待烧录的2个FLASH同时进入待命状态,等待执行写入操作。上位机通过USB线发送写入指令给USB控制芯片后,USB控制芯片可以将写入指令同时发送给转换芯片0和转换芯片1,由转换芯片0和转换芯片1的MOSI引脚同时将写入指令发送给Flash0和Flash1,Flash0和Flash1同时接收到写入指令后,可以同时根据接收到的写入指令执行写入操作。
S150,若上述N个存储器均已完成写入操作,则依次读取上述N个存储器中的数据,得到N组数据,并将上述N组数据依次与所述固件进行比较,若全部一致,则确定烧录成功,其中,一组数据与一个上述存储器对应。
在本申请实施例中,为了保证写入数据的真实有效,需要逐个读取FLASH中的数据,将读取的数据分别和写入的数据进行比较,判断比较结果是否一致,若一致,则表示烧录成功。
其中,首先校验第1个FLASH,即Flash0。可以先设置CS0为低电平,CS1为高电平,然后由转换芯片0的MOSI引脚向Flash0下发“分批读”指令,并通过转换芯片0的MISO引脚发送从Flash0读取的数据至上位机,由上位机将从Flash0读取的数据与写入至Flash0的数据进行比较,若一致,则表示Flash0烧录成功。
然后校验第2个FLASH,即Flash1。可以先设置CS0为高电平,CS1为低电平,然后由转换芯片1的MOSI引脚向Flash1下发分批读指令,即0x0B指令,并通过转换芯片1的MISO引脚发送从Flash1读取的数据至上位机,由上位机将从Flash1读取的数据与写入至Flash1的数据进行比较,若一致,则表示Flash1烧录成功。
应理解,上述步骤S110至S150,由于在对2个或者2个以上的存储器进行烧录时,可以同时对2个或者2个以上的存储器执行擦除操作,以及,可以同时向2个或者2个以上的存储器写入固件。即,在烧录过程中,并行对多个待烧录存储器执行擦除操作,以及并行向多个待烧录存储器写入固件,而并行执行擦除操作以及并行写入固件所需要的时间少于串行执行擦除操作以及串行写入固件所需要的时间,因此,本申请的存储器的烧录方法,可以将整个烧录过程,由原来N倍的烧录时间减少到1倍多一点,即缩短了烧录时间,提高了烧录速度。
在一些实施例中,在上述图1所示的存储器的烧录方法的实施例的基础上,步骤S120同时向上述N个存储器发送擦除指令,根据上述擦除指令同时对上述N个存储器执行擦除操作可以包括下述步骤,各个步骤的具体实现原理如下:
步骤11、同时向上述N个存储器发送分批擦除指令,根据上述分批擦除指令以及上述固件的大小按照逐个扇区擦除的方式同时对上述N个存储器执行擦除操作。
对存储器执行擦除操作时,可以按块进行擦除,也可以按扇区进行擦除,本申请实施例不做具体限制。
存储器的存储空间一般按照扇区进行划分,一个扇区可以存储4k字节。对存储器执行擦除操作时,可以逐个扇区按照顺序执行,可以擦除出大片的存储空间,避免存储空间碎片化。
在本申请实施例中,分批擦除指令为0x20。其中,分批擦除是指根据写入的固件的大小,按扇区4K字节的大小分割,逐个扇区擦除,考虑到大部分情况下固件的大小都比整个FLASH的存储空间小,所以比全部擦除整个FLASH的存储空间节省时间。
在一些实施例中,在上述图1所示的存储器的烧录方法的实施例的基础上,步骤S140同时向上述N个存储器发送写入指令,根据上述写入指令同时向上述N个存储器中写入固件可以包括下述步骤,各个步骤的具体实现原理如下:
步骤21、同时向上述N个存储器发送分批写入指令,根据上述分批写入指令以及上述固件的大小按照逐页写入的方式同时向上述N个存储器中写入固件。
对存储器执行写入操作时,可以逐扇区进行写入,也可以逐页进行写入,本申请实施例不做具体限制。
由于目前FLASH大多不支持按扇区大小写入,因此本申请实施例采用逐页写入的方式。
在本申请实施例中,分批写入指令为0x02。其中,分批写入是将写入的数据,按页,即256字节进行分割,逐页写入。
应理解,通过逐页写入的方式,可以在写入错误时,只需要重新擦除页所在的扇区,然后重写整个扇区16个页的数据,而不用再重新写入整个固件,进而达到节省时间的目的。因为页要重写,需要先擦除,而该FLASH擦除的最小单位是扇区,通过当前页的首地址整除4096得到扇区首地址,所以只能浪费15页的擦除和重写,但依然比重写整个固件节省大量时间。
在一些实施例中,在上述图1所示的存储器的烧录方法的实施例的基础上,在步骤S120同时向上述N个存储器发送擦除指令,根据上述擦除指令同时对上述N个存储器执行擦除操作之前,或者,在步骤S140同时向上述N个存储器发送写入指令,根据上述写入指令同时向上述N个存储器中写入固件之前,还可以执行下述步骤:
步骤31、同时向上述N个存储器发送写使能指令,以使上述N个存储器根据上述写使能指令进入写就绪状态。
步骤32、判断上述N个存储器是否进入写就绪状态。
在本申请实施例中,上位机与Flash0和Flash1均建立连接后,先通过USB控制芯片的MOSI引脚向Flash0和Flash1并发写使能指令,即0x06指令,以使Flash0和Flash1进入写就绪状态;然后判断Flash0和Flash1是否进入写就绪状态,在Flash0和Flash1均进入写就绪状态才执行擦除操作。
应理解,在对存储器执行擦除操作或者写入操作时,存储器必须进入写就绪状态。通过上述步骤31和32,可以保证后续的烧录工作顺利进行。
其中,步骤32可以包括下述步骤,各个步骤的具体实现原理如下:
步骤41、与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,上述第M个存储器为从上述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
步骤42、向上述第M个存储器发送读状态位指令;
步骤43、读取上述第M个存储器根据上述读状态位指令返回的状态码中携带的写就绪状态位;
步骤44、根据上述写就绪状态位判断上述第M个存储器是否进入写就绪状态;
步骤45、若上述第M个存储器进入写就绪状态,则设置M=M+1,返回步骤41并依次执行步骤41至步骤45,直至M等于N加1,则判定上述N个存储器均进入写就绪状态。
本申请实施例中,先判断Flash0是否进入写就绪状态:上位机发送的连接指令中携带的片选信号CS0为低电平,CS1为高电平,让上位机只与Flash0建立连接后,向Flash0下发读状态码指令,即0x05指令,然后上位机读取USB控制器的MISO脚返回的状态码中BIT1位,即BIT1位的写就绪状态是否指示完成(&2=2),若未完成,则循环读取等待完成。然后再判断Flash1是否进入写就绪状态:上位机发送的连接指令中携带的片选信号CS1为低电平,CS0为高电平,让上位机只与Flash1建立连接后,向Flash1下发读状态码指令,即0x05指令,然后上位机读取USB控制器的MISO脚返回的状态码中BIT1位,即BIT1位的写就绪状态是否指示完成,若未完成,则循环读取等待完成。
应理解,通过上述步骤41至步骤45,可以通过轮询的方法判断待烧录的存储器的写就绪状态。轮询时需要切换片选信号逐个验证,但轮询本身时间占比相对比较小,存储器烧录的时间主要消耗在等待存储器完成擦除工作。因此,整个烧录过程,还是可以将原来N倍的擦除时间减少到1倍多一点。
在一些实施例中,在上述图1所示的存储器的烧录方法的实施例的基础上,在步骤S120同时向上述N个存储器发送擦除指令,根据上述擦除指令同时对上述N个存储器执行擦除操作之后,或者,在步骤S140同时向上述N个存储器发送写入指令,根据上述写入指令同时向上述N个存储器中写入固件之后,还可以执行下述步骤:
步骤51、判断上述N个存储器是否进入写完成状态,若上述N个存储器均进入写完成状态,则判定上述N个存储器均已完成擦除操作或者上述N个存储器均已完成写入操作。
应理解,在对存储器执行读写校验操作时,存储器必须进入写完成状态。通过上述步骤51,可以保证后续的烧录工作顺利进行。
其中,步骤51可以包括下述步骤,各个步骤的具体实现原理如下:
步骤61、与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,上述第M个存储器为从上述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
步骤62、向上述第M个存储器发送读状态位指令;
步骤63、读取上述第M个存储器根据上述读状态位指令返回的状态码中携带的写完成状态位;
步骤64、根据上述写完成状态位判断上述第M个存储器是否进入写完成状态;
步骤65、若上述第M个存储器进入写完成状态,则设置M=M+1,返回步骤61并依次执行步骤61至步骤65,直至M等于N加1,则判定上述N个存储器均进入写完成状态。
本申请实施例中,先判断Flash0是否进入写完成状态:上位机发送的连接指令中携带的片选信号CS0为低电平,CS1为高电平,让上位机只与Flash0建立连接后,向Flash0下发读状态码指令,即0x05指令,然后上位机读取USB控制器的MISO脚返回的状态码中BIT0位,判断BIT0位的写完成状态是否指示完成(&1=0),若未完成,则循环读取等待完成。然后再判断Flash1是否进入写完成状态:上位机发送的连接指令中携带的片选信号CS1为低电平,CS0为高电平,让上位机只与Flash1建立连接后,向Flash1下发读状态码指令,即0x05指令,然后上位机读取USB控制器的MISO脚返回的状态码中BIT0位,即BIT0的写完成状态是否指示完成,若未完成,则循环读取等待完成。
应理解,通过上述步骤61至步骤65,可以通过轮询的方法判断待烧录的存储器的写完成状态。轮询时需要切换片选信号逐个验证,但轮询本身时间占比相对比较小,存储器烧录的时间主要消耗在等待存储器完成写入工作。因此,整个烧录过程,还是可以将原来N倍的写入时间减少到1倍多一点。
总之,本申请实施例提供的存储器的烧录方法,烧录过程中的擦除和写入可以近似看成是并行的,因此,可以将原来N倍的擦除时间和N倍的写入时间分别减少到1倍多一点。尽管校验过程虽然是分批完成的,但由于读取校验过程只占整个烧录过程的1/3,并且读取校验过程的速度相对较快,消耗的时间相对较小,因此,总体上,整个烧录过程可以节省约30%时间,测试数据图6所示。
对应于上述图1所示的存储器的烧录方法,图7示出的是本申请实施例提供的一种存储器的烧录装置M100,可应用于存储器的烧录系统的主控制器中,所述存储器的烧录装置M100包括:
第一连接模块M110,用于与待烧录的N个存储器建立连接,其中,N为大于或者等于2的自然数;
擦除模块M120,用于同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作;
第二连接模块M130,若所述N个存储器均已完成擦除操作,则再次与所述N个存储器建立连接;
写入模块M140,用于同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件;
校验模块M150,用于若所述N个存储器均已完成写入操作,则依次读取所述N个存储器中的数据,得到N组数据,并将所述N组数据依次与所述固件进行比较,若全部一致,则确定烧录成功,其中,一组数据与一个所述存储器对应。
可选的,所述擦除模块M120,包括:
擦除单元,用于同时向所述N个存储器发送分批擦除指令,根据所述分批擦除指令以及所述固件的大小按照逐个扇区擦除的方式同时对所述N个存储器执行擦除操作。
可选的,所述写入模块M140,包括:
写入单元,用于同时向所述N个存储器发送分批写入指令,根据所述分批写入指令以及所述固件的大小按照逐页写入的方式同时向所述N个存储器中写入固件。
可选的,所述存储器的烧录装置M100,还包括:
指令发送模块,用于同时向所述N个存储器发送写使能指令,以使所述N个存储器根据所述写使能指令进入写就绪状态;
写就绪判断模块,用于判断所述N个存储器是否进入写就绪状态。
可选的,所述写就绪判断模块,包括:
第一连接控制单元,用于与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
第一指令发送单元,用于向所述第M个存储器发送读状态位指令;
第一状态位读取单元,用于读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写就绪状态位;
单写就绪判断单元,用于根据所述写就绪状态位判断所述第M个存储器是否进入写就绪状态;
全写就绪判断单元,用于若所述第M个存储器进入写就绪状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写就绪状态。
可选的,所述存储器的烧录装置M100,还包括:
写完成判断模块,用于判断所述N个存储器是否进入写完成状态,若所述N个存储器均进入写完成状态,则判定所述N个存储器均已完成擦除操作或者所述N个存储器均已完成写入操作。
可选的,所述写完成判断模块,包括:
第二连接控制单元,用于与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
第二指令发送单元,用于向所述第M个存储器发送读状态位指令;
第二状态位读取单元,用于读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写完成状态位;
单写完成判断单元,用于根据所述写完成状态位判断所述第M个存储器是否进入写完成状态;
全写完成判断单元若所述第M个存储器进入写完成状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写完成状态。
可以理解的是,以上实施例中的各种实施方式和实施方式组合及其有益效果同样适用于本实施例,这里不再赘述。
图8为本申请一实施例提供的电子设备的结构示意图。如图8所示,该实施例的电子设备D10包括:至少一个处理器D100(图8中仅示出一个)处理器、存储器D101以及存储在所述存储器D101中并可在所述至少一个处理器D100上运行的计算机程序D102,所述处理器D100执行所述计算机程序D102时实现上述任意各个方法实施例中的步骤。或者,所述处理器D100执行所述计算机程序D102时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块M110至M150的功能。
在一些实施例中,所述处理器D100执行所述计算机程序D102时实现如下步骤:
与待烧录的N个存储器建立连接,其中,N为大于或者等于2的自然数;
同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作;
若所述N个存储器均已完成擦除操作,则再次与所述N个存储器建立连接;
同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件;
若所述N个存储器均已完成写入操作,则依次读取所述N个存储器中的数据,得到N组数据,并将所述N组数据依次与所述固件进行比较,若全部一致,则确定烧录成功,其中,一组数据与一个所述存储器对应。
可选的,所述处理器D100执行所述计算机程序D102,实现所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作时,还可以执行下述步骤:
同时向所述N个存储器发送分批擦除指令,根据所述分批擦除指令以及所述固件的大小按照逐个扇区擦除的方式同时对所述N个存储器执行擦除操作。
可选的,所述处理器D100执行所述计算机程序D102,实现所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件时,还可以执行下述步骤:
同时向所述N个存储器发送分批写入指令,根据所述分批写入指令以及所述固件的大小按照逐页写入的方式同时向所述N个存储器中写入固件。
可选的,所述处理器D100执行所述计算机程序D102,在实现所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作之前,或者,在实现所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件之前,还可以执行下述步骤:
同时向所述N个存储器发送写使能指令,以使所述N个存储器根据所述写使能指令进入写就绪状态;
判断所述N个存储器是否进入写就绪状态。
可选的,所述处理器D100执行所述计算机程序D102,实现所述判断所述N个存储器是否进入写就绪状态时,可以执行下述步骤:
步骤1、与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
步骤2、向所述第M个存储器发送读状态位指令;
步骤3、读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写就绪状态位;
步骤4、根据所述写就绪状态位判断所述第M个存储器是否进入写就绪状态;
步骤5、若所述第M个存储器进入写就绪状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写就绪状态。
可选的,所述处理器D100执行所述计算机程序D102,在实现所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作之后,或者,在实现所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件之后,还可以执行以下步骤:
判断所述N个存储器是否进入写完成状态,若所述N个存储器均进入写完成状态,则判定所述N个存储器均已完成擦除操作或者所述N个存储器均已完成写入操作。
可选的,所述处理器D100执行所述计算机程序D102,实现所述判断所述N个存储器是否均进入写完成状态时,可以执行下述步骤:
步骤1、与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
步骤2、向所述第M个存储器发送读状态位指令;
步骤3、读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写完成状态位;
步骤4、根据所述写完成状态位判断所述第M个存储器是否进入写完成状态;
步骤5、若所述第M个存储器进入写完成状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写完成状态。
所述电子设备D10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备可包括,但不仅限于,处理器D100、存储器D101。本领域技术人员可以理解,图8仅仅是电子设备D10的举例,并不构成对电子设备D10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器D100可以是中央处理单元(Central Processing Unit,CPU),该处理器D100还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器D101在一些实施例中可以是所述电子设备D10的内部存储单元,例如电子设备D10的硬盘或内存。所述存储器D101在另一些实施例中也可以是所述电子设备D10的外部存储设备,例如所述电子设备D10上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器D101还可以既包括所述电子设备D10的内部存储单元也包括外部存储设备。所述存储器D101用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器D101还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种存储器的烧录方法,其特征在于,应用于存储器的烧录系统的主控制器中,所述方法包括:
与待烧录的N个存储器建立连接,其中,N为大于或者等于2的自然数;
同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作;
若所述N个存储器均已完成擦除操作,则再次与所述N个存储器建立连接;
同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件;
若所述N个存储器均已完成写入操作,则依次读取所述N个存储器中的数据,得到N组数据,并将所述N组数据依次与所述固件进行比较,若全部一致,则确定烧录成功,其中,一组数据与一个所述存储器对应。
2.如权利要求1所述的存储器的烧录方法,其特征在于,所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作,包括:
同时向所述N个存储器发送分批擦除指令,根据所述分批擦除指令以及所述固件的大小按照逐个扇区擦除的方式同时对所述N个存储器执行擦除操作。
3.如权利要求2所述的存储器的烧录方法,其特征在于,所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件,包括:
同时向所述N个存储器发送分批写入指令,根据所述分批写入指令以及所述固件的大小按照逐页写入的方式同时向所述N个存储器中写入固件。
4.如权利要求3所述的存储器的烧录方法,其特征在于,在所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作之前,或者,在所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件之前,还包括:
同时向所述N个存储器发送写使能指令,以使所述N个存储器根据所述写使能指令进入写就绪状态;
判断所述N个存储器是否进入写就绪状态。
5.如权利要求4所述的存储器的烧录方法,其特征在于,所述判断所述N个存储器是否进入写就绪状态,包括:
步骤1、与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
步骤2、向所述第M个存储器发送读状态位指令;
步骤3、读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写就绪状态位;
步骤4、根据所述写就绪状态位判断所述第M个存储器是否进入写就绪状态;
步骤5、若所述第M个存储器进入写就绪状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写就绪状态。
6.如权利要求5所述的存储器的烧录方法,其特征在于,在所述同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作之后,或者,在所述同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件之后,还包括:
判断所述N个存储器是否进入写完成状态,若所述N个存储器均进入写完成状态,则判定所述N个存储器均已完成擦除操作或者所述N个存储器均已完成写入操作。
7.如权利要求6所述的存储器的烧录方法,其特征在于,所述判断所述N个存储器是否均进入写完成状态,包括:
步骤1、与第M个存储器保持连接,断开与其他(N-1)个存储器的连接,所述第M个存储器为从所述N个存储器中按顺序选择的一个存储器,M为初始值为1的自然数,M小于或者等于N;
步骤2、向所述第M个存储器发送读状态位指令;
步骤3、读取所述第M个存储器根据所述读状态位指令返回的状态码中携带的写完成状态位;
步骤4、根据所述写完成状态位判断所述第M个存储器是否进入写完成状态;
步骤5、若所述第M个存储器进入写完成状态,则设置M=M+1,返回步骤1并依次执行步骤1至步骤5,直至M等于N加1,则判定所述N个存储器均进入写完成状态。
8.一种存储器的烧录装置,其特征在于,应用于存储器的烧录系统的主控制器中,所述存储器的烧录装置包括:
第一连接模块,与待烧录的N个存储器建立连接,其中,N为大于或者等于2的自然数;
擦除模块,用于同时向所述N个存储器发送擦除指令,根据所述擦除指令同时对所述N个存储器执行擦除操作;
第二连接模块,若所述N个存储器均已完成擦除操作,则再次与所述N个存储器建立连接;
写入模块,用于同时向所述N个存储器发送写入指令,根据所述写入指令同时向所述N个存储器中写入固件;
校验模块,用于若所述N个存储器均已完成写入操作,则依次读取所述N个存储器中的数据,得到N组数据,并将所述N组数据依次与所述固件进行比较,若全部一致,则确定烧录成功,其中,一组数据与一个所述存储器对应。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的存储器的烧录方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的存储器的烧录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211600106.6A CN115827032A (zh) | 2022-12-12 | 2022-12-12 | 存储器的烧录方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211600106.6A CN115827032A (zh) | 2022-12-12 | 2022-12-12 | 存储器的烧录方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827032A true CN115827032A (zh) | 2023-03-21 |
Family
ID=85547014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211600106.6A Pending CN115827032A (zh) | 2022-12-12 | 2022-12-12 | 存储器的烧录方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827032A (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056237A (ja) * | 2003-08-06 | 2005-03-03 | Sony Corp | メモリ装置、データ処理用のプログラムを記録した記録媒体、そのプログラム、データ処理システム及びデータ処理方法 |
CN103365689A (zh) * | 2013-07-04 | 2013-10-23 | 青岛海信宽带多媒体技术有限公司 | 一种单片机并行烧录方法 |
CN104200843A (zh) * | 2014-09-13 | 2014-12-10 | 无锡中星微电子有限公司 | 闪存烧入器、烧入系统及烧入方法 |
CN204155612U (zh) * | 2014-09-13 | 2015-02-11 | 无锡中星微电子有限公司 | 闪存烧入器及烧入系统 |
CN107463415A (zh) * | 2017-08-22 | 2017-12-12 | 金陵科技学院 | 一种单片机并行烧录方法 |
CN107885510A (zh) * | 2017-11-03 | 2018-04-06 | 北京思诺信安科技有限公司 | 一种可同时烧录双dsp的烧录工具及烧录方法 |
CN208283934U (zh) * | 2018-05-18 | 2018-12-25 | 江苏特思达电子科技股份有限公司 | 一种烧录装置 |
CN109117151A (zh) * | 2018-07-18 | 2019-01-01 | 珠海市杰理科技股份有限公司 | 烧写器以及程序烧写方法、装置、计算机设备和存储介质 |
CN109614118A (zh) * | 2018-11-23 | 2019-04-12 | 信利光电股份有限公司 | 一种SPI Flash固件烧录方法及装置 |
CN110597529A (zh) * | 2019-09-29 | 2019-12-20 | 上海菱沃铂智能技术有限公司 | 一种用于微控制器参数校准的烧录器及烧录方法 |
CN110888653A (zh) * | 2019-11-01 | 2020-03-17 | 桃芯科技(苏州)有限公司 | 存储器中固件读写的控制方法、系统、电子设备、芯片 |
CN111124433A (zh) * | 2018-10-31 | 2020-05-08 | 华北电力大学扬中智能电气研究中心 | 程序烧写设备、系统及方法 |
CN111309361A (zh) * | 2020-02-13 | 2020-06-19 | 北京集创北方科技股份有限公司 | 数据读写方法及装置、电子设备、存储介质 |
CN111722855A (zh) * | 2020-06-23 | 2020-09-29 | 湖南国科微电子股份有限公司 | 一种基于eMMC的固件烧录系统、方法与集成芯片 |
CN113885898A (zh) * | 2021-10-11 | 2022-01-04 | 瑞芯微电子股份有限公司 | 一种固件批量烧录方法及终端 |
WO2022156512A1 (zh) * | 2021-01-22 | 2022-07-28 | 浪潮电子信息产业股份有限公司 | 一种固件更新方法、装置、设备及存储介质 |
CN115206390A (zh) * | 2022-06-27 | 2022-10-18 | 惠州市汇智科技有限公司 | Key烧录方法、装置、设备及存储介质 |
-
2022
- 2022-12-12 CN CN202211600106.6A patent/CN115827032A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056237A (ja) * | 2003-08-06 | 2005-03-03 | Sony Corp | メモリ装置、データ処理用のプログラムを記録した記録媒体、そのプログラム、データ処理システム及びデータ処理方法 |
CN103365689A (zh) * | 2013-07-04 | 2013-10-23 | 青岛海信宽带多媒体技术有限公司 | 一种单片机并行烧录方法 |
CN104200843A (zh) * | 2014-09-13 | 2014-12-10 | 无锡中星微电子有限公司 | 闪存烧入器、烧入系统及烧入方法 |
CN204155612U (zh) * | 2014-09-13 | 2015-02-11 | 无锡中星微电子有限公司 | 闪存烧入器及烧入系统 |
CN107463415A (zh) * | 2017-08-22 | 2017-12-12 | 金陵科技学院 | 一种单片机并行烧录方法 |
CN107885510A (zh) * | 2017-11-03 | 2018-04-06 | 北京思诺信安科技有限公司 | 一种可同时烧录双dsp的烧录工具及烧录方法 |
CN208283934U (zh) * | 2018-05-18 | 2018-12-25 | 江苏特思达电子科技股份有限公司 | 一种烧录装置 |
CN109117151A (zh) * | 2018-07-18 | 2019-01-01 | 珠海市杰理科技股份有限公司 | 烧写器以及程序烧写方法、装置、计算机设备和存储介质 |
CN111124433A (zh) * | 2018-10-31 | 2020-05-08 | 华北电力大学扬中智能电气研究中心 | 程序烧写设备、系统及方法 |
CN109614118A (zh) * | 2018-11-23 | 2019-04-12 | 信利光电股份有限公司 | 一种SPI Flash固件烧录方法及装置 |
CN110597529A (zh) * | 2019-09-29 | 2019-12-20 | 上海菱沃铂智能技术有限公司 | 一种用于微控制器参数校准的烧录器及烧录方法 |
CN110888653A (zh) * | 2019-11-01 | 2020-03-17 | 桃芯科技(苏州)有限公司 | 存储器中固件读写的控制方法、系统、电子设备、芯片 |
CN111309361A (zh) * | 2020-02-13 | 2020-06-19 | 北京集创北方科技股份有限公司 | 数据读写方法及装置、电子设备、存储介质 |
CN111722855A (zh) * | 2020-06-23 | 2020-09-29 | 湖南国科微电子股份有限公司 | 一种基于eMMC的固件烧录系统、方法与集成芯片 |
WO2022156512A1 (zh) * | 2021-01-22 | 2022-07-28 | 浪潮电子信息产业股份有限公司 | 一种固件更新方法、装置、设备及存储介质 |
CN113885898A (zh) * | 2021-10-11 | 2022-01-04 | 瑞芯微电子股份有限公司 | 一种固件批量烧录方法及终端 |
CN115206390A (zh) * | 2022-06-27 | 2022-10-18 | 惠州市汇智科技有限公司 | Key烧录方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
张玉: "基于RISC-V微控制器的外部SPI FLASH烧录方法的设计与实现", 《 信息与电脑(理论版) 》, 25 September 2022 (2022-09-25), pages 32 - 35 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10747299B2 (en) | Card and host apparatus | |
US6507881B1 (en) | Method and system for programming a peripheral flash memory via an IDE bus | |
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
CN106445398B (zh) | 一种基于新型存储器的嵌入式文件系统及其实现方法 | |
US8266371B2 (en) | Non-volatile storage device, host device, non-volatile storage system, data recording method, and program | |
US8775760B2 (en) | Modifying a host interface setting for a non-volatile memory module | |
US8812756B2 (en) | Method of dispatching and transmitting data streams, memory controller and storage apparatus | |
US20210312990A1 (en) | Method, associated memory device and controller thereof for performing programming management | |
CN104281413A (zh) | 命令队列管理方法、存储器控制器及存储器储存装置 | |
US10776280B1 (en) | Data storage device and method for updating logical-to-physical mapping table | |
KR100782592B1 (ko) | 공유 메모리를 구비한 장치 및 공유 메모리 제어 방법 | |
CN106649137B (zh) | 一种Nand Flash坏块管理方法、装置及存储器 | |
CN115080471A (zh) | 基于FPGA的nand flash接口控制器及读写方法 | |
US9733832B2 (en) | Buffer memory accessing method, memory controller and memory storage device | |
CN112417802B (zh) | 一种模拟存储芯片的方法、系统、设备及存储介质 | |
US20120303879A1 (en) | Memory Device and Method for Programming Flash Memory Utilizing Spare Blocks | |
CN110874333B (zh) | 存储设备及存储方法 | |
WO2020113421A1 (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN115827032A (zh) | 存储器的烧录方法、装置、电子设备及存储介质 | |
US20090307389A1 (en) | Switchable access states for non-volatile storage devices | |
US20040186949A1 (en) | XIP system and method for serial memory | |
US9268554B2 (en) | Controlling method, memory controller, and data transmission system | |
CN111596859B (zh) | 数据储存装置与数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |