CN113467842B - 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 - Google Patents
适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113467842B CN113467842B CN202110713697.7A CN202110713697A CN113467842B CN 113467842 B CN113467842 B CN 113467842B CN 202110713697 A CN202110713697 A CN 202110713697A CN 113467842 B CN113467842 B CN 113467842B
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- memory
- upper computer
- download
- 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.)
- Active
Links
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
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质。该适用于工业级应用场景的嵌入式设备的启动方法包括:在嵌入式设备启动时,所述处理器芯片内的系统引导程序检测下载信号接口上的下载控制信号;如果检测到所述下载控制信号,则所述系统引导程序进入下载模式,对外接的存储器中的数据进行访问操作。由此,可在嵌入式设备启动的过程中,对外接存储器执行例如刷写、读取或更新等访问操作,而无需拆卸存储器芯片对其中的数据进行刷新,提供操作便利。
Description
技术领域
本发明实施例涉及嵌入式设备,尤其涉及一种适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质。
背景技术
嵌入式设备的处理器芯片(CPU)上电后,执行系统引导程序。系统引导程序在大部分情况下需要从外接的存储器(如flash存储器或SRAM)读取并执行应用程序。为此,必须事先向外接存储器烧写相应的数据。
当需要更新外接存储器的数据时,如果采用外部烧写的方法,则会发生很多问题,比如需要拆下外接存储器芯片烧写后再焊接。如果电路板的设计特殊,则无法使用外接烧写器来烧写外接存储器,只能先断开原电路板中的某些连线才能正常烧写。
此外,对于使用芯片级系统(SOC)的小型设备来说,为了尽量减小外壳和电路板的尺寸,必须将芯片和存储设备等外设焊死在一个电路板上而难于更换,也难于对存储芯片进行烧写器烧写。这时,如果外接存储器的数据损坏,或者起初写入的数据有bug等情况发生时,非常难以修复外接存储器内的数据。
发明内容
本发明实施例的目的在于,提供一种适用于工业级应用场景的嵌入式设备的启动方案,以在嵌入式设备启动时,实现对外接存储器的刷写。
根据本发明实施例的一方面,提供一种适用于工业级应用场景的嵌入式设备的启动方法,包括:在嵌入式设备启动时,所述嵌入式设备的处理器芯片内的系统引导程序检测所述嵌入式设备的下载信号接口上的下载控制信号;如果检测到所述下载控制信号,则所述系统引导程序进入下载模式,对外接的存储器中的数据进行访问操作。
可选地,对外接的存储器中的数据进行访问操作,包括:系统引导程序向上位机发送嵌入式设备的系统信息;接收上位机发送的命令包,所述命令包包括操作指令和相关的操作数据;所述系统引导程序根据所述操作指令和相关的操作数据对所述存储器执行与所述操作指令相应的操作,并且将操作结果发送给所述上位机。
可选地,所述操作指令为写指令,所述操作数据包括待写数据、起始写入地址和写入数据长度。相应地,所述系统引导程序根据所述操作指令和相关的操作数据对所述存储器执行与所述操作指令相应的操作,包括:所述系统引导程序自所述起始写入地址擦除存储器中所述写入数据长度的已有数据,并且在所述存储器的所述起始写入地址,写入所述写入数据长度的所述待写数据。
可选地,所述命令包还包括所述命令包的第一校验码。相应地,所述接收上位机发送的命令包,包括:接收上位机发送的所述命令包,所述命令包包括写指令、起始写入地址、写入数据长度和第一校验码;所述系统引导程序根据所述第一校验码对所述命令包进行校验;如果对命令包的校验通过,则向所述上位机发送第一确认信息,接收上位机发送的包括所述待写数据的待写数据包,并且向所述上位机发送第二确认信息;如果对命令包的校验失败,则所述系统引导程序将校验失败的消息发送给所述上位机,不进行擦除存储器中的已有数据及写入待写数据的处理。
可选地,所述待写数据包还包括所述待写数据包的第二校验码。其中,在所述系统引导程序根据所述操作指令和相关的操作数据对所述存储器执行与所述操作指令相应的操作之前,所述方法还包括:所述系统引导程序根据所述第二校验码对所述待写数据包进行校验;如果对待写数据包的校验失败,则所述系统引导程序将校验失败的消息发送给所述上位机,不进行擦除存储器中的已有数据及写入待写数据的处理。
可选地,所述操作指令为读指令,所述操作数据包括起始读取地址和读取数据长度;相应地,所述系统引导程序根据所述操作指令和相关的操作数据对所述存储器执行与所述操作指令相应的操作,并且将操作结果发送给所述上位机,包括:所述系统引导程序自所述存储器的所述起始读取地址读取所述读取数据长度的读取数据,并且将包括所述读取数据的读取数据包发送给所述上位机。
可选地,所述命令包还包括所述命令包的第三校验码。在所述系统引导程序自所述存储器的所述起始读取地址读取所述读取数据长度的读取数据之前,所述方法还包括:所述系统引导程序根据所述第三校验码对所述命令包进行校验;如果对命令包的校验失败,则所述系统引导程序将校验失败的消息发送给所述上位机,不进行读取所述读取数据长度的读取数据的处理。
可选地,在将包括所述读取数据的读取数据包发送给所述上位机之前,所述方法还包括:所述系统引导程序生成所述读取数据的第四校验码;所述将包括所述读取数据的读取数据包发送给所述上位机,包括:将包括所述读取数据和所述第四校验码的读取数据包发送给所述上位机。
可选地,所述操作数据还包括所述存储器的访问接口的信息。相应地,所述系统引导程序根据所述操作指令和相关的操作数据对所述存储器执行与所述操作指令相应的操作,包括:所述系统引导程序根据所述操作指令和相关的操作数据,通过所述访问接口对所述存储器执行与所述操作指令相应的操作。
可选地,在系统引导程序向上位机发送嵌入式设备的系统信息之前,所述方法还包括:向所述上位机发送指示准备就绪的信息;接收上位机发送的系统信息请求。
可选地,通过USB接口与所述上位机进行通信。
可选地,所述存储器为所述处理器芯片的外接闪速存储器,所述存储器中的数据包括应用程序的数据。
可选地,所述下载信号接口为GPIO接口,所述下载控制信号为GPIO管脚上的高电平信号,或者,所述下载信号接口为USB接口,或者,所述下载信号接口为串行外设接口SPI,或者,所述下载信号接口为通用异步收发传输器UART接口。
根据本发明实施例的另一方面,提供一种适用于工业级应用场景的嵌入式设备,包括:处理器芯片、所述处理器芯片的外接存储器以及与所述处理器芯片连接的下载信号接口,并且所述处理器芯片内设有系统引导程序;所述系统引导程序用于在嵌入式设备启动时,检测下载信号接口上的下载控制信号,并且如果检测到所述下载控制信号,则所述系统引导程序进入下载模式,对外接的存储器中的数据进行访问操作。
可选地,所述嵌入式设备还包括与上位机连接的通信接口。所述系统引导程序用于在下载模式下,向上位机发送嵌入式设备的系统信息,接收上位机发送的操作指令和相关的操作数据,并且所述系统引导程序根据所述操作指令和相关的操作数据对所述存储器执行与所述操作指令相应的操作,并且将操作结果发送给所述上位机。
根据本发明实施例的又一方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时用于实现任一前述的适用于工业级应用场景的嵌入式设备的启动方法。
根据本发明实施例的适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质,在嵌入式设备上设置与处理器芯片连接的下载信号接口,用于在上电启动时从外部接收下载控制信号。当检测到通过下载信号接口接收到的下载控制信号时,则系统引导程序进入下载模式,对外接的存储器中的数据进行访问操作。由此,可在嵌入式设备启动的过程中,对外接存储器执行例如刷写、读取或更新等访问操作,而无需拆卸存储器芯片对其中的数据进行刷新,提供操作便利。
附图说明
图1示出根据本发明一些实施例的适用于工业级应用场景的嵌入式设备的启动方法的流程图;
图2示出根据本发明另一些实施例的适用于工业级应用场景的嵌入式设备的启动方法的流程图;
图3示出对写指令进行处理时,嵌入式设备与上位机之间的示例性交互的示意图;
图4示出对读指令进行处理时,嵌入式设备与上位机之间的示例性交互的示意图;
图5示出了根据本发明实施例的适用于工业级应用场景的嵌入式设备500的结构示意图。
具体实施方式
下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施例的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
根据本发明的总体发明构思,在嵌入式设备上设置与处理器芯片连接的下载信号接口,用于在上电启动时从外部接收下载控制信号。当检测到通过下载信号接口接收到的下载控制信号时,则系统引导程序进入下载模式,对外接的存储器中的数据进行访问操作。由此,可在嵌入式设备启动的过程中,对外接存储器执行例如刷写、读取或更新等访问操作,而无需拆卸存储器芯片对其中的数据进行刷新,提供操作便利。
具体地,可将该下载信号接口设置为例如GPIO接口、USB接口、串行外设接口SPI、通用异步收发传输器UART接口等,但不限于此。可例如,在嵌入式设备上电启动时,从外部向该GPIO输入高电平信号;系统引导程序通过检测在该GPIO接口的管脚上的高电平信号来确定进入下载模式。再例如,在嵌入式设备上电启动前,通过USB接口与上位机连接;当嵌入式设备上电启动时,系统引导程序通过检测到该嵌入式设备与上位机的连接确定进入下载模式。再例如,在嵌入式设备上电启动时,系统引导程序在完成UART/SPI模块的初始化之后,如果在预定时长内接收到带有预定标志的信号,则确定进入下载模式。
此外,该外接的存储器可以是例如闪速存储器(Flash)或静态随机存取存储器(SRAM),该存储器中的数据至少包括嵌入式设备的应用程序的数据,但不限于此。
以下将参照图1~4详细描述根据本发明实施例的适用于工业级应用场景的嵌入式设备的启动方法的处理。
图1示出根据本发明一些实施例的适用于工业级应用场景的嵌入式设备的启动方法的流程图。
参照图1,在步骤S110,在嵌入式设备启动时,处理器芯片内的系统引导程序检测所述嵌入式设备的下载信号接口上的下载控制信号。
如前所述,系统引导程序可通过GPIO接口、USB接口、SPI接口、UART接口等检测该下载控制信号。
如果检测到所述下载控制信号,则在步骤S120,所述系统引导程序进入下载模式,对外接的存储器中的数据进行访问操作。
例如,如果系统引导程序检测到通过该GPIO接口的管脚接收到的高电平信号,则系统引导程序进入下载模式,对外接的存储器中的数据进行访问操作,如对外接的存储器中的数据进行刷写。
如果没有检测到该下载控制信号,则可按照通常的启动方式继续执行嵌入式设备的启动。
图2示出根据本发明另一些实施例的适用于工业级应用场景的嵌入式设备的启动方法的流程图。在图2示出的适用于工业级应用场景的嵌入式设备的启动方法的处理中,嵌入式设备与上位机进行交互,来进行步骤S220的处理。可例如,通过USB接口与上位机进行通信交互,使用USB接口进行交互较普通串口的传输速率高且传输稳定。
参照图2,步骤S210的处理与前述步骤S110的处理类似,在此不予赘述;步骤S220包括步骤S223~S225或步骤S221~S225。
在步骤S221,向上位机发送指示准备就绪的信息,以向上位机示意其已进入下载模式并准备就绪,可进行数据访问操作。
上位机在接收到该指示准备就绪的信息后,可启动针对该嵌入式设备对外接的存储器进行数据访问的处理。例如,可向该嵌入式设备发送系统信息请求,以确定要访问(如刷写或读取)的数据。
相应地,在步骤S222,系统引导程序接收上位机发送的系统信息请求。
例如,系统引导程序可通过USB接口接收上位机发送的该系统信息请求。
根据本发明示例性实施例,系统引导程序根据其与上位机之间约定的交互协议,可先执行步骤S221~S222的处理,也可以不执行前述交互处理,而直接执行步骤S223~S225的处理。
在步骤S223,系统引导程序向上位机发送嵌入式设备的系统信息,以获得与该嵌入式设备的处理器芯片相关的操作数据。
所述嵌入式设备的系统信息可包括例如,处理器芯片信息、存储器芯片信息等,或其他系统配置信息。
在没有执行步骤S221~S222的情况下,步骤S223的处理除了发送系统信息以外,也同时向上位机示意该嵌入式设备已进入下载模式并准备就绪。
这里,系统引导程序可从处理器芯片上读取处理器芯片信息,也可从内存读取预先设置的该处理器芯片信息,并且将该处理器芯片信息发送给上位机。或者,系统引导程序可从存储器芯片上读取存储器芯片信息,也可从内存读取预先设置的存储器芯片信息,并且将该存储器芯片信息发送给上位机。
上位机在接收到该系统信息以后,可根据该系统信息生成相应的操作指令以及相关的操作数据,并且将生成的操作指令以及相关的操作数据发送给该嵌入式设备。
在步骤S224,系统引导程序接收上位机发送的命令包,所述命令包包括操作指令和相关的操作数据。
具体地,该操作指令可以是例如写入、读取、删除或刷新等指令,相应的操作数据包括与该操作指令相应的数据。例如,在该操作指令为写指令的情况下,其相应的操作数据可包括待写数据、起始写入地址和写入数据长度、校验码等;在该操作指令为读指令的情况下,其相应的操作数据可包括起始读取地址、读取数据长度、校验码等。
根据本发明的可选实施例,该操作数据还包括外接的存储器的访问接口的信息,用以指示嵌入式设备通过指定的该访问接口对存储器执行与相应的操作。
此后,在步骤S225,系统引导程序根据接收到的操作指令和相关的操作数据对存储器执行与该操作指令相应的操作,并且将操作结果发送给上位机。
在前述操作数据还包括外接的存储器的访问接口的信息的实施例中,在步骤S225,系统引导程序根据接收到的操作指令和相关的操作数据,通过该访问接口对存储器执行与该操作指令相应的操作,并且将操作结果发送给上位机。
以下将分别介绍针对操作指令分别为写指令和读指令的情形,步骤S225的具体处理。
操作指令为写指令的处理
根据本发明的示例性实施例,在步骤S224接收到的操作指令为写指令的情况下,操作数据可包括待写数据、起始写入地址和写入数据长度等。相应地,在步骤S225,系统引导程序自所述起始写入地址擦除存储器中所述写入数据长度的已有数据,并且在外接的存储器的该起始写入地址,写入该写入数据长度的待写数据。
可选地,该命令包还包括命令包的第一校验码,如CRC校验码。
根据本发明的可选实施例,步骤S224可包括以下处理:系统引导程序根据该第一校验码对该命令包进行校验,并且向所述上位机发送校验结果的信息;如果校验失败,则不执行步骤S225的处理,反之,则继续执行步骤S225的处理。
根据本发明的另一可选实施例,步骤S224可包括以下处理:接收上位机发送的所述命令包,所述命令包包括写指令、起始写入地址、写入数据长度和第一校验码;所述系统引导程序根据所述第一校验码对所述命令包进行校验;如果校验通过,则向所述上位机发送第一确认信息(ACK),接收上位机发送的包括所述待写数据的待写数据包,并且向所述上位机发送第二确认信息(ACK);如果对所述命令包的校验失败,则所述系统引导程序将校验失败的消息发送给所述上位机,不执行步骤S225的处理。
此外,待写数据包除了包括待写数据以外,还可包括待写数据包的第二校验码;相应地,在接收到待写数据包之后,系统引导程序根据所述第二校验码对所述待写数据包也进行校验;如果校验失败,则所述系统引导程序将校验失败的消息发送给所述上位机,而不继续执行步骤S225的处理。
在很多情况下,上位机需要将要写入的待写数据分成多个待写数据包发送给嵌入式设备,以刷写数据量较大的数据。相应地,嵌入式设备的系统引导程序对接收到的多个待写数据包分别进行确认,在待写数据包包括待写数据包的第二校验码的情况下,对每个待写数据包进行校验;并且,在步骤S225,根据多个待写数据包的待写数据,进行待写数据的写入操作。
操作指令为读指令的处理
根据本发明的示例性实施例,在步骤S224接收到的操作指令为读指令的情况下,相应的操作数据可包括起始读取地址和读取数据长度等。相应地,在步骤S225,系统引导程序自存储器的该起始读取地址读取该读取数据长度的读取数据,并且将包括读取的读取数据的读取数据包发送给上位机。
可选地,该命令包还包括该命令包的第三校验码,如CRC校验码。相应地,在步骤S224,系统引导程序接收上位机发送的命令包之后,系统引导程序先根据该第三校验码对该命令包进行校验;如果对命令包的校验失败,则系统引导程序将校验失败的消息发送给所述上位机,不继续执行步骤S225,反之,继续执行步骤S225。
此外,在步骤S225的处理中,在完成部分或全部读取数据的读取后,系统引导程序生成所述读取数据的第四校验码,并且将包括所述读取数据和所述第四校验码的读取数据包发送给所述上位机。
类似地,如果读取的数据量较大,可将读取数据分为多个读取数据包进行发送;相应地,可为每个读取数据包生成该第四校验码并包括在对应的读取数据包中,以进行发送。
通过前述步骤S221~S225的处理,嵌入式设备可通过与上位机交互,在启动过程中完成针对外接的存储器的例如写入、读取等操作。
此外,在嵌入式设备与上位机之间可设计更为详细具体的交互协议,来执行对外接的存储器的读写操作,对各个操作环节进行验证和确认,从而避免因外接存储器的数据错误而导致无法进行读写操作。
图3示出在步骤S225中对写指令进行处理时,嵌入式设备与上位机之间的示例性交互的示意图。
参照图3,在交互31,嵌入式设备向上位机发送指示准备就绪(READY)的信息(步骤S221),以向上位机示意其已进入下载模式并准备就绪,可进行数据访问操作。
在交互32,上位机向嵌入式设备发送系统信息请求。相应地,嵌入式设备的系统引导程序执行步骤S223向上位机发送嵌入式设备的系统信息(交互33)。
在交互34,上位机向嵌入式设备发送写命令包,其包括写指令、起始写入地址和写入数据长度、第一校验码等。
在交互35,嵌入式设备向上位机发送第一确认信息(ACK)。
此后,在交互36,上位机向嵌入式设备发送待写数据包,并且在交互37,嵌入式设备向上位机发送第二确认信息(ACK)。
也就是说,前述步骤S224包括:接收上位机发送的包括所述写指令、起始写入地址、写入数据长度和第一校验码的命令包;向所述上位机发送第一确认信息;接收上位机发送的所述待写数据包;向所述上位机发送第二确认信息。
在接收到写指令、起始写入地址、写入数据长度和待写数据后,嵌入式设备执行步骤S225的处理:系统引导程序根据该第一校验码对命令包进行校验;在校验成功的情况下,自起始写入地址擦除存储器中写入数据长度的已有数据,并且在外接的存储器的该起始写入地址,写入该写入数据长度的待写数据;然后,将指示完成写入的信息发送给上位机(交互38)。
图4示出在步骤S225中对读指令进行处理时,嵌入式设备与上位机之间的示例性交互的示意图。
参照图4,在交互41,嵌入式设备向上位机发送指示准备就绪的信息(步骤S221),以向上位机示意其已进入下载模式并准备就绪,可进行数据访问操作。
在交互42,上位机向嵌入式设备发送系统信息请求。相应地,嵌入式设备的系统引导程序执行步骤S223,向上位机发送嵌入式设备的系统信息(交互43)。
在交互44,上位机向嵌入式设备发送读命令包,其包括读指令、起始读取地址和读取数据长度、第三校验码等。
相应地,嵌入式设备的系统引导程序先根据该第三校验码对该读命令包进行校验;在校验成功的情况下,系统引导程序自存储器的该起始读取地址读取该读取数据长度的读取数据,生成所述读取数据的第四校验码,并且将包括所述读取数据和所述第四校验码的读取数据包发送给所述上位机。
此后,在交互45,嵌入式设备将包括读取的读取数据和第四校验码的读取数据包发送给上位机。
本发明实施例的适用于工业级应用场景的嵌入式设备的启动方法,通过在上电启动时检测到的从外部输入的下载控制信号,进入下载模式,对外接的存储器中的数据进行访问操作,从而在启动过程中完成外接存储器中的应用数据的刷写,而无需连接烧录器,也不需要破坏嵌入式设备的电路板,不破坏产品外形,完成外接存储器的数据刷新。此外,也可避免在启动过程中因外接存储器的数据错误而导致的系统不能工作的问题。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时用于实现任一前述适用于工业级应用场景的嵌入式设备的启动方法。
本发明实施例还提供一种使用前述任一启动方法的嵌入式设备。图5示出了根据本发明实施例的适用于工业级应用场景的嵌入式设备500的结构示意图。
参照图5,适用于工业级应用场景的嵌入式设备500包括处理器芯片510、处理器芯片510的外接存储器520以及与处理器芯片510连接的下载信号接口530,并且所述处理器芯片内设有系统引导程序515。
可选地,外接存储器520为闪速存储器或静态随机存取存储器。
如前所述,系统引导程序515用于在嵌入式设备500的处理器芯片510启动时,检测下载信号接口530上的下载控制信号,并且如果检测到所述下载控制信号,则系统引导程序515进入下载模式,对外接的存储器520中的数据进行访问操作。
可选地,下载信号接口530为GPIO接口,前述下载控制信号为GPIO管脚上的高电平信号。或者,下载信号接口530为USB接口、串行外设接口SPI、通用异步收发传输器UART接口等,但不限于此。
可选地,嵌入式设备500还包括与上位机连接的通信接口540。可选地,通信接口540为USB接口,嵌入式设备通过该USB接口与所述上位机进行通信。
相应地,系统引导程序515用于在下载模式下,向上位机发送嵌入式设备的系统信息,接收上位机发送的操作指令和相关的操作数据,并且根据所述操作指令和相关的操作数据对所述存储器520执行与所述操作指令相应的操作,并且将操作结果发送给所述上位机。
本发明实施例的嵌入式设备具有与前述适用于工业级应用场景的嵌入式设备的启动方法相同的有益效果,在此不予赘述。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (10)
1.一种适用于工业级应用场景的嵌入式设备的启动方法,包括:
在嵌入式设备启动时,所述嵌入式设备的处理器芯片内的系统引导程序检测所述嵌入式设备的下载信号接口上的下载控制信号;
如果检测到所述下载控制信号,则所述系统引导程序进入下载模式,并执行以下操作:
系统引导程序通过通信接口向上位机发送指示准备就绪的信息;
系统引导程序通过所述通信接口接收上位机发送的系统信息请求;
系统引导程序通过所述通信接口向上位机发送嵌入式设备的系统信息;
所述系统引导程序通过所述通信接口接收上位机发送的命令包,所述命令包包括外接的存储器的访问接口的信息、操作指令和相关的操作数据;
所述系统引导程序根据所述操作指令和相关的操作数据,通过所述访问接口对所述存储器执行与所述操作指令相应的操作,并且通过所述通信接口将操作结果发送给所述上位机,
其中,所述下载信号接口为GPIO接口且所述下载控制信号为GPIO管脚上的高电平信号,或者,所述下载信号接口为USB接口,或者,所述下载信号接口为串行外设接口SPI,或者,所述下载信号接口为通用异步收发传输器UART接口。
2.根据权利要求1所述的启动方法,其特征在于,所述操作指令为写指令,所述操作数据包括待写数据、起始写入地址和写入数据长度,
所述系统引导程序根据所述操作指令和相关的操作数据,通过所述访问接口对所述存储器执行与所述操作指令相应的操作,包括:
所述系统引导程序通过所述访问接口对所述存储器进行访问,自所述起始写入地址擦除存储器中所述写入数据长度的已有数据,并且在所述存储器的所述起始写入地址,写入所述写入数据长度的所述待写数据。
3.根据权利要求2所述的启动方法,其特征在于,所述命令包还包括所述命令包的第一校验码,
所述系统引导程序通过所述通信接口接收上位机发送的命令包,包括:
所述系统引导程序通过所述通信接口接收上位机发送的所述命令包,所述命令包包括存储器的访问接口的信息、写指令、起始写入地址、写入数据长度和第一校验码;
所述系统引导程序根据所述第一校验码对所述命令包进行校验;
如果对命令包的校验通过,则通过所述通信接口向所述上位机发送第一确认信息,通过所述通信接口接收上位机发送的包括所述待写数据的待写数据包,并且通过所述通信接口向所述上位机发送第二确认信息;
如果对命令包的校验失败,则所述系统引导程序通过所述通信接口将校验失败的消息发送给所述上位机,不进行擦除存储器中的已有数据及写入待写数据的处理。
4.根据权利要求2所述的启动方法,其特征在于,所述待写数据包还包括所述待写数据包的第二校验码,
其中,在所述系统引导程序根据所述操作指令和相关的操作数据通过所述访问接口对所述存储器进行访问,对所述存储器执行与所述操作指令相应的操作之前,所述方法还包括:
所述系统引导程序根据所述第二校验码对所述待写数据包进行校验;
如果对待写数据包的校验失败,则所述系统引导程序通过所述通信接口将校验失败的消息发送给所述上位机,不进行擦除存储器中的已有数据及写入待写数据的处理。
5.根据权利要求1所述的启动方法,其特征在于,所述操作指令为读指令,所述操作数据包括起始读取地址和读取数据长度,
所述系统引导程序根据所述操作指令和相关的操作数据通过所述访问接口对所述存储器进行访问,对所述存储器执行与所述操作指令相应的操作,并且通过所述通信接口将操作结果发送给所述上位机,包括:
所述系统引导程序自所述存储器的所述起始读取地址读取所述读取数据长度的读取数据,并且通过所述通信接口将包括所述读取数据的读取数据包发送给所述上位机。
6.根据权利要求5所述的启动方法,其特征在于,所述命令包还包括所述命令包的第三校验码,
在所述系统引导程序自所述存储器的所述起始读取地址读取所述读取数据长度的读取数据之前,所述方法还包括:
所述系统引导程序根据所述第三校验码对所述命令包进行校验;
如果对命令包的校验失败,则所述系统引导程序通过所述通信接口将校验失败的消息发送给所述上位机,不进行读取所述读取数据长度的读取数据的处理。
7.根据权利要求5所述的启动方法,其特征在于,在将包括所述读取数据的读取数据包发送给所述上位机之前,所述方法还包括:所述系统引导程序生成所述读取数据的第四校验码;
所述将包括所述读取数据的读取数据包发送给所述上位机,包括:
通过所述通信接口将包括所述读取数据和所述第四校验码的读取数据包发送给所述上位机。
8.根据权利要求1~7中任一项所述的启动方法,其特征在于,所述存储器为所述处理器芯片的外接闪速存储器,所述存储器中的数据包括应用程序的数据。
9.一种适用于工业级应用场景的嵌入式设备,包括:
处理器芯片、所述处理器芯片的外接存储器、与上位机连接的通信接口以及与所述处理器芯片连接的下载信号接口,并且所述处理器芯片内设有系统引导程序,所述下载信号接口为GPIO接口且下载控制信号为GPIO管脚上的高电平信号,或者,所述下载信号接口为USB接口,或者,所述下载信号接口为串行外设接口SPI,或者,所述下载信号接口为通用异步收发传输器UART接口;
所述系统引导程序用于在嵌入式设备启动时,检测下载信号接口上的下载控制信号,并且如果检测到所述下载控制信号,则所述系统引导程序进入下载模式,并执行以下操作:
通过通信接口向所述上位机发送指示准备就绪的信息,
通过所述通信接口接收上位机发送的系统信息请求,
通过所述通信接口向上位机发送嵌入式设备的系统信息,
通过所述通信接口接收上位机发送的命令包,所述命令包包括外接的存储器的访问接口的信息、操作指令和相关的操作数据,
根据所述操作指令和相关的操作数据,通过所述访问接口对所述存储器执行与所述操作指令相应的操作,并且通过所述通信接口将操作结果发送给所述上位机。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时用于实现如权利要求1~8中任一项所述的适用于工业级应用场景的嵌入式设备的启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713697.7A CN113467842B (zh) | 2021-06-25 | 2021-06-25 | 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713697.7A CN113467842B (zh) | 2021-06-25 | 2021-06-25 | 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113467842A CN113467842A (zh) | 2021-10-01 |
CN113467842B true CN113467842B (zh) | 2023-09-19 |
Family
ID=77873144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110713697.7A Active CN113467842B (zh) | 2021-06-25 | 2021-06-25 | 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467842B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677376A (zh) * | 2014-11-19 | 2016-06-15 | 中兴通讯股份有限公司 | 引导程序传输方法、嵌入式系统及引导程序传输系统 |
CN106257417A (zh) * | 2015-06-17 | 2016-12-28 | 中兴通讯股份有限公司 | 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统 |
WO2020037613A1 (zh) * | 2018-08-23 | 2020-02-27 | 深圳市汇顶科技股份有限公司 | 嵌入式程序的安全升级方法、装置、设备及存储介质 |
CN111309364A (zh) * | 2020-05-11 | 2020-06-19 | 深圳市科信通信技术股份有限公司 | 芯片程序的升级方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3644181B1 (en) * | 2018-08-23 | 2024-08-07 | Shenzhen Goodix Technology Co., Ltd. | Embedded program secure boot method, apparatus and device, and storage medium |
-
2021
- 2021-06-25 CN CN202110713697.7A patent/CN113467842B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677376A (zh) * | 2014-11-19 | 2016-06-15 | 中兴通讯股份有限公司 | 引导程序传输方法、嵌入式系统及引导程序传输系统 |
CN106257417A (zh) * | 2015-06-17 | 2016-12-28 | 中兴通讯股份有限公司 | 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统 |
WO2020037613A1 (zh) * | 2018-08-23 | 2020-02-27 | 深圳市汇顶科技股份有限公司 | 嵌入式程序的安全升级方法、装置、设备及存储介质 |
CN111309364A (zh) * | 2020-05-11 | 2020-06-19 | 深圳市科信通信技术股份有限公司 | 芯片程序的升级方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113467842A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2402804C2 (ru) | Способ загрузки хостового устройства из устройства mmc/sd, хостовое устройство, загружаемое из устройства mmc/sd, и устройство mmc/sd, из которого может быть загружено хостовое устройство | |
CN107179909A (zh) | 软件升级方法、装置及计算机可读存储介质 | |
CN114860279B (zh) | 一种快速空片升级方法 | |
CN112947977A (zh) | 一种软件在线升级方法及系统 | |
KR20110094047A (ko) | 전자 디바이스 및 전자 디바이스 시스템 | |
CN102955751A (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
US10691569B2 (en) | System and method for testing a data storage device | |
CN117687664A (zh) | 一种dsp的在线升级配置方法及装置 | |
CN108153548A (zh) | 一种emmc固件升级方法和装置 | |
US11586504B2 (en) | Electronic apparatus and boot method thereof | |
CN110457058A (zh) | 控制节点在线升级方法、装置、上位机、系统及电子设备 | |
CN113467842B (zh) | 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 | |
CN108132899A (zh) | 一种传输模式配置方法、装置及系统 | |
CN117457054A (zh) | Efuse控制方法、控制器、电子设备及存储介质 | |
CN117215656A (zh) | 基于Linux系统自适配车机芯片方法、装置、电子设备及车辆 | |
CN114706605A (zh) | 一种Flash升级方法、装置、设备及存储介质 | |
CN114546899A (zh) | Usb设备连接方法、系统及计算机可读存储介质 | |
US12222856B2 (en) | Memory controller and method for controlling output of debug messages | |
JP3064324B2 (ja) | 画像記録装置における制御ソフトウエア仕様変更システム | |
CN118939490A (zh) | 一种基于usb接口的高速调试与自动化测试方法 | |
CN119271221A (zh) | 程序烧录方法、系统、设备、介质及产品 | |
CN113467889A (zh) | 一种最小fpga cpu验证系统及方法 | |
CN119645472A (zh) | 一种基于zynq的在线升级方法及装置 | |
CN117032735A (zh) | 一种对于fpga进行远程程序的烧写方法 | |
CN117971272A (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 |