CN113467843A - 嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 - Google Patents
嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113467843A CN113467843A CN202110713700.5A CN202110713700A CN113467843A CN 113467843 A CN113467843 A CN 113467843A CN 202110713700 A CN202110713700 A CN 202110713700A CN 113467843 A CN113467843 A CN 113467843A
- Authority
- CN
- China
- Prior art keywords
- memory
- mode
- information
- wire spi
- spi mode
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000015654 memory Effects 0.000 claims abstract description 92
- 230000002093 peripheral effect Effects 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质。该嵌入式设备的启动方法包括:系统引导程序在启动时,以单线串行外设接口SPI模式读取与处理器连接的存储器中的头信息,所述头信息至少包括指示所述存储器是否支持四线SPI模式的信息;如果读取的头信息指示存储器支持四线SPI模式,则所述系统引导程序进行四线SPI模式的初始化,并且以四线SPI模式访问所述存储器中的数据。由此,可独立于处理器地对存储器的访问模式进行设置,使得嵌入式设备既能够支持单线SPI模式,又支持四线SPI模式,来对存储器进行访问操作,为嵌入式设备的开发者提供了灵活性和便利性。
Description
技术领域
本发明实施例涉及嵌入式设备,尤其涉及一种嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质。
背景技术
目前,市面上的存储芯片(如Flash、SRAM等)大部分支持单线串行外设接口(SPI)模式和四线SPI模式。当使用SPI接口对存储芯片进行操作时,嵌入式设备的处理器(CPU)先后向使用的存储芯片发送命令代码、地址、虚字节等以及相关数据。图1示出了从存储芯片读取数据的时序过程。
如果在读取数据时使用快速读取四线输出操作,在读数据时使用更多的信号线可加快读取速度,如图2所示。在此情况下,嵌入式设备的处理器(CPU)需要预先通过发送命令来配置使能存储芯片的四线SPI模式,该命令代码、地址、写入值等要素会根据存储芯片型号有所不同。
然而,系统引导程序(Boot Loader)的代码一旦被写入处理器芯片,即无法被更改。当嵌入式设备启动时,如需要对存储芯片进行访问操作,通常使用单线SPI模式,无法获知是否可使用四线SPI模式。
发明内容
本发明实施例的目的在于,提供一种针对嵌入式设备的启动方案,以在启动时智能地确定适于存储器的读取模式。
根据本发明实施例的一方面,提供一种嵌入式设备的启动方法,包括:系统引导程序在启动时,以单线串行外设接口SPI模式读取与处理器连接的存储器中的头信息,所述头信息至少包括指示所述存储器是否支持四线SPI模式的信息;如果读取的头信息指示存储器支持四线SPI模式,则所述系统引导程序进行四线SPI模式的初始化,并且以四线SPI模式访问所述存储器中的数据。
可选地,所述头信息还包括头标记,并且所述系统引导程序通过所述头标记识别所述头信息。
可选地,所述头信息还包括四线SPI模式的参数信息,所述系统引导程序进行四线SPI模式的初始化,包括:所述系统引导程序根据所述参数信息,进行四线SPI模式的初始化。
可选地,所述头信息还包括所述处理器对存储器的数据读写方式的信息。在读取与处理器连接的存储器中的头信息后,所述方法还包括:所述系统引导程序根据所述数据读写方式的信息,进行所述处理器对存储器的数据读写方式的设置。
可选地,所述访问模式包括加密访问模式、双倍数据速率DDR模式和直接存储器访问DMA模式中的至少一个。
可选地,所述头信息的长度为32字节,其中,所述头标记占用4个字节,所述指示所述存储器是否支持四线SPI模式的信息占用指定字节的低4位,所述四线SPI模式的参数信息占用8个字节,所述数据读写方式的信息占用4个字节。
可选地,所述方法还包括:在所述嵌入式设备开机启动前,将所述用于指示支持四线SPI模式的信息写入所述存储器的头信息。
根据本发明实施例的另一方面,提供一种嵌入式设备,包括:处理器,包括系统引导程序;存储器,与所述处理器连接,在其头信息内记录有至少包括指示所述存储器是否支持四线SPI模式的信息。其中,系统引导程序在启动时,读取所述存储器的头信息,如果读取的头信息指示存储器支持四线SPI模式,则所述系统引导程序进行四线SPI模式的初始化,并且以四线SPI模式访问所述存储器中的数据。
可选地,所述头信息还包括头标记和四线SPI模式的参数信息;其中,所述系统引导程序通过所述头标记识别所述头信息;其中,所述系统引导程序进行四线SPI模式的初始化,包括:所述系统引导程序根据所述参数信息,进行四线SPI模式的初始化。
可选地,所述头信息的长度为32字节,其中,所述头标记占用4个字节,所述指示所述存储器是否支持四线SPI模式的信息占用指定字节的低4位,所述四线SPI模式的参数信息占用8个字节。
可选地,所述处理器和所述存储器被封装在处理器芯片中。
根据本发明实施例的又一方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时用于实现任一前述嵌入式设备的启动方法。
根据本发明实施例的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质,通过在启动中从存储器获得访问模式的方式,动态地支持以更高速率访问存储器中的数据。
附图说明
图1示出了从存储芯片读取数据的时序过程的示意图;
图2示出了以四线SPI模式从存储芯片读取数据的时序过程的示意图;
图3是示出根据本发明实施例的嵌入式设备的启动方法的流程图;
图4示出根据本发明实施例的头信息400的示意图;
图5是示出根据本发明实施例的嵌入式设备的示意性框图。
具体实施方式
下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施例的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明实施例的嵌入式设备以及其启动方法涉及在系统开机启动时对与嵌入式设备的处理器连接的存储器的访问控制。
根据本发明的总体发明构思,在与处理器连接的存储器中设置头信息,并且在该头信息中预先写入至少包括用于指示存储器是否支持四线SPI模式的信息;此后,在开机启动时,由处理器的系统引导程序读取该头信息,并且根据头信息中用于指示存储器支持四线SPI模式的信息,自动地将存储器的访问模式转换为四线SPI模式,并以四线SPI模式访问所述存储器中的数据,通过在启动中从存储器获得访问模式的方式,动态地支持以更高速率访问存储器中的数据(如应用数据)。
具体地,在根据本发明实施例的解决方案中,可例如在分发配有不同访问模式的存储器的处理器芯片之前,根据配备的存储器支持的访问模式的类型,预先在该存储器的头信息中写入包含用于指示是否支持四线SPI模式的信息。此外,将该处理器的系统引导程序设计为,在启动时从该存储器读取该头信息,并且根据该头信息中记录的信息确定是否转换为四线SPI模式来进行存储器的访问处理。
这里,该存储器可以是单独的存储器芯片,也可以与处理器封装在处理器芯片中。
图3是示出根据本发明一些实施例的嵌入式设备的启动方法的流程图。
参照图3,在步骤S310,系统引导程序在启动时,以单线串行外设接口SPI模式读取与处理器连接的存储器中的头信息,该头信息至少包含用于指示存储器是否支持四线SPI模式的信息。
例如,可在存储器的指定位置,预留出一定长度的存储空间,用以记录该头信息。对于存储资源有限的嵌入式设备来说,需将该头信息的长度控制在尽可能短的长度范围。
如前所述,为了预先在该存储器的头信息中写入包含用于指示是否支持四线SPI模式的信息,可在嵌入式设备开机启动前,例如在分发该嵌入式设备前,将所述用于指示支持四线SPI模式的信息写入所述存储器的头信息。
根据本发明的可选实施例,该头信息还包括头标记,并且系统引导程序通过该头标记识别所述头信息,以确保读取到的是头信息。通常,可将该头标记记录在头信息的起始位置。
如果读取的头信息指示存储器支持四线SPI模式,则执行步骤S320。
在步骤S320,系统引导程序进行四线SPI模式的初始化,并且以四线SPI模式访问所述存储器中的数据。
具体地,之前以单线SPI模式对存储器进行读取的系统引导程序针对存储器执行四线SPI模式的初始化,从而实现四线SPI模式的转换,并且以四线SPI模式访问所述存储器中的数据。
如果读取的头信息指示存储器不支持四线SPI模式,则继续已单线SPI模式访问存储器中的数据。
通过前述步骤S310~S320的处理,系统引导程序在启动时,可从与处理器连接的存储器获取用于指示存储器是否支持四线SPI模式的信息,并且根据该信息确定是否转换为四线SPI模式进行存储器的读取。由此,可独立于处理器的系统引导程序地对存储器的访问模式进行设置,使得嵌入式设备既能够支持单线SPI模式,又支持四线SPI模式,来对存储器进行访问操作,为嵌入式设备的开发者提供了灵活性和便利性。
根据本发明的可选实施例,在头信息指示存储器支持四线SPI模式的情况下,还在该头信息中还记录四线SPI模式的参数信息,例如存储器的型号相关的参数信息,但不限于此。
相应地,在步骤S320,系统引导程序根据头信息中记录的四线SPI模式的参数信息,执行针对存储器的四线SPI模式的初始化,以对四线SPI模式的访问进行参数设置。
在此基础上,开发者还可在该头信息内记录其他与存储器的访问相关的设置信息,例如处理器对存储器的数据读写方式的信息。该数据读写方式可以是例如,加密访问模式、双倍数据速率DDR模式和直接存储器访问DMA模式等,但不限于此。
相应地,在读取与处理器连接的存储器中的头信息后,本发明实施例的嵌入式设备的启动方法可还包括,系统引导程序根据所述数据读写方式的信息,进行所述处理器对存储器的数据读写方式的设置。
此外,开发者还可根据应用场景的需要,在头信息内记录与嵌入式设备、处理器等相关的其他功能(例如,安全功能)相关的信息,从而对嵌入式设备的相关功能进行设置。
关于存储器中的头信息的设置,根据本发明的示例性实施例,可将头信息设置为32字节,以节省存储空间。
图4示出根据本发明实施例的头信息400的示意图。
如图4所示,位于头信息400头部的字节0~3用于记录头标记410,头标记(flag)占用4个字节;字节4~7用于记录数据读写方式的信息420,计4个字节;字节9~15用于记录与存储器中的数据相关的信息430;字节16的低4位记录用于指示所述存储器是否支持四线SPI模式的信息440;字节24~31用于记录四线SPI模式的参数信息450。
本领域普通技术人员可以理解,可以使用任意顺序、任意字节数来记录前述信息,而不限于前述的设置形式。
本发明的实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时用于实现任一前述嵌入式设备的启动方法。
另一方面,本发明的实施例还提供一种实现前述任一启动方法的嵌入式设备。图5示出了根据本发明实施例的嵌入式设备500的示意性框图。
如图5所示,嵌入式设备500包括处理器510和存储器520,该处理器510内写有系统引导程序515。存储器520记录有至少包括指示所述存储器是否支持四线SPI模式的信息。
根据本发明的示例性实施例,所述头信息还包括头标记和四线SPI模式的参数信息;其中,所述系统引导程序通过所述头标记识别所述头信息;其中,所述系统引导程序进行四线SPI模式的初始化,包括:系统引导程序根据所述参数信息,进行四线SPI模式的初始化。
可选地,头信息的长度为32字节,其中,所述头标记占用4个字节,所述指示所述存储器是否支持四线SPI模式的信息占用指定字节的低4位,所述四线SPI模式的参数信息占用8个字节。
如前所述,存储器520可以是单独的存储器芯片,也可以与处理器510封装在处理器芯片中。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (12)
1.一种嵌入式设备的启动方法,包括:
系统引导程序在启动时,以单线串行外设接口SPI模式读取与处理器连接的存储器中的头信息,所述头信息至少包括指示所述存储器是否支持四线SPI模式的信息;
如果读取的头信息指示存储器支持四线SPI模式,则所述系统引导程序进行四线SPI模式的初始化,并且以四线SPI模式访问所述存储器中的数据。
2.根据权利要求1所述的启动方法,其特征在于,所述头信息还包括头标记,并且所述系统引导程序通过所述头标记识别所述头信息。
3.根据权利要求2所述的启动方法,其特征在于,所述头信息还包括四线SPI模式的参数信息,
所述系统引导程序进行四线SPI模式的初始化,包括:
所述系统引导程序根据所述参数信息,进行四线SPI模式的初始化。
4.根据权利要求2或3所述的启动方法,其特征在于,所述头信息还包括所述处理器对存储器的数据读写方式的信息,
在读取与处理器连接的存储器中的头信息后,所述方法还包括:
所述系统引导程序根据所述数据读写方式的信息,进行所述处理器对存储器的数据读写方式的设置。
5.根据权利要求4所述的启动方法,其特征在于,所述访问模式包括加密访问模式、双倍数据速率DDR模式和直接存储器访问DMA模式中的至少一个。
6.根据权利要求4所述的启动方法,其特征在于,所述头信息的长度为32字节,其中,所述头标记占用4个字节,所述指示所述存储器是否支持四线SPI模式的信息占用指定字节的低4位,所述四线SPI模式的参数信息占用8个字节,所述数据读写方式的信息占用4个字节。
7.根据权利要求1~6中任一项所述的启动方法,其特征在于,所述方法还包括:
在所述嵌入式设备开机启动前,将所述用于指示支持四线SPI模式的信息写入所述存储器的头信息。
8.一种嵌入式设备,包括:
处理器,包括系统引导程序;
存储器,与所述处理器连接,在其头信息内记录有至少包括指示所述存储器是否支持四线SPI模式的信息,
其中,系统引导程序在启动时,读取所述存储器的头信息,如果读取的头信息指示存储器支持四线SPI模式,则所述系统引导程序进行四线SPI模式的初始化,并且以四线SPI模式访问所述存储器中的数据。
9.根据权利要求8所述的嵌入式设备,其特征在于,所述头信息还包括头标记和四线SPI模式的参数信息,
其中,所述系统引导程序通过所述头标记识别所述头信息,
其中,所述系统引导程序进行四线SPI模式的初始化,包括:
所述系统引导程序根据所述参数信息,进行四线SPI模式的初始化。
10.根据权利要求9所述的嵌入式设备,其特征在于,所述头信息的长度为32字节,其中,所述头标记占用4个字节,所述指示所述存储器是否支持四线SPI模式的信息占用指定字节的低4位,所述四线SPI模式的参数信息占用8个字节。
11.根据权利要求8~10中任一项所述的嵌入式设备,其特征在于,所述处理器和所述存储器被封装在处理器芯片中。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时用于实现如权利要求1~7中任一项所述的嵌入式设备的启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713700.5A CN113467843A (zh) | 2021-06-25 | 2021-06-25 | 嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713700.5A CN113467843A (zh) | 2021-06-25 | 2021-06-25 | 嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113467843A true CN113467843A (zh) | 2021-10-01 |
Family
ID=77873047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110713700.5A Pending CN113467843A (zh) | 2021-06-25 | 2021-06-25 | 嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467843A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006764A1 (en) * | 2012-06-28 | 2014-01-02 | Robert Swanson | Methods, systems and apparatus to improve system boot speed |
CN111338702A (zh) * | 2020-02-27 | 2020-06-26 | 珠海亿智电子科技有限公司 | 一种基于片外nor-flash的SOC系统引导方法 |
CN111897749A (zh) * | 2020-06-23 | 2020-11-06 | 中国船舶重工集团公司第七0七研究所 | 基于Quad-SPI控制器与外扩FLASH通信控制系统及方法 |
CN112230997A (zh) * | 2020-09-30 | 2021-01-15 | 瑞芯微电子股份有限公司 | 一种芯片启动方法及存储介质 |
-
2021
- 2021-06-25 CN CN202110713700.5A patent/CN113467843A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006764A1 (en) * | 2012-06-28 | 2014-01-02 | Robert Swanson | Methods, systems and apparatus to improve system boot speed |
CN111338702A (zh) * | 2020-02-27 | 2020-06-26 | 珠海亿智电子科技有限公司 | 一种基于片外nor-flash的SOC系统引导方法 |
CN111897749A (zh) * | 2020-06-23 | 2020-11-06 | 中国船舶重工集团公司第七0七研究所 | 基于Quad-SPI控制器与外扩FLASH通信控制系统及方法 |
CN112230997A (zh) * | 2020-09-30 | 2021-01-15 | 瑞芯微电子股份有限公司 | 一种芯片启动方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7082525B2 (en) | Booting from non-linear memory | |
KR101395778B1 (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
JP4945186B2 (ja) | 記憶装置およびこれを含むメモリシステム | |
US20030028733A1 (en) | Memory apparatus | |
JP4628750B2 (ja) | バッファメモリを内蔵したフラッシュメモリ装置及びフラッシュメモリシステム | |
KR101555210B1 (ko) | 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치 | |
JP3519954B2 (ja) | チップイネーブル信号生成回路及びメモリ装置 | |
US20110246760A1 (en) | Electronic device and electronic device system | |
JP2008547068A (ja) | 複数個のdmaチャンネルを有するusb−sd保存装置及びその保存方法と記録媒体 | |
JP2012514247A (ja) | シリアル不揮発性メモリに対する向上されたアドレス能力 | |
TW202314723A (zh) | 記憶體定址方法及相關聯的控制器 | |
US20160179392A1 (en) | Non-volatile memory device | |
CN116679887B (zh) | 用于NAND Flash的通用控制模块及方法 | |
CN110413331B (zh) | 基于rom的spi nor flash识别方法、装置、系统及存储介质 | |
US7979606B2 (en) | Method for storing data | |
US8694138B2 (en) | Sound data processing appartus | |
CN113467843A (zh) | 嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 | |
CN115576499A (zh) | 一种实时系统访及其访问Flash安全性加强方法 | |
CN109729730B (zh) | 写入信息的方法和装置 | |
KR20110078171A (ko) | 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법 | |
JP2008065725A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
JP2006331233A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US7213142B2 (en) | System and method to initialize registers with an EEPROM stored boot sequence | |
CN114756480A (zh) | 基于dsp板卡的nor flash存储空间扩展方法及装置 | |
JP2006350703A (ja) | 記憶デバイス |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211001 |