CN114924757B - 固件烧入方法、装置、控制单元、系统及存储介质 - Google Patents
固件烧入方法、装置、控制单元、系统及存储介质 Download PDFInfo
- Publication number
- CN114924757B CN114924757B CN202210656221.9A CN202210656221A CN114924757B CN 114924757 B CN114924757 B CN 114924757B CN 202210656221 A CN202210656221 A CN 202210656221A CN 114924757 B CN114924757 B CN 114924757B
- Authority
- CN
- China
- Prior art keywords
- firmware
- burning
- flash memory
- signal
- register
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000015654 memory Effects 0.000 claims abstract description 222
- 238000004590 computer program Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种固件烧入方法、装置、控制单元、系统及存储介质。该方法包括:检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,所述烧入固件的闪存包括多个SOC对应的闪存中的一个或多个;根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;通过所述烧入端向所述烧入固件的闪存烧入所述固件。上述技术方案通过根据拨码开关信号和寄存器信号连接相应的闪存以及烧入端,可以灵活搭建固件烧入的路径,从而将固件烧入对应的闪存,提高烧入固件的效率和灵活性。
Description
技术领域
本发明实施例涉及芯片技术领域,尤其涉及一种固件烧入方法、装置、控制单元、系统及存储介质。
背景技术
系统级芯片(System on Chip,SOC)是一种由多个具有特定功能的集成电路组合在一个芯片上形成的系统或产品,其中包含完整的硬件系统及其承载的嵌入式软件,在各类硬件电子产品上得到广泛的应用。SOC经常需要更新或升级,此过程主要依赖于向SOC的闪存烧入固件。
然而,随着电子产品技术的发展,服务器或者集群设备越来越多,在一台整机里经常会使用多个SOC,有时甚至可以达到上百个SOC。这种情况下,基于传统操作每次只能处理单个SOC、向单个指定SOC的闪存烧入固件,不灵活且效率偏低。
发明内容
本发明提供了一种固件烧入方法、装置、控制单元、系统及存储介质,以提高烧入固件的效率和灵活性。
第一方面,本发明实施例提供了一种固件烧入方法,应用于控制单元,所述控制单元与多个SOC连接,所述控制单元与多个闪存连接,每个SOC对应于一个闪存;该方法包括:
检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,所述烧入固件的闪存包括多个SOC对应的闪存中的一个或多个;
根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;
通过所述烧入端向所述烧入固件的闪存烧入所述固件。
第二方面,本发明实施例提供了一种固件烧入装置,包括:
检测模块,设置为检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,所述烧入固件的闪存包括多个SOC对应的闪存中的一个或多个;
连接模块,设置为根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;
烧入模块,设置为通过所述烧入端向所述烧入固件的闪存烧入所述固件.
第三方面,本发明实施例提供了一种控制单元,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的固件烧入方法.
第四方面,本发明实施例提供了一种固件烧入系统,包括:
如第一方面所述的控制单元、与所述控制单元连接的多个SOC、与所述控制单元连接的多个闪存;
其中,每个SOC对应于一个闪存;
所述控制单元设置有拨码开关并内置寄存器。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的固件烧入方法。
本发明实施例提供了一种固件烧入方法、装置、控制单元、系统及存储介质。该方法包括:检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,所述烧入固件的闪存包括多个SOC对应的闪存中的一个或多个;根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;通过所述烧入端向所述烧入固件的闪存烧入所述固件。上述技术方案通过根据拨码开关信号和寄存器信号连接相应的闪存以及烧入端,可以灵活搭建固件烧入的路径,从而将固件烧入对应的闪存。此外,在有多个SOC的场景下,根据拨码开关信号的开关状态和寄存器状态信号,可以灵活切换烧入方式,可由本地用户端或者远程用户端向多个SOC对应的闪存烧入固件,并且可以依次烧入固件,也可以选择一路闪存烧入固件,也可以借助控制单元的内置闪存向SOC对应的闪存烧入固件,极大地提高烧入固件的效率和灵活性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本发明实施例一提供的一种固件烧入方法的流程图;
图2为本发明实施例一提供的一种通过控制单元对多个SOC的闪存烧入固件的示意图;
图3为本发明实施例二提供的一种固件烧入方法的实现示意图;
图4为本发明实施例三提供的一种固件烧入方法的实现示意图;
图5为本发明实施例四提供的一种SOC与对应的闪存连接的示意图;
图6为本发明实施例五提供的一种固件烧入装置的结构示意图;
图7为本发明实施例六提供的一种控制单元的结构示意图;
图8为本发明实施例七提供的一种固件烧入系统的示意图;
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
需要注意,本发明实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或其他对象进行区分,并非用于限定这些装置、模块、单元或其他对象所执行的功能的顺序或者相互依存关系。
此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为了更好地理解本发明实施例,下面对相关技术进行介绍。
SOC:系统级芯片,也称片上系统,可以是高级精简指令集计算机(Advanced RISCMachine,ARM)芯片或X86芯片等不同架构芯片,主要指用于运算和主要数据产生的业务芯片。
微控制单元(Microcontroller Unit;MCU):可以作为控制单元,负责切换串行外设接口(Serial Peripheral Interface,SPI)总线信号,同时内部有内置闪存(Flash),可以保存固件,此外,内部还可以设置寄存器,用于选择通道。MCU和多个SOC组成集群设备。
网络芯片:用于将MCU信号转换为网络信号。
闪存(Flash):即Flash芯片,是一种存储介质,SOC的启动固件保存在Flash内。
SPI烧录器:通常是通用串行总线(Universal Serial Bus,USB)转SPI接口的烧录器。
拨码开关:是一种地址开关,采用的是0/1的二进制编码原理,例如2位拨码开关,可以实现00、01、10和11四个状态的开关控制。
RJ45接口:一种用于管理网络的物理接口,可以接网线。
双色发光二极管(Light-Emitting Diode,LED):可以作为指示灯,具有两种颜色,例如绿色和黄色,可用于指示闪存不同的状态,例如,正在烧入固件或已烧入固件等状态。
远程用户端:主要指笔记本或台式机等一些远端设备,这些远端设备可以通过网络远程连接至控制单元。
本地用户端:主要指笔记本或台式机等一些本地设备,这些本地设备可以通过USB接SPI烧录器,烧录器再接SPI接口,本地设备可以烧写SPI的信息。
实施例一
图1为本发明实施例一提供的一种固件烧入方法的流程图,本实施例可适用于选择性向多个SOC对应的闪存烧入固件的情况。具体的,该固件烧入方法可以由固件烧入装置执行,该固件烧入装置可以通过软件和/或硬件的方式实现,并集成在控制单元中。其中,控制单元可以与多个SOC连接,还与多个闪存连接,每个SOC对应于一个闪存。基于控制单元,可以实现向任意一个或多个SOC烧入固件。如图1所示,该方法具体包括如下步骤:
S110、检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端。
其中,烧入固件的闪存包括多个SOC对应的闪存中的一个或多个。
具体的,控制单元设置有拨码开关并内置寄存器,拨码开关可采用二进制编码原理,例如2位的拨码开关可以提供00、01、10和11四种开关状态的信号。通过检测拨码开关信号和寄存器信号,可以利用拨码开关的不同地址状态以及不同的寄存器状态确定需要烧入固件的闪存以及烧入端,也即确定固件烧入的路径。其中,烧入端可以是本地用户端或远程用户端等;烧入固件的闪存可以是任意一个或多个SOC对应的闪存,也可以包括控制单元的内置闪存,这种情况下,烧入内置闪存的固件可以再烧入各SOC的闪存。
此外,根据拨码开关信号和寄存器信号还可以确定向各闪存烧入固件的顺序,例如,按照闪存的编号依次烧入固件,或者根据寄存器状态的变化顺序依次向相应的闪存烧入固件等。
进一步的,在不需要本地用户端或者远程用户端烧入固件时,控制单元也可以直接连接各SOC与对应的闪存,各SOC可以调用对应闪存中的固件。
S120、根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存。
具体的,在确定固件烧入的路径的基础上,基于控制单元可以连接烧入端与需要烧入固件的闪存。例如,烧入端为本地用户端,则利用USB、SPI烧录器以及SPI接口等可以将本地用户端连接至控制单元,由于控制单元还和各SOC对应的闪存通过SPI总线连接,从而建立了本地用户端与各SOC对应的闪存之间的连接;烧入端为远程用户端,则利用网线、网络接口和网络总线等可以将远程用户端连接至控制单元(的内置闪存),由于控制单元(的内置闪存)还和各SOC对应的闪存通过SPI总线连接,从而建立了远程用户端与各SOC对应的闪存之间的连接。
S130、通过所述烧入端向所述烧入固件的闪存烧入所述固件。
具体的,在连接烧入端与闪存的基础上,可以通过烧入端向闪存烧入固件。需要说明的是,如果烧入端为远程用户端,则固件可以先烧入至控制单元的内置闪存,然后再依次烧入各SOC对应的闪存。
图2为本发明实施例一提供的一种通过控制单元对多个SOC的闪存烧入固件的示意图。如图2所示,以MCU通过SPI总线与8路SOC互联的情况为例(实际应用中可以支持更多路SOC,根据业务需求和MCU的管脚数量支持扩展),每个SPI总线独立,8个Flash和MCU也采用SPI总线互联。远程用户端可通过网线接上RJ45,然后通过网络芯片再和MCU进行远程通信;本地用户通过USB线接上SPI烧录器,烧录器通过线接到SPI连接器上和MCU进行通信。在此基础上,固件烧入系统可有三种连接方式:
方式一:在本地烧入的情况下,SOC和对应Flash之间的连接断开,本地用户端通过SPI连接各Flash;
方式二:在远程烧入的情况下,SOC和对应Flash之间的连接断开,远程用户端通过网线把固件远程加载到MCU的内置Flash中,然后再通过内置Flash把固件分别烧入到各Flash中;
方式三:默认各SOC正常启动后需要接到对应Flash,然后控制对应的Flash加载固件,此时MCU可直接把各Flash挂到对应的SOC下面,这种情况下,各SOC可以直接调用对应Flash中的固件。
可选的,拨码开关信号的优先级可以高于寄存器信号的优先级。例如,可优先根据拨码开关信号确定烧入端以及烧入固件的闪存,然后再根据当前的拨码开关状态下的寄存器信号,进一步确定当前需要向哪个闪存烧入固件,或者向各闪存烧入固件的顺序等。
表1示出了寄存器信号与连接方式的映射关系。示例性的,对于拨码开关信号,“00”表示由寄存器状态决定烧入端以及烧入固件的闪存(寄存器状态可以为寄存器默认配置0x00);“01”表示强制各SOC和对应的Flash连接;“10”表示本地用户端和Flash连接,可进一步根据寄存器状态判断具体和哪个Flash连接,例如,寄存器状态为0x13,则MCU将本地用户端和Flash 3连接,本地用户端产生的固件烧入至Flash 3,如果寄存器状态变为0x13,则MCU将本地用户端再连接至Flash 4,本地用户端产生的固件烧入至Flash 4;“11”表示远程用户端和控制单元的内置Flash连接。
表1寄存器信号与连接方式的映射关系
寄存器状态 | 功能 | 备注 |
0x00 | 各SOC和对应Flash连接 | 寄存器默认配置 |
0x11 | 本地用户端和Flash 1连接 | |
0x12 | 本地用户端和Flash 2连接 | |
0x13 | 本地用户端和Flash 3连接 | |
0x14 | 本地用户端和Flash 4连接 | |
0x15 | 本地用户端和Flash 5连接 | |
0x16 | 本地用户端和Flash 6连接 | |
0x17 | 本地用户端和Flash 7连接 | |
0x18 | 本地用户端和Flash 8连接 | |
0x20 | 远程用户端和MCU内置Flash连接 |
本发明实施例一提供的一种固件烧入方法,通过根据拨码开关信号和寄存器信号连接相应的闪存以及烧入端,可以灵活切换系统的连接方式并搭建固件烧入的路径,从而将固件烧入对应的闪存,提高烧入固件的效率和灵活性。
实施例二
本实施例是在上述实施例的基础上进行优化,对上述实施例中的方式一,即本地烧入固件的情况进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
本实施例中,根据拨码开关信号和寄存器信号连接烧入端与闪存,包括:若拨码开关信号为第一开关状态信号或第二开关状态信号,则根据寄存器信号确定当前烧入固件的闪存,当前烧入固件的闪存为与控制单元连接的一个SOC对应的闪存;将本地用户端作为烧入端并连接本地用户端与当前烧入固件的闪存;其中,当前烧入固件的闪存的指示灯为第一状态。
本实施例中,通过烧入端向闪存烧入固件,包括:将本地用户端利用SPI烧录器烧录的固件烧入所述当前烧入固件的闪存。
具体的,在本实施例中,烧入端为本地用户端,当前烧入固件的闪存可根据寄存器信号确定,可以为任意SOC对应的闪存。参考表1,第一开关状态信号可以指2位拨码开关的状态为00,第二开关状态信号可以指2位拨码开关的状态为10。
图3为本发明实施例二提供的一种固件烧入方法的实现示意图。在拨码开关信号为第一开关状态信号,或者,拨码开关信号为第二开关状态信号的情况下,可采用上述实施例中的方式一实现本地固件烧入。如图3中的点划线所示,各SOC和对应Flash之间的连接断开,本地用户端通过SPI连接MCU,MCU可通过SPI连接任意SOC对应的Flash,从而基于MCU建立本地用户端和任意SOC对应的Flash的连接。这种情况下,MCU可进一步根据寄存器信号选择本地用户端通过SPI总线去连接Flash1-8(可参考表1选择)。当根据寄存器信号选择任意一路Flash时,本地用户端可将固件通过SPI烧录器烧入到该Flash中;通过控制寄存器状态从0x11到0x18依次变化,可依次向各路Flash烧入固件。此外,当根据寄存器信号选择任意一路Flash时,MCU可以将对应的指示灯设置为第二状态(例如点亮黄色LED),未选择的Flash对应的指示灯不亮。
进一步的,在通过烧入端向闪存烧入固件之后,还包括:将控制单元的拨码开关恢复为第一开关状态,并将控制单元的寄存器恢复为第二寄存器状态。
具体的,在向各路Flash全部烧入结束后,拨码开关可以拨回第一开关状态(00),同时寄存器恢复默认配置(即第二寄存器状态,例如为0x00),这种情况下可以强制各SOC和对应的Flash连接,下次SOC上电就可以执行最新的固件。
本实施例中,在需要本地烧入固件的情况下,用户可以将控制单元上的拨码开关拨至第一开关状态或第二开关状态(例如将2位拨码开关拨为00或10),并通过设置寄存器的状态来选择一个SOC对应的闪存作为当前烧入固件的闪存,在此基础上,控制单元可以通过检测拨码开关信号和寄存器信号,将本地用户端与所选择的闪存连接,将固件由本地用户端通过SPI烧录器烧入到该闪存中。在烧入过程中,用户可以调整寄存器的状态依次选择各个SOC对应的闪存,从而基于控制单元实现对各个闪存的固件烧入。此外,在对各个闪存的固件烧入完成后,用户可将拨码开关拨至第一开关状态,将寄存器设置成第二寄存器状态(默认状态,例如0x00),从而确保在下次上电时可以使各SOC默认连接至对应的闪存以直接调用闪存中的固件。
本发明实施例二提供的一种固件烧入方法,基于MCU提供了一种本地烧入固件的方式,通过根据拨码开关信号和寄存器信号,连接本地用户端与所选择的闪存,实现固件本地烧入至任意SOC对应的闪存。
实施例三
本实施例是在上述实施例的基础上进行优化,对上述实施例中的方式二,即远程烧入固件的情况进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
本实施例中,根据拨码开关信号和寄存器信号连接烧入端与闪存,包括:若拨码开关信号为第一开关状态信号且寄存器信号为第一寄存器状态信号,或者,拨码开关信号为第三开关状态信号,则将远程用户端作为烧入端。连接远程用户端与控制单元的内置闪存,并连接内置闪存与各SOC对应的闪存。
本实施例中,通过烧入端向闪存烧入固件,包括:将远程用户端利用SPI烧录器烧录的固件烧入内置闪存;将烧入内置闪存中的固件依次烧入与控制单元连接的每个SOC对应的闪存;其中,当前被烧入固件的SOC对应的闪存的指示灯为第二状态。
具体的,在本实施例中,烧入端为远程用户端,固件可首先烧入至控制单元中的内置闪存,然后由内置闪存依次烧入至各SOC对应的闪存。参考表1,第一开关状态信号可以指2位拨码开关的状态为00,此时可以根据第一寄存器状态信号(指寄存器状态为0x20),通过SPI总线将远程用户端连接至控制单元的内置闪存;或者,第三开关状态信号可以指2位拨码开关的状态为11,可以强制让远程用户直接连接控制单元的内置闪存。
图4为本发明实施例三提供的一种固件烧入方法的实现示意图。在拨码开关信号为第一开关状态信号且寄存器信号为第一寄存器状态信号,或者,拨码开关信号为第三开关状态信号的情况下,可采用上述实施例中的方式二实现远程固件烧入。如图4中的点划线所示,各SOC和对应Flash之间的连接断开,远程用户端通过SPI总线连接至MCU的内置Flash,远程用户端把固件通过网络烧入到内置Flash中,烧入完成后,MCU可再将内置Flash中的固件按照Flash1-8的顺序逐个烧入到Flash1-8里面。在此过程中,当烧入Flash 1时候,MCU可以点亮Flash 1的指示灯为第二状态(例如黄色LED闪烁),表示Flash 1此时正在被烧入固件,烧入结束后熄灭Flash 1的指示灯。
进一步的,在通过烧入端向闪存烧入固件之后,还包括:将控制单元的拨码开关恢复为第一开关状态,并将控制单元的寄存器恢复为第二寄存器状态。
具体的,在向各路Flash全部烧入结束后,拨码开关可以拨回第一开关状态(00),同时寄存器恢复默认配置(即第二寄存器状态,例如为0x00),这种情况下可以强制各SOC和对应的Flash连接,下次SOC上电就可以执行最新的固件。
本实施例中,在需要远程烧入固件的情况下,用户可以将控制单元上的拨码开关拨至第三开关状态信号(例如将2位拨码开关拨为11),或者,也可以将拨码开关拨至第一开关状态(例如将2位拨码开关拨为00)并设置寄存器的状态为第一寄存器状态(例如0x20),在此基础上,控制单元可以通过检测拨码开关信号和寄存器信号,将远程用户端与内置闪存连接,并将内置闪存依次与各Flash连接,将固件由远程用户端经过内置闪存最终烧入到各Flash中。此外,在对各个闪存的固件烧入完成后,用户可将拨码开关拨至第一开关状态,将寄存器设置成第二寄存器状态(默认状态,例如0x00),从而在下次上电时可以使各SOC默认连接至对应的闪存以直接调用闪存中的固件。
本发明实施例三提供的一种固件烧入方法,基于MCU提供了一种远程烧入固件的方式,通过根据拨码开关信号和寄存器信号,连接远程用户端与控制单元的内置闪存,实现固件远程烧入控制单元进而烧入至各SOC对应的闪存。
实施例四
本实施例是在上述实施例的基础上进行优化,对上述实施例中的方式三,即各SOC与对应的闪存连接的情况进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
本实施例中,若拨码开关信号为第一开关状态信号且寄存器信号为第二寄存器状态信号,或者,若拨码开关信号为第四开关状态信号,则连接各SOC与对应的闪存。
本实施例中,通过各SOC调用对应的闪存中的固件;其中,各SOC对应的闪存的指示灯为第三状态。
具体的,在本实施例中,在不需要烧入固件的情况下,控制单元连接的各SOC与对应的闪存之间可采用默认的连接方式(即方式三),各SOC正常启动后连接到对应的闪存,调用对应的闪存中的固件,这种情况下,MCU直接将各Flash挂到对应的SOC下面。参考表1,第一开关状态信号可以指2位拨码开关的状态为00,第二寄存器状态信号可以指寄存器状态为默认值0x00;第四开关状态信号可以指2位拨码开关的状态为01。在拨码开关信号为第一开关状态信号且寄存器信号为第二寄存器状态信号,或者,拨码开关信号为第四开关状态信号的情况下,可采用上述实施例中的方式三连接各SOC与对应的闪存。
图5为本发明实施例四提供的一种SOC与对应的闪存连接的示意图。如图5中的点划线所示,基于MCU可以强制各SOC直接连接至对应的Flash。在此基础上,可以分别点亮各Flash对应的指示灯,指示灯可以为双色(黄色和绿色)LED,第三状态例如为绿色常亮状态。在第三状态下,各SOC与对应Flash正常连接,可调用对应Flash中的固件,Flash中的固件为在此之前最新烧入的固件。
本实施例中,在不需要烧入固件的情况下,用户可以将控制单元上的拨码开关拨至第一开关状态(例如将2位拨码开关拨为00),并设置寄存器为第二寄存器状态(例如设置为0x00),或者不对寄存器进行任何设置,则寄存器处于默认的寄存器状态(例如0x00),在此基础上,控制单元可以通过检测拨码开关信号和寄存器信号,连接各SOC与对应的Flash,实现SOC对Flash中固件的调用。
本发明实施例四提供的一种固件烧入方法,基于MCU提供了一种SOC与Flash连接方式,实现各SOC对对应闪存中固件的调用。
实施例五
图6为本发明实施例五提供的一种固件烧入装置的结构示意图。如图6所示,本实施例提供的固件烧入装置包括:
检测模块210,设置为检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,烧入固件的闪存包括多个SOC对应的闪存中的一个或多个;
连接模块220,设置为根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;
烧入模块230,设置为通过所述烧入端向所述烧入固件的闪存烧入所述固件。
本发明实施例五提供的一种固件烧入装置,通过根据拨码开关信号和寄存器信号连接相应的闪存以及烧入端,可以灵活搭建固件烧入的路径,从而将固件烧入对应的闪存,提高烧入固件的效率和灵活性。
在上述实施例的基础上,连接模块220,设置为:
若所述拨码开关信号为第一开关状态信号或第二开关状态信号,则根据所述寄存器信号确定当前烧入固件的闪存,所述当前烧入固件的闪存为与所述控制单元连接的一个SOC对应的闪存;
将本地用户端作为所述烧入端并连接所述本地用户端与所述当前烧入固件的闪存;
其中,所述当前烧入固件的闪存的指示灯为第一状态。
在上述实施例的基础上,烧入模块230,设置为:
将所述本地用户端利用SPI烧录器烧录的所述固件烧入所述当前烧入固件的闪存。
在上述实施例的基础上,连接模块220,设置为:
若所述拨码开关信号为第一开关状态信号且所述寄存器信号为第一寄存器状态信号,或者,所述拨码开关信号为第三开关状态信号,则将远程用户端作为所述烧入端,连接所述远程用户端与所述控制单元的内置闪存,并连接所述内置闪存与各所述SOC对应的闪存。
在上述实施例的基础上,烧入模块230,设置为:
将所述远程用户端利用SPI烧录器烧录的所述固件烧入所述内置闪存;
将烧入所述内置闪存中的固件依次烧入各所述SOC对应的闪存;
其中,当前被烧入固件的SOC对应的闪存的指示灯为第二状态。
在上述实施例的基础上,该装置还包括:
复位模块,设置为在通过所述烧入端向所述烧入固件的闪存烧入所述固件之后,将所述控制单元的拨码开关恢复为第一开关状态,并将所述控制单元的寄存器恢复为第二寄存器状态。
在上述实施例的基础上,连接模块220,设置为:
若所述拨码开关信号为第一开关状态信号且所述寄存器信号为第一寄存器状态信号,或者,若所述拨码开关信号为第三开关状态信号,则连接各所述SOC与对应的闪存。
在上述实施例的基础上,烧入模块230,设置为:
通过各所述SOC调用对应的闪存中的固件;
其中,各所述SOC对应的闪存的指示灯为第三状态。
本发明实施例五提供的固件烧入装置可以用于执行上述任意实施例提供的固件烧入方法,具备相应的功能和有益效果。
实施例六
图7为本发明实施例六提供的一种控制单元的结构示意图,如图7所示,该控制单元包括处理器310、存储器320、输入装置330和输出装置340;控制单元中处理器310的数量可以是一个或多个,图7中以一个处理器310为例;控制单元中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种固件烧入方法对应的程序指令/模块(例如,检测模块210、连接模块220以及烧入模块230)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行控制单元的各种功能应用以及数据处理,即实现上述的一种数据处理方法。
该方法由挂载在宽带现场总线上的控制单元执行,控制单元上包括宽带现场总线端口和至少一个其他类型的工业协议设备端口,所述方法包括:检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,所述烧入固件的闪存包括多个SOC对应的闪存中的一个或多个;根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;通过所述烧入端向所述烧入固件的闪存烧入所述固件。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至控制单元。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入的数字或字符信息,以及产生与控制单元的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
实施例七
本发明实施例七提供一种固件烧入系统。图8为本发明实施例七提供的一种固件烧入系统的示意图。如图8所示,固件烧入系统包括:如上述任意实施例的控制单元410、与控制单元410连接的多个系统级芯片(SOC)420、与控制单元410连接的多个闪存430;其中,每个SOC 420对应于一个闪存430;控制单元410设置有拨码开关411并内置寄存器412。
本实施例的系统,基于控制单元根据拨码开关信号和寄存器信号连接相应的闪存以及烧入端,可以灵活搭建固件烧入的路径,从而将固件烧入对应的闪存,提高烧入固件的效率和灵活性。
可选的,该系统还包括:本地用户端,本地用户端通过SPI烧录器和SPI连接器与控制单元连接。具体的,本地用户端可以通过USB线连接SPI烧录器,SPI烧录器通过SPI总线连接SPI连接器,SPI连接器再通过SPI总线连接至控制单元。在此基础上,可以实现本地固件烧入。
可选的,该系统还包括:远程用户端,远程用户端通过网络接口和网络芯片与控制单元连接。具体的,远程用户端可以通过网线连接网络接口(如RJ45接口),网络接口通过网络总线连接网络芯片,然后再连接至控制单元。在此基础上,可以实现远程固件烧入。
可选的,该系统还包括:多个指示灯;其中,每个闪存对应于一个指示灯。在此基础上,通过指示灯可以表示各闪存的状态,明确固件烧入的进度。
本实施例七提供的一种固件烧入系统可以用于执行上述任意实施例提供的固件烧入方法,具备相应的功能和有益效果。未在本实施例中详尽描述的技术细节可参见上述任意实施例。
实施例八
本发明实施例八还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种固件烧入方法,由挂载在宽带现场总线上的控制单元执行,控制单元上包括宽带现场总线端口和至少一个其他类型的工业协议设备端口。控制单元与多个SOC连接,每个SOC对应于一个闪存。该方法包括:检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,所述烧入固件的闪存包括多个SOC对应的闪存中的一个或多个;根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;通过所述烧入端向所述烧入固件的闪存烧入所述固件。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的各固件烧入方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述固件烧入装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (15)
1.一种固件烧入方法,其特征在于,应用于控制单元,所述控制单元与多个系统级芯片SOC连接,所述控制单元与多个闪存连接,每个SOC对应于一个闪存;所述方法包括:
检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,所述烧入固件的闪存包括所述多个SOC对应的闪存中的一个或多个;
根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;
通过所述烧入端向所述烧入固件的闪存烧入所述固件。
2.根据权利要求1所述的方法,其特征在于,根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存,包括:
若所述拨码开关信号为第一开关状态信号或第二开关状态信号,则根据所述寄存器信号确定当前烧入固件的闪存,所述当前烧入固件的闪存为与所述控制单元连接的一个SOC对应的闪存;
将本地用户端作为所述烧入端,连接所述本地用户端与所述当前烧入固件的闪存;
其中,所述当前烧入固件的闪存的指示灯为第一状态。
3.根据权利要求2所述的方法,其特征在于,通过所述烧入端向所述烧入固件的闪存烧入所述固件,包括:
将所述本地用户端利用串行外设接口SPI烧录器烧录的所述固件烧入所述当前烧入固件的闪存。
4.根据权利要求1所述的方法,其特征在于,根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存,包括:
若所述拨码开关信号为第一开关状态信号且所述寄存器信号为第一寄存器状态信号,或者,所述拨码开关信号为第三开关状态信号,则将远程用户端作为所述烧入端,连接所述远程用户端与所述控制单元的内置闪存,并连接所述内置闪存与各所述SOC对应的闪存。
5.根据权利要求4所述的方法,其特征在于,通过所述烧入端向所述烧入固件的闪存烧入所述固件,包括:
将所述远程用户端利用SPI烧录器烧录的所述固件烧入所述内置闪存;
将烧入所述内置闪存中的固件依次烧入各所述SOC对应的闪存;
其中,当前被烧入固件的SOC对应的闪存的指示灯为第二状态。
6.根据权利要求2或4所述的方法,其特征在于,在通过所述烧入端向所述烧入固件的闪存烧入所述固件之后,还包括:
将所述控制单元的拨码开关恢复为第一开关状态,并将所述控制单元的寄存器恢复为第二寄存器状态。
7.根据权利要求1所述的方法,其特征在于,还包括:
若所述拨码开关信号为第一开关状态信号且所述寄存器信号为第二寄存器状态信号,或者,若所述拨码开关信号为第四开关状态信号,则连接各所述SOC与对应的闪存。
8.根据权利要求7所述的方法,其特征在于,还包括:
通过各所述SOC调用对应的闪存中的固件;
其中,各所述SOC对应的闪存的指示灯为第三状态。
9.一种固件烧入装置,其特征在于,包括:
检测模块,设置为检测拨码开关信号和寄存器信号,所述拨码开关信号和所述寄存器信号用于确定烧入固件的闪存以及烧入端,其中,所述烧入固件的闪存包括多个系统级芯片对应的闪存中的一个或多个;
连接模块,设置为根据所述拨码开关信号和所述寄存器信号连接所述烧入端与所述烧入固件的闪存;
烧入模块,设置为通过所述烧入端向所述烧入固件的闪存烧入所述固件。
10.一种控制单元,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一所述的固件烧入方法。
11.一种固件烧入系统,其特征在于,包括:如权利要求10所述的控制单元、与所述控制单元连接的多个系统级芯片SOC、与所述控制单元连接的多个闪存;其中,每个SOC对应于一个闪存;
所述控制单元设置有拨码开关并内置寄存器。
12.根据权利要求11所述的系统,其特征在于,还包括:
本地用户端,所述本地用户端通过SPI烧录器和SPI连接器与所述控制单元连接。
13.根据权利要求11所述的系统,其特征在于,还包括:
远程用户端,所述远程用户端通过网络接口和网络芯片与所述控制单元连接。
14.根据权利要求11所述的系统,其特征在于,还包括多个指示灯;
其中,每个闪存对应于一个指示灯。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的固件烧入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210656221.9A CN114924757B (zh) | 2022-06-10 | 2022-06-10 | 固件烧入方法、装置、控制单元、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210656221.9A CN114924757B (zh) | 2022-06-10 | 2022-06-10 | 固件烧入方法、装置、控制单元、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114924757A CN114924757A (zh) | 2022-08-19 |
CN114924757B true CN114924757B (zh) | 2023-03-28 |
Family
ID=82813727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210656221.9A Active CN114924757B (zh) | 2022-06-10 | 2022-06-10 | 固件烧入方法、装置、控制单元、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114924757B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115462817A (zh) * | 2022-09-26 | 2022-12-13 | 明峰医疗系统股份有限公司 | 一种准直轴的配置固件的控制系统、方法、ct设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600090B2 (en) * | 2005-11-28 | 2009-10-06 | Atmel Corporation | Microcontroller based flash memory digital controller system |
CN100461105C (zh) * | 2007-02-01 | 2009-02-11 | 中兴通讯股份有限公司 | 一种智能化设备软件升级与修复的方法和系统 |
CN109460240A (zh) * | 2018-10-19 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种固件烧写组件及固件烧写方法、系统和存储介质 |
CN111124433B (zh) * | 2018-10-31 | 2024-04-02 | 华北电力大学扬中智能电气研究中心 | 程序烧写设备、系统及方法 |
-
2022
- 2022-06-10 CN CN202210656221.9A patent/CN114924757B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114924757A (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101997253B (zh) | 连接装置 | |
JP2018166373A (ja) | 給電装置、給電制御装置、及び給電制御方法 | |
JP2012074879A (ja) | ケーブルの誤接続をチェックする計算機システム、装置及び方法 | |
CN114924757B (zh) | 固件烧入方法、装置、控制单元、系统及存储介质 | |
EP3244319B1 (en) | Flexible nvme drive management solution | |
US20070255869A1 (en) | Device evaluation using automatic connection path reconfiguration | |
CN105808480A (zh) | Usb otg设备的角色切换方法、系统及usb otg设备 | |
TWI659302B (zh) | 硬碟監控系統 | |
CN108701106A (zh) | 一种数据传输方法及设备 | |
CN101174996A (zh) | 用于互连节点的可视指导和检验的方法和系统 | |
CN104158709B (zh) | 一种光模块识别的方法及端口扩展设备 | |
CN106155954A (zh) | 一种模块识别和通信端口自动分配的系统及方法 | |
US7143216B1 (en) | System for configuring expandable buses in a multi-device storage container and related method | |
CN116860219A (zh) | 一种cpld固件的多板卡共用方法及相关组件 | |
CN108490338B (zh) | 测试设备、测试方法、计算机设备和计算机可读存储介质 | |
CN114116415B (zh) | 一种硬盘背板、硬盘点灯控制系统、方法、装置及介质 | |
CN110620909A (zh) | 一种数字Tally系统 | |
CN115361432A (zh) | 主从设备间的通信控制方法、装置、车辆和存储介质 | |
CN210776687U (zh) | 一种能够支持BootLoader程序兼容的系统 | |
CN109408125B (zh) | 服务器系统 | |
CN105245840A (zh) | 一种数据转发方法、装置及摄像机 | |
CN110321263B (zh) | 硬盘监控系统 | |
CN111158710A (zh) | 程序烧写方法、装置及网络设备 | |
TWI685748B (zh) | 硬碟控制系統 | |
CN211479112U (zh) | 一种pcie转接板卡 |
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 |