CN110413331A - 基于rom的spi nor flash识别方法、装置、系统及存储介质 - Google Patents

基于rom的spi nor flash识别方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN110413331A
CN110413331A CN201910908064.4A CN201910908064A CN110413331A CN 110413331 A CN110413331 A CN 110413331A CN 201910908064 A CN201910908064 A CN 201910908064A CN 110413331 A CN110413331 A CN 110413331A
Authority
CN
China
Prior art keywords
spi
flash
state
controller
write
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.)
Granted
Application number
CN201910908064.4A
Other languages
English (en)
Other versions
CN110413331B (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Wisdom Electronic Technology Co Ltd
Original Assignee
Zhuhai Wisdom Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Wisdom Electronic Technology Co Ltd filed Critical Zhuhai Wisdom Electronic Technology Co Ltd
Priority to CN201910908064.4A priority Critical patent/CN110413331B/zh
Publication of CN110413331A publication Critical patent/CN110413331A/zh
Application granted granted Critical
Publication of CN110413331B publication Critical patent/CN110413331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明适用于SPI NOR FLASH技术领域,提供了一种基于ROM的SPI NOR FLASH识别方法、装置、系统及存储介质,该方法包括:通过SPI控制器向SPI NOR FLASH发送写使能命令,以使该SPI NOR FLASH处于可写入状态,判断该SPI NOR FLASH是否处于可写入状态,当判断出该SPI NOR FLASH处于该可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令,以使该SPI NOR FLASH处于禁止写入状态,判断该SPI NOR FLASH是否处于禁止写入状态,当判断出该SPI NOR FLASH处于禁止写入状态时,输出SPI NOR FLASH识别成功信息,从而实现了SPI NOR FLASH的动态识别,进而提高了对SPI NOR FLASH的识别准确率。

Description

基于ROM的SPI NOR FLASH识别方法、装置、系统及存储介质
技术领域
本发明属于SPI NOR FLASH技术领域,尤其涉及一种基于ROM的SPI NOR FLASH识别方法、装置、系统及存储介质。
背景技术
随着无线通讯技术在消费类电子、物联网等领域的发展,小型的物联网设备作为整个网络的一个个节点,具有十分广阔的市场和应用前景。这种小型的物联网设备需要更加小容量的外部存储介质,SPI(Serial Peripheral Interface,串行外围设备接口),是由Motorola提出的一种全双工同步串行通信接口。SPI NOR FLASH是目前市场上基于SPI接口主要的非易失性存储介质。SPI NOR FLASH作为一种小容量,高性价比的外部存储介质被广泛地应用到物联网设备上。
SOC(System on Chip,系统级芯片)厂商一般需要将识别引导介质类型的程序固化到芯片的ROM(Read Only Memory,只读存储器)中,由于ROM是只读的,为了保证对多种类型SPI NOR FLASH的兼容,需要引导代码对启动介质的识别和引导具有较强的通用性。
目前大部分的芯片厂商对SPI NOR FLASH识别和引导方法是基于Flash厂商型号进行识别,应用该方法客户可以在芯片厂商的FLASH支持列表中进行选择相应的SPI NORFLASH,虽然该方法会支持市面上主要的SPI NOR FLASH,但是对未来可能出现的新的SPINOR FLASH的识别引导兼容性较差,且由于只能通过更新ROM中的固化程序才能支持新的SPI NOR FLASH,从而增加了客户使用的硬件成本。
发明内容
本发明的目的在于提供一种基于ROM的SPI NOR FLASH识别方法、装置、系统及存储介质,旨在解决由于现有技术中嵌入式系统启动阶段识别引导SPI NOR FLASH的兼容性差的问题。
一方面,本发明提供一种基于ROM的SPI NOR FLASH识别方法,所述方法包括下述步骤:
通过SPI控制器向SPI NOR FLASH发送写使能命令,以使所述SPI NOR FLASH处于可写入状态;
判断所述SPI NOR FLASH是否处于可写入状态;
当判断出所述SPI NOR FLASH处于所述可写入状态时,通过所述SPI控制器向所述SPINOR FLASH发送写禁用命令,以使所述SPI NOR FLASH处于禁止写入状态;
判断所述SPI NOR FLASH是否处于禁止写入状态;
当判断出所述SPI NOR FLASH处于禁止写入状态时,输出SPI NOR FLASH识别成功信息。
优选地,通过SPI控制器向SPI NOR FLASH发送写使能命令的步骤之前,包括:
通过所述SPI控制器向所述SPI NOR FLASH发送读设备ID命令;
读取所述SPI NOR FLASH的设备ID信息;
判断读取到的所述设备ID信息是否存在于预设的FLASH支持列表中;
当判断出所述设备ID信息不存在于所述FLASH支持列表中时,跳转至通过SPI控制器向SPI NOR FLASH发送写使能命令的步骤。
优选地,所述读设备ID命令为0x9F命令。
优选地,读取到的所述设备ID信息为3个字节的数据,所述通过SPI控制器向SPINOR FLASH发送写使能命令的步骤之前,还包括:
判断所述3个字节的数据是否相同,是则,输出SPI NOR FLASH识别失败信息,否则,跳转至SPI控制器通过所述SPI控制器向所述SPI NOR FLASH发送预设的操作命令。
优选地,所述判断所述SPI NOR FLASH是否处于可写入状态的步骤之后,包括:
当所述SPI NOR FLASH不处于所述可写入状态时,输出SPI NOR FLASH识别失败信息。
优选地,所述判断所述SPI NOR FLASH是否处于禁止写入状态的步骤之后,包括:
当所述SPI NOR FLASH不处于所述禁止写入状态时,输出SPI NOR FLASH识别失败信息。
另一方面,本发明提供了一种基于ROM的SPI NOR FLASH识别装置,所述装置包括:
第一命令发送单元,用于通过SPI控制器向SPI NOR FLASH发送写使能命令,以使所述SPI NOR FLASH处于可写入状态;
第一状态判断单元,用于判断所述SPI NOR FLASH是否处于可写入状态;
第二命令发送单元,用于当判断出所述SPI NOR FLASH处于所述可写入状态时,通过所述SPI控制器向所述SPI NOR FLASH发送写禁用命令,以使所述SPI NOR FLASH处于禁止写入状态;
第二状态判断单元,用于判断所述SPI NOR FLASH是否处于禁止写入状态;以及
识别单元,用于当判断出所述SPI NOR FLASH处于禁止写入状态时,输出SPI NORFLASH识别成功信息。
优选地,所述装置还包括:
第三命令发送单元,用于通过所述SPI控制器向所述SPI NOR FLASH发送读设备ID命令;
ID信息读取单元,用于读取所述SPI NOR FLASH的设备ID信息;
ID信息判断单元,用于判断读取到的所述设备ID信息是否存在于预设的FLASH支持列表中;以及
识别子单元,用于当判断出所述设备ID信息不存在于所述FLASH支持列表中时,触发所述识别单元通过SPI控制器向SPI NOR FLASH发送写使能命令。
另一方面,本发明还提供了一种基于ROM的SPI NOR FLASH识别系统,包括SOC芯片和SPI NOR FLASH,所述SOC芯片内部包括处理器、只读存储器、以及SPI控制器,所述SPI控制器与所述SPI NOR FLASH通过SPI总线相连,所述只读存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明通过SPI控制器向SPI NOR FLASH发送写使能命令,以使该SPI NOR FLASH处于可写入状态,判断该SPI NOR FLASH是否处于可写入状态,当判断出该SPI NOR FLASH处于该可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令,以使该SPINOR FLASH处于禁止写入状态,判断该SPI NOR FLASH是否处于禁止写入状态,当判断出该SPI NOR FLASH处于禁止写入状态时,输出SPI NOR FLASH识别成功信息,从而实现了SPINOR FLASH的动态识别,进而提高了对SPI NOR FLASH的识别准确率。
附图说明
图1是本发明实施例一提供的基于ROM的SPI NOR FLASH识别方法的实现流程图;
图2是本发明实施例二提供的基于ROM的SPI NOR FLASH识别方法的实现流程图;
图3是本发明实施例三提供的基于ROM的SPI NOR FLASH识别方法的实现流程图;
图4是本发明实施例四提供的基于ROM的SPI NOR FLASH识别方法的实现流程的一示例图;
图5是本发明实施例五提供的基于ROM的SPI NOR FLASH识别装置的结构示意图;以及
图6是本发明实施例六提供的基于ROM的SPI NOR FLASH识别系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的基于ROM的SPI NOR FLASH识别方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,通过SPI控制器向SPI NOR FLASH发送写使能命令。
在本发明实施例中,通过SPI控制器向SPI NOR FLASH发送写使能命令(WriteEnable命令),以使该SPI NOR FLASH处于可写入状态,即,使SPI NOR FLASH的写使能锁定(Write Enable Latch)标志位的状态为1,当SPI NOR FLASH的写使能锁定(Write EnableLatch)标志位的状态为1时,SPI NOR FLASH处于可写入状态,其中,该写使能命令为0x06命令。
在步骤S102中,判断该SPI NOR FLASH是否处于可写入状态。
在本发明实施例中,在判断该SPI NOR FLASH是否处于可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送读状态命令(Read Status命令),读取1个字节(byte)的数据,然后判断该1个字节的数据的目标位的状态是否为1,是则,判断出SPI NOR FLASH处于可写入状态,否则,判断出SPI NOR FLASH不处于该可写入状态,即处于禁止写入状态。其中,读状态命令为0x05命令,该目标位为该字节的第二位(bit1),即该字节的第二位为该写使能锁定标志位。
在步骤S103中,当判断出该SPI NOR FLASH处于可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令。
在本发明实施例中,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令(WriteDisable命令),以使SPI NOR FLASH处于禁止写入状态,即,使SPI NOR FLASH的写使能锁定(Write Enable Latch)标志位的状态为0,当SPI NOR FLASH的写使能锁定(Write EnableLatch)标志位的状态为0时,SPI NOR FLASH处于禁止写入状态,即处于不可写入状态,其中该写禁用命令为0x04命令。
在步骤S104中,判断该SPI NOR FLASH是否处于禁止写入状态。
在本发明实施例中,在判断该SPI NOR FLASH是否处于禁止写入状态时,通过该SPI控制器向该SPI NOR FLASH发送读状态命令(Read Status命令),读取1个字节(byte)的数据,判断该1个字节的数据的目标位的状态是否为0,是则,判断出SPI NOR FLASH处于禁止写入状态,否则,判断出SPI NOR FLASH不处于禁止写入状态。其中,读状态命令为0x05命令,该目标位为该字节的第二位(bit1)。
在步骤S105中,当判断出该SPI NOR FLASH处于禁止写入状态时,输出SPI NORFLASH识别成功信息。
在本发明实施例中,通过SPI控制器向SPI NOR FLASH发送写使能命令,以使该SPINOR FLASH处于可写入状态,判断该SPI NOR FLASH是否处于可写入状态,当判断出该SPINOR FLASH处于该可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令,以使该SPI NOR FLASH处于禁止写入状态,判断该SPI NOR FLASH是否处于禁止写入状态,当判断出该SPI NOR FLASH处于禁止写入状态时,输出SPI NOR FLASH识别成功信息,从而实现了SPI NOR FLASH的动态识别,进而提高了对SPI NOR FLASH的识别准确率。
实施例二:
图2示出了本发明实施例二提供的基于ROM的SPI NOR FLASH识别的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S201中,通过该SPI控制器向该SPI NOR FLASH发送读设备ID命令。
在本发明实施例中,在通过SPI控制器向SPI NOR FLASH发送读设备ID命令时,具体地,可以通过SPI控制器向SPI NOR FLASH发送0x90命令,优选地,通过SPI控制器向SPINOR FLASH发送0x9F命令,从而避免了无效数据的发送,提高了读设备ID命令的兼容性。
在步骤S202中,读取该SPI NOR FLASH的设备ID信息。
在本发明实施例中,在读取该SPI NOR FLASH内的设备ID信息时,当该读设备ID命令为0x90命令时,连续读取2个字节的数据,该2个字节的数据即为该SPI NOR FLASH的设备ID信息,当该读设备ID命令为0x9F命令时,连续读取3个字节的数据,该3个字节的数据即为该SPI NOR FLASH的设备ID信息,读取到的该3个字节的数据依次为厂商ID、内存类型和介质容量,当然,也可以通过上述以外的方式读取更多字节的设备ID信息,在此不作限定。
在步骤S203中,判断读取到的该设备ID信息是否存在于预设的FLASH支持列表中。
在本发明实施例中,该FLASH支持列表中存储有常见的SPI NOR FLASH的设备ID信息,该FLASH支持列表中设备ID信息至少包括SPI NOR FLASH的厂商ID,读取到的该设备ID信息包括厂商ID信息,在判断读取到的该设备ID信息是否存在于预设的FLASH支持列表中时,优选地,判断读取到的SPI NOR FLASH的厂商ID是否存在于该FLASH支持列表中,当该厂商ID信息不存在于该FLASH支持列表中时,执行步骤S204,从而提高了对设备ID信息是否存在于FLASH支持列表的判断效率。
在步骤S204中,当判断出该设备ID信息不存在于FLASH支持列表中时,通过SPI控制器向SPI NOR FLASH发送写使能命令。
在步骤S205中,判断该SPI NOR FLASH是否处于可写入状态。
在步骤S206中,当判断出该SPI NOR FLASH处于可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令。
在步骤S207中,判断该SPI NOR FLASH是否处于禁止写入状态。
在步骤S208中,当判断出该SPI NOR FLASH处于禁止写入状态时,输出SPI NORFLASH识别成功信息。
在本发明实施例中,步骤S204-S208的实施方式可对应参考前述实施例一中步骤S101-S105的描述,在此不再赘述。
在本发明实施例中,步骤S201- S203属于本发明的第一阶段识别方法,即查表识别方法,该第一阶段识别方法通过发送读设备ID命令,获取到SPI NOR FLASH的设备ID信息,从而通过判断SPI NOR FLASH的设备ID信息是否存在于FLASH支持列表中,以实现常见型号的SPI NOR FLASH快速识别,第一阶段识别方法操作简单,识别速度快。步骤S204-S208属于本发明的第二阶段识别方法,即动态识别方法,该第二阶段识别方法实现了非常见型号的SPI NOR FLASH的动态识别,该第二阶段识别方法识别准确率高,第二阶段识别方法是对第一阶段识别方法的有效补充,当通过第一阶段识别方法未识别出SPI NOR FLASH时,通过第二阶段识别方法进行识别,从而提高了对SPI NOR FLASH的识别通用性和识别效率。
实施例三:
图3示出了本发明实施例三提供的基于ROM的SPI NOR FLASH识别的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S301中,通过该SPI控制器向该SPI NOR FLASH发送读设备ID命令,该读设备ID命令为0x9F命令。
在步骤S302中,读取该SPI NOR FLASH的设备ID信息。
在步骤S303中,判断读取到的该设备ID信息是否存在于预设的FLASH支持列表中,是则,执行步骤S304,否则,执行步骤S305,读取到的该设备ID信息为3个字节的数据。
在本发明实施例中,步骤S301-S303的实施方式可对应参考前述实施例二中步骤S201-S203的描述,在此不再赘述。
在步骤S304中,输出SPI NOR FLASH识别成功信息。
在步骤S305中,判断该3个字节的数据是否相同,是则,跳转至步骤S310,否则,执行步骤S306。
在步骤S306中,通过SPI控制器向SPI NOR FLASH发送写使能命令。
在步骤S307中,判断该SPI NOR FLASH是否处于可写入状态,是则,执行步骤S308,否则跳转至步骤S310。
在步骤S308中,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令。
在步骤S309中,判断该SPI NOR FLASH是否处于禁止写入状态,是则,跳转至步骤S304,否则执行步骤S310。
在本发明实施例中,步骤S306-S309的实施方式可对应参考前述实施例一中步骤S101-S104的描述,在此不再赘述。
在步骤S310中,输出SPI NOR FLASH识别成功信息。
在本发明实施例中,在通过SPI控制器向SPI NOR FLASH发送写使能命令之前,判断读取到的3个字节的数据是否相同,只有不同时才对SPI NOR FLASH进行动态识别,从而提高了对SPI NOR FLASH进行动态识别的有效性。
实施例四:
图4示出了本发明实施例四提供的基于ROM的SPI NOR FLASH识别方法的实现流程的具体示例,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S401中,通过SPI控制器向SPI NOR FLASH发送0x9F命令。
在本发明实施例中,发送0x9F命令的目的是要获取SPI NOR FLASH的设备ID信息,0x9F命令为SPI控制器发送的第0个到第7个时钟的数据。
在步骤S402中,连续读取3个字节的数据,记录读取的第1个字节的数据为厂商ID。
在本发明实施例中,该3个字节的数据依次为厂商ID、内存类型和介质容量,即,设备ID信息包括厂商ID、内存类型和介质容量,该3个字节的数据为SPI控制器读取第8个到第31个时钟的数据,即,该3个字节的数据的第1个字节的数据为厂商ID,该厂商ID为SPI控制器读取的第8个到第15个时钟的数据。
在步骤S403中,判断该厂商ID是否存在于预设的FLASH支持列表中。
在本发明实施例中,该FLASH支持列表中包含有常见的SPI NOR FLASH的厂商ID,判断该厂商ID是否存在于预设的FLASH支持列表中,是则,跳转至步骤S404,否则跳转至步骤S405。
在步骤S404中,输出SPI NOR FLASH识别成功信息。
在步骤S405中,判断该3个字节的数据是否相同,是则,跳转至步骤S414,否则跳转至步骤S406。
在步骤S406中,通过SPI控制器向SPI NOR FLASH发送0x06命令。
在本发明实施例中,0x06命令为写使能命令,发送0x06命令的目的是使SPI NORFLASH处于可写入状态,即,使SPI NOR FLASH的写使能锁定标志位的状态为1,0x06命令为SPI控制器发送第32个到第39个时钟的数据,发送完成后执行步骤S407。
在步骤S407中,通过SPI控制器向SPI NOR FLASH发送0x05命令。
在本发明实施例中,0x05命令为读状态命令,发送0x05命令的目的是获取SPI NORFLASH的状态,0x05命令为SPI控制器发送第40个时钟到第47个时钟的数据,发送完成后执行步骤S408;
在步骤S408中,读取1个字节的数据。
在本发明实施例中,该1个字节的数据为SPI控制器读取第48个到第55个时钟的数据。
在步骤S409中,判断读取到的该1个字节的数据的目标位的状态是否为1,是则执行步骤S410,否则跳转至步骤S414。
在本发明实施例中,该目标位为读取到的该1个字节的第二位(bit1),该目标位为写使能锁定标志位,判断该目标位的状态是否为1,是则,判断出SPI NOR FLASH处于可写入状态,跳转至步骤S410,否则,判断出SPI NOR FLASH不处于该可写入状态,跳转至步骤S414。
在步骤S410中,通过SPI控制器向SPI NOR FLASH发送0x04命令。
在本发明实施例中,0x04命令为写禁用命令,发送0x04命令的目的是使SPI NORFLASH处于写禁用状态,即,使SPI NOR FLASH的写使能锁定标志位的状态为0,0x04命令为SPI控制器发送的第56个到第63个时钟的数据。
在步骤S411中,通过SPI控制器向SPI NOR FLASH发送0x05命令。
在本发明实施例中,发送0x05命令的目的是再次获取SPI NOR FLASH的状态,0x05命令为SPI控制器发送的第64个到第71个时钟的数据。
在步骤S412中,读取1个字节的数据。
在本发明实施例中,该1个字节的数据为SPI控制器读取的第72个到79个时钟的数据。
在步骤S413中,判断读取到的该1个字节的数据的目标位的状态是否为0,是则跳转至步骤S404,否则执行步骤S414。
在本发明实施例中,该目标位为读取到的该1个字节的数据的第二位(bit1),该目标位为写使能锁定标志位,判断该目标位的状态是否为0,是则,判断出SPI NOR FLASH处于禁止写入状态,跳转至步骤S404,否则,判断出SPI NOR FLASH不处于禁止写入状态,跳转至步骤S414。
在步骤S414中,输出SPI NOR FLASH识别失败信息。
实施例五:
图5示出了本发明实施例五提供的基于ROM的SPI NOR FLASH识别装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
第一命令发送单元51,用于通过SPI控制器向SPI NOR FLASH发送写使能命令,以使该SPI NOR FLASH处于可写入状态;
第一状态判断单元52,用于判断该SPI NOR FLASH是否处于可写入状态;
第二命令发送单元53,用于当判断出该SPI NOR FLASH处于该可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令以使该SPI NOR FLASH处于禁止写入状态;
第二状态判断单元54,用于判断该SPI NOR FLASH是否处于禁止写入状态;以及
识别单元55,用于当判断出该SPI NOR FLASH处于禁止写入状态时,输出SPI NORFLASH识别成功信息。
优选地,该装置还包括:
第三命令发送单元,用于通过该SPI控制器向该SPI NOR FLASH发送读设备ID命令;
ID信息读取单元,用于读取该SPI NOR FLASH的设备ID信息;
ID信息判断单元,用于判断读取到的该设备ID信息是否存在于预设的FLASH支持列表中;以及
识别子单元,用于当判断出该设备ID信息不存在于该FLASH支持列表中时,触发该识别单元通过SPI控制器向SPI NOR FLASH发送写使能命令。
优选地,该读设备ID命令为0x9F命令。
优选地,该读取到的设备ID信息包含3个字节的数据,该装置还包括:
数据判断单元,用于判断该3个字节的数据是否相同;是则,输出SPI NOR FLASH识别失败信息;否则,触发识别单元执行通过该SPI控制器向该SPI NOR FLASH发送预设的操作命令。
优选地,该设备ID信息包含厂商ID信息,该ID信息判断单元还包括:
判断子单元,用于判断读取到的该厂商ID信息是否存在于预设的FLASH支持列表中。
在本发明实施例中,基于ROM的SPI NOR FLASH识别装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。基于ROM的SPI NOR FLASH识别装置的各单元的具体实施方式可参考前述方法实施例的描述,在此不再赘述。
实施例六:
图6示出了本发明实施例六提供的基于ROM的SPI NOR FLASH识别系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的基于ROM的SPI NOR FLASH识别系统包括SOC芯片6和SPI NORFLASH7,该SOC芯片6内部包括处理器60、只读存储器61、以及SPI控制器62,该SPI控制器与该SPI NOR FLASH通过SPI总线相连,该只读存储器上存储有可在该处理器上运行的计算机程序63。该处理器60执行计算机程序63时实现上述各方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,处理器60执行计算机程序63时实现上述各装置实施例中各单元的功能,例如图5所示单元51至55的功能。
在本发明实施例中,通过SPI控制器向SPI NOR FLASH发送写使能命令,以使该SPINOR FLASH处于可写入状态,判断该SPI NOR FLASH是否处于可写入状态,当判断出该SPINOR FLASH处于该可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令,以使该SPI NOR FLASH处于禁止写入状态,判断该SPI NOR FLASH是否处于禁止写入状态,当判断出该SPI NOR FLASH处于禁止写入状态时,输出SPI NOR FLASH识别成功信息,从而实现了SPI NOR FLASH的动态识别,进而提高了对SPI NOR FLASH的识别准确率。
实施例七:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所示的步骤S101至S105。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图5所示单元51至55的功能。
在本发明实施例中,通过SPI控制器向SPI NOR FLASH发送写使能命令,以使该SPINOR FLASH处于可写入状态,判断该SPI NOR FLASH是否处于可写入状态,当判断出该SPINOR FLASH处于该可写入状态时,通过该SPI控制器向该SPI NOR FLASH发送写禁用命令,以使该SPI NOR FLASH处于禁止写入状态,判断该SPI NOR FLASH是否处于禁止写入状态,当判断出该SPI NOR FLASH处于禁止写入状态时,输出SPI NOR FLASH识别成功信息,从而实现了SPI NOR FLASH的动态识别,进而提高了对SPI NOR FLASH的识别准确率。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于ROM的SPI NOR FLASH识别方法,其特征在于,所述方法包括下述步骤:
通过SPI控制器向SPI NOR FLASH发送写使能命令,以使所述SPI NOR FLASH处于可写入状态;
判断所述SPI NOR FLASH是否处于可写入状态;
当判断出所述SPI NOR FLASH处于所述可写入状态时,通过所述SPI控制器向所述SPINOR FLASH发送写禁用命令,以使所述SPI NOR FLASH处于禁止写入状态;
判断所述SPI NOR FLASH是否处于禁止写入状态;
当判断出所述SPI NOR FLASH处于禁止写入状态时,输出SPI NOR FLASH识别成功信息。
2.如权利要求1所述的方法,其特征在于,通过SPI控制器向SPI NOR FLASH发送写使能命令的步骤之前,包括:
通过所述SPI控制器向所述SPI NOR FLASH发送读设备ID命令;
读取所述SPI NOR FLASH的设备ID信息;
判断读取到的所述设备ID信息是否存在于预设的FLASH支持列表中;
当判断出所述设备ID信息不存在于所述FLASH支持列表中时,跳转至通过SPI控制器向SPI NOR FLASH发送写使能命令的步骤。
3.如权利要求2所述的方法,其特征在于,所述读设备ID命令为0x9F命令。
4.如权利要求3所述的方法,其特征在于,读取到的所述设备ID信息为3个字节的数据,所述通过SPI控制器向SPI NOR FLASH发送写使能命令的步骤之前,还包括:
判断所述3个字节的数据是否相同,是则,输出SPI NOR FLASH识别失败信息,否则,跳转至SPI控制器通过所述SPI控制器向所述SPI NOR FLASH发送预设的操作命令。
5.如权利要求1所述的方法,其特征在于,所述判断所述SPI NOR FLASH是否处于可写入状态的步骤之后,包括:
当所述SPI NOR FLASH不处于所述可写入状态时,输出SPI NOR FLASH识别失败信息。
6.如权利要求1所述的方法,其特征在于,所述判断所述SPI NOR FLASH是否处于禁止写入状态的步骤之后,包括:
当所述SPI NOR FLASH不处于所述禁止写入状态时,输出SPI NOR FLASH识别失败信息。
7.一种基于ROM的SPI NOR FLASH识别装置,其特征在于,所述装置包括:
第一命令发送单元,用于通过SPI控制器向SPI NOR FLASH发送写使能命令,以使所述SPI NOR FLASH处于可写入状态;
第一状态判断单元,用于判断所述SPI NOR FLASH是否处于可写入状态;
第二命令发送单元,用于当判断出所述SPI NOR FLASH处于所述可写入状态时,通过所述SPI控制器向所述SPI NOR FLASH发送写禁用命令,以使所述SPI NOR FLASH处于禁止写入状态;
第二状态判断单元,用于判断所述SPI NOR FLASH是否处于禁止写入状态;以及
识别单元,用于当判断出所述SPI NOR FLASH处于禁止写入状态时,输出SPI NORFLASH识别成功信息。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
第三命令发送单元,用于通过所述SPI控制器向所述SPI NOR FLASH发送读设备ID命令;
ID信息读取单元,用于读取所述SPI NOR FLASH的设备ID信息;
ID信息判断单元,用于判断读取到的所述设备ID信息是否存在于预设的FLASH支持列表中;以及
识别子单元,用于当判断出所述设备ID信息不存在于所述FLASH支持列表中时,触发所述识别单元通过SPI控制器向SPI NOR FLASH发送写使能命令。
9.一种基于ROM的SPI NOR FLASH识别系统,包括SOC芯片和SPI NOR FLASH,所述SOC芯片内部包括处理器、只读存储器、以及SPI控制器,所述SPI控制器与所述SPI NOR FLASH通过SPI总线相连,所述只读存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
CN201910908064.4A 2019-09-25 2019-09-25 基于rom的spi nor flash识别方法、装置、系统及存储介质 Active CN110413331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910908064.4A CN110413331B (zh) 2019-09-25 2019-09-25 基于rom的spi nor flash识别方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910908064.4A CN110413331B (zh) 2019-09-25 2019-09-25 基于rom的spi nor flash识别方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN110413331A true CN110413331A (zh) 2019-11-05
CN110413331B CN110413331B (zh) 2020-01-17

Family

ID=68370623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910908064.4A Active CN110413331B (zh) 2019-09-25 2019-09-25 基于rom的spi nor flash识别方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN110413331B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338702A (zh) * 2020-02-27 2020-06-26 珠海亿智电子科技有限公司 一种基于片外nor-flash的SOC系统引导方法
CN112053727A (zh) * 2020-08-20 2020-12-08 珠海格力电器股份有限公司 Eeprom掉电保护控制方法、装置、存储介质及存储设备
CN113641595A (zh) * 2021-07-30 2021-11-12 珠海一微半导体股份有限公司 独立块保护模式的spi flash在brom阶段的类型识别方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271409A1 (en) * 2006-05-16 2007-11-22 Seiji Miura Memory module, memory system, and data processing system
CN101807173A (zh) * 2010-02-26 2010-08-18 北京飞天诚信科技有限公司 快速烧写两个以上spi设备的方法
CN104461959A (zh) * 2014-11-05 2015-03-25 福州瑞芯微电子有限公司 区分NOR Flash与NAND Flash的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271409A1 (en) * 2006-05-16 2007-11-22 Seiji Miura Memory module, memory system, and data processing system
CN101807173A (zh) * 2010-02-26 2010-08-18 北京飞天诚信科技有限公司 快速烧写两个以上spi设备的方法
CN104461959A (zh) * 2014-11-05 2015-03-25 福州瑞芯微电子有限公司 区分NOR Flash与NAND Flash的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HK386: "N76E003里的SPI+FLASH指令问题", 《中国电子网》 *
倪峰: "基于Zynq7000嵌入式平台的Flash验证系统设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338702A (zh) * 2020-02-27 2020-06-26 珠海亿智电子科技有限公司 一种基于片外nor-flash的SOC系统引导方法
CN111338702B (zh) * 2020-02-27 2022-04-26 珠海亿智电子科技有限公司 一种基于片外nor-flash的SOC系统引导方法
CN112053727A (zh) * 2020-08-20 2020-12-08 珠海格力电器股份有限公司 Eeprom掉电保护控制方法、装置、存储介质及存储设备
CN112053727B (zh) * 2020-08-20 2023-03-31 珠海格力电器股份有限公司 Eeprom掉电保护控制方法、装置、存储介质及存储设备
CN113641595A (zh) * 2021-07-30 2021-11-12 珠海一微半导体股份有限公司 独立块保护模式的spi flash在brom阶段的类型识别方法及系统
CN113641595B (zh) * 2021-07-30 2023-08-11 珠海一微半导体股份有限公司 独立块保护模式的spi flash在brom阶段的类型识别方法及系统

Also Published As

Publication number Publication date
CN110413331B (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
CN110413331A (zh) 基于rom的spi nor flash识别方法、装置、系统及存储介质
US7099750B2 (en) Data access method and data access apparatus for accessing data at on-vehicle information device
CN106850476B (zh) 均衡器调整方法、可适性均衡器及存储器存储装置
KR102372972B1 (ko) 메모리 어드레싱 방법 및 관련 컨트롤러, 메모리 장치 및 호스트
CN107290650A (zh) Bist逻辑电路、低功耗芯片、存储器的测试方法及电子设备
CN116820586A (zh) 一种程序加载的方法及相关装置和存储介质和程序
CN113396399A (zh) 具有带单根虚拟化的多个端口的存储器子系统
CN116679887B (zh) 用于NAND Flash的通用控制模块及方法
WO2013085305A1 (ko) 비휘발성 메모리 시스템 및 이를 프로그램하는 방법
US11875064B2 (en) Solid state drive supporting both byte addressable protocol and block addressable protocol
CN106128507A (zh) 信息处理方法及存储设备
US9710374B2 (en) Data writing method, memory controller and memory storage device
US8595418B2 (en) Memory configuring method, memory controller and memory storage apparatus
CN112148203B (zh) 存储器管理方法、装置、电子设备及存储介质
US10997087B2 (en) Direct memory access
US8122205B2 (en) Structured virtual registers for embedded controller devices
US20130246687A1 (en) Data writing method, memory controller and memory storage apparatus
CN111831210B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
US11593289B2 (en) Direct memory access
CN106033321B (zh) 响应读取方法及数据传输系统
CN116880905B (zh) 一种数据存储方法、装置、存储介质及电子设备
CN110908592B (zh) 存储器管理方法以及存储控制器
US20230305725A1 (en) Memory configuration within a data processing system
CN106155564B (zh) 存储装置管理方法与系统及其存储器存储装置
CN118113632A (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
GR01 Patent grant
GR01 Patent grant