本发明涉及芯片启动技术,尤其涉及一种芯片启动方法、芯片和计算机可读存储介质。
背景技术:
对于一些芯片而言,可以使用快闪(flash)存储器作为片外的存储介质;例如,系统级芯片(systemonachip,soc)可以使用串行外设接口(serialperipheralinterface)flash存储器作为片外的存储介质。
在实际实施时,可以在上述记载的flash存储器存储只读存储器启动(bootread-onlymemory,bootrom)代码,芯片可以通过读取bootrom代码实现启动。
现有技术中,芯片启动时使用的bootrom代码会随着外接的flash存储器的类型变化而变化;例如,spinorflash存储器和spinandflash存储器均可以作为存储bootrom代码的存储器,而且,这两类flash存储器的生产厂商都很多,各个生产厂家制造的同一类flash存储器也可能存在区别,这些区别会导致芯片的bootrom代码随着flash存储器的变化而变动。
如此,在芯片制造完成后,芯片的默认的读取bootrom代码的指令可能不适用于某些flash存储器,导致芯片启动失败。
技术实现要素:
为解决现有存在的技术问题,本发明实施例提供一种芯片启动方法、芯片和计算机可读存储介质,能够根据外接的flash存储器,生成对应的读操作指令,进而可以获取到正确的bootrom代码,可以提高芯片启动的成功率。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种芯片启动方法,所述芯片外接有flash存储器,所述方法包括:
在所述芯片复位,并进入bootrom流程时,读取指示信号;基于所述指示信号确定所述flash存储器的类型;
基于与所述flash存储器的类型对应的读操作指令,从所述flash存储器中读取bootrom代码;基于所述bootrom代码进行芯片启动。
本发明实施例还提供了一种外接有快闪flash存储器的芯片,所述芯片中存储有指示信号,所述指示信号用于指示所述flash存储器的类型;所述芯片中设置有控制器;其中,
所述控制器,用于在所述芯片复位,并进入只读存储器启动bootrom流程时,读取指示信号;基于所述指示信号确定所述flash存储器的类型;基于与所述flash存储器的类型对应的读操作指令,从所述flash存储器中读取bootrom代码;基于所述bootrom代码进行芯片启动。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,应用于外接有快闪flash存储器的芯片中,所述计算机程序被处理器执行时实现上述任意一种芯片启动方法的步骤。
本发明实施例提供的一种芯片启动方法、芯片和计算机可读存储介质中,所述芯片外接有flash存储器,所述方法包括:在所述芯片复位,并进入bootrom流程时,读取指示信号;基于所述指示信号确定所述flash存储器的类型;基于与所述flash存储器的类型对应的读操作指令,从所述flash存储器中读取bootrom代码;基于所述bootrom代码进行芯片启动。可以看出,本发明实施例能够根据外接的flash存储器,生成对应的读操作指令,进而可以获取到正确的bootrom代码,可以提高芯片启动的成功率。
附图说明
图1为本发明实施例的芯片启动方法的第一流程图;
图2为本发明实施例的芯片的管脚示意图;
图3为本发明实施例的芯片启动方法的第二流程图;
图4为本发明实施例的芯片的结构示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一实施例
本发明第一实施例记载了一种芯片启动方法,芯片可以是soc、微控制单元(microcontrollerunit,mcu)或其他类型的芯片,该芯片外接有flash存储器;本发明实施例可以在兼容各种类型的外接flash存储器的情况下,实现芯片的启动。
图1为本发明实施例的芯片启动方法的第一流程图,如图1所示,该流程包括:
步骤101:在芯片复位,并进入bootrom流程时,读取指示信号;基于指示信号确定所述flash存储器的类型。
这里,可以利用芯片存储指示信号,指示信号用于指示flash存储器的类型。
在实际实施时,指示信号的形式包括但不限于时钟信号、高低电平信号等。
可选的,可以利用芯片的管脚(pad)存储指示信号;进一步地,可以利用芯片的管脚锁存指示信号,中设置由锁存器,可以利用该锁存器锁存指示信号;这里,锁存的含义是:把信号暂存以维持某种电平状态。
图2为本发明实施例的芯片的管脚示意图,如图2所示,芯片的两个管脚分别为管脚a和管脚b,在实际实施时,可以利用管脚a和管脚b中的至少一个锁存指示信号,例如,可以将指示信号锁存到芯片的寄存中。
可以理解的是,bootrom流程的功能在于启动芯片;在实际实施时,在bootrom流程中,芯片会读取外接的flash存储器的代码,以实现自身的启动。
显然,在芯片读取到指示信号后,可以确定对应的flash存储器的类型,从而可以根据flash存储器的类型执行正确的数据处理操作。
步骤102:基于与flash存储器的类型对应的读操作指令,从flash存储器中读取bootrom代码;基于bootrom代码进行芯片启动。
在实际实施时,可以在芯片中预先存储各种flash存储器的类型对应的读操作指令;在采用与flash存储器的类型对应的读操作指令读取bootrom代码时,可以实现bootrom代码的正确读取,从而可以确保芯片启动成功,
本发明实施例中,flash存储器的类型可以根据实际需求进行设置;在一个示例中,flash存储器的类型包括:串行外设接口(spi)norflash存储器和spinandflash存储器;spinandflash存储器可以包括:单存储矩阵(plane)操作模式的spinandflash存储器和双存储矩阵操作模式的spinandflash存储器。
可选的,读取指示信号后,还可以将管脚中存储的指示信号删除;之后,在芯片再次复位时,再次存储对应的指示信号;也就是说,芯片的管脚中的指示信号仅仅在芯片复位时存储相应的指示信号,在读取指示信号后,芯片的用于存储指示信号的管脚可以实现其他功能;如此,可以提高芯片的管脚的功能的扩展性。
下面通过图3说明本发明实施例的芯片启动方法的具体实现流程。
图3为本发明实施例的芯片启动方法的第二流程图,如图3所示,该流程可以包括:
步骤301:芯片复位后,进入bootrom流程。
步骤302:读取芯片存储的指示信号。
步骤303:根据指示信号判断芯片外接flash存储器的类型。
图3中,a类spiflash、b类spiflash、c类spiflash、n类spiflash表示不同的flash存储器的类型。
步骤304:根据芯片外接flash存储器的类型,将flash存储器中的数据读取至芯片中,实现芯片的启动。
例如,可以利用索引随机存储方法(indexedrandomaccessmethod,iram)将flash存储器中的bootrom代码存储至芯片中。
应用本发明实施例的芯片启动方法,能够根据外接的flash存储器,生成对应的读操作指令,进而可以获取到正确的bootrom代码,可以提高芯片启动的成功率。
另外,本发明实施例可以在兼容各种类型的外接flash存储器的情况下,实现芯片的启动,避免出现在芯片无法适用于某些类型的外接flash存储器的情况。
第二实施例
在本发明前述实施例的基础上,本发明第二实施例提出了一种芯片,该芯片外接有flash存储器。
图4为本发明实施例的芯片的结构示意图,如图4所示,该芯片40存储有指示信号,所述指示信号用于指示芯片的外接flash存储器41的类型;所述芯片中设置有控制器401;其中,
所述控制器401,用于在所述芯片复位,并进入只读存储器启动bootrom流程时,读取所述指示信号;基于所述指示信号确定所述flash存储器的类型;基于与所述flash存储器的类型对应的读操作指令,从所述flash存储器中读取bootrom代码;基于所述bootrom代码进行芯片启动。
可选的,所述芯片包括用于存储所述指示信号的管脚。
可选的,所述管脚具体用于锁存所述指示信号。
可选的,所述控制器401,还用于在读取所述指示信号后,将所述管脚中存储的指示信号删除。
另外,在本实施例中的控制器可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。例如,控制器可以是中央处理器(cpu)等器件,也可以通过计算机程序实现。
本实施例中的一种芯片启动方法对应的计算机程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种芯片启动方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述第一实施例的任意一种芯片启动方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。