CN118974700A - 包括用于系统启动的控制器的电子装置及其操作方法 - Google Patents
包括用于系统启动的控制器的电子装置及其操作方法 Download PDFInfo
- Publication number
- CN118974700A CN118974700A CN202380029410.6A CN202380029410A CN118974700A CN 118974700 A CN118974700 A CN 118974700A CN 202380029410 A CN202380029410 A CN 202380029410A CN 118974700 A CN118974700 A CN 118974700A
- Authority
- CN
- China
- Prior art keywords
- controller
- electronic device
- firmware
- memory
- bios
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/4406—Loading of operating system
- G06F9/4408—Boot device selection
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)
- Stored Programmes (AREA)
Abstract
提供了一种电子设备。该电子设备包括:第一控制器;被配置为:存储第一基本输入输出系统(BIOS)和用于控制第一控制器的第一固件,并且功能性地连接到第一控制器第一存储器;第二存储器,被配置为存储对应于第一固件的第二固件和对应于第一BIOS的第二BIOS;以及功能性地连接到第一存储器、第二存储器和第一控制器的第二控制器,其中,第二控制器被配置为当电子设备被加电时,在通电期间比较第一固件和第二固件,以及至少基于比较的结果开启第一控制器,以及其中,第一控制器被配置为响应于由第二控制器开启,控制电子设备的系统被启动。
Description
技术领域
本公开涉及一种包括用于系统启动的控制器的电子设备,以及一种通过使用包括在电子设备中的附加的控制器来启动系统的方法。
背景技术
电子设备可以包括中央处理单元(CPU)、存储器和用于输入/输出的系统。电子设备的存储器可以存储用于执行电子设备的功能的各种数据。例如,存储器可以存储基本输入输出系统(BIOS)。BIOS可以包括用于控制和测试电子设备输入/输出系统的软件。例如,BIOS可以包括用于执行测试(验证)过程的程序,以识别当向计算机供电时电子设备输入/输出系统是否正确地操作。
当供电时,电子设备可以执行启动操作。例如,包括在电子设备中的系统嵌入式控制器(EC)可以检测启动命令的输入并控制中央处理单元(CPU)执行启动操作。当执行启动操作时,电子设备可以通过使用存储在存储器中的BIOS来执行电子设备的测试操作。例如,CPU可以将BIOS加载到CPU中并执行BIOS以执行启动操作。当执行了启动操作时,电子设备的用户可以在适当的级别(例如,窗口级别)使用电子设备。
上述信息仅作为背景信息来呈现,以帮助理解本公开。关于上述信息中的任何一个信息是否可以作为关于本公开的现有技术适用,没有作出任何确定,也没有作出任何断言。
发明内容
[技术问题]
电子设备可以在存储器中存储用于包括在电子设备中的各种控制器(例如,系统嵌入式控制器)的操作的固件。此外,电子设备可以在存储器中存储用于控制电子设备的基本输入/输出系统的BIOS。然而,由于使用电子设备的过程或特定原因,存储在存储器中的固件和BIOS可能被操纵和/或损坏。当电子设备通过使用损坏的固件和BIOS执行电子设备的各种功能时,可能出现电子设备不能正常操作的问题。此外,电子设备在系统启动之前不能识别固件和BIOS的操纵和/或损坏。
此外,为了解决上述问题,简单地将现有的控制器与被配置为验证存储在存储器中的固件和/或BIOS的完整性的控制器合并可能由于合并控制器的操作的过多固件而导致系统效率恶化。
本公开的方面是解决至少上述问题和/或缺点,并提供至少下述优点。因此,本公开的一个方面是提供一种电子设备,其可以在电子设备的系统启动之前验证存储在存储器中的用于控制器的固件和BIOS。
附加的方面将部分地在随后的描述中阐述,并且部分地将从描述中显而易见,或者可以通过所呈现的实施例的实践来获知。
[技术方案]
根据本公开的一个方面,提供了一种电子设备。该电子设备包括第一控制器;第一存储器,被配置为:存储第一基本输入输出系统(BIOS)和用于控制第一控制器的第一固件,并且功能性地连接到第一控制器;第二存储器,被配置为存储对应于第一固件的第二固件和对应于第一BIOS的第二BIOS;以及第二控制器,功能性地连接到第一存储器、第二存储器和第一控制器,其中,第二控制器被配置为在电子设备被加电的通电期间比较第一固件和第二固件,以及至少基于比较的结果开启第一控制器,以及其中,第一控制器被配置为响应于由第二控制器开启,控制电子设备的系统被启动。
根据本公开的另一个方面,提供了一种用于操作电子设备的方法,该电子设备包括第一存储器、第二存储器、第一控制器和第二控制器。该方法包括:由第二控制器将存储在第一存储器中并被配置为控制第一控制器的第一固件与存储在第二存储器中并对应于第一固件的第二固件进行比较;至少基于比较的结果,由第二控制器开启第一控制器;以及响应于第一控制器被第二控制器开启,由第一控制器控制电子设备的系统被引导。
[发明的有益效果]
根据此文件中公开的各种实施例的电子设备可以在系统启动之前识别存储在存储器中并且被配置为控制控制器的固件和/或BIOS的操纵和/或破坏。例如,电子设备可以通过在系统启动之前验证存储在存储器中并且被配置为控制系统嵌入式控制器的固件来保护完整性。此外,例如,电子设备可以通过在系统启动之前验证存储在存储器中的BIOS来确保完整性。因此,电子设备可以预先防止由于固件和/或BIOS的损坏而在系统启动之后引起的问题。
此外,根据本公开的各种实施例,电子设备可以在启动系统之前识别用于控制系统嵌入式控制器的固件和/或BIOS,并且当固件和/或BIOS被操纵或损坏时重构该固件和/或BIOS。
此外,根据各种实施例,电子设备可以根据电子设备使用的目的(例如,企业对企业(B2B)、企业对消费者(B2C))来提供不同的安全级别。
此外,可以提供通过此文件直接或间接识别的各种效果。
通过下面结合附图的详细描述,本公开的其它方面、优点和显著特征对于本领域技术人员将变得显而易见,该详细描述公开了本公开的各种实施例。
附图说明
从以下结合附图的描述中,本公开的某些实施例的上述和其它方面、特征和优点将变得更加明显,其中:
图1是根据本公开的实施例的电子设备的框图;
图2图示了根据本公开的实施例的电子设备的元件之间的连接关系;
图3是图示根据本公开的实施例的电子设备的固件验证和恢复操作的流程图;
图4是图示根据本公开的实施例的电子设备的BIOS验证和恢复操作的流程图;
图5是图示根据本公开的实施例的电子设备的固件验证操作的流程图;
图6是图示根据本公开的实施例的根据电力施加的电子设备的系统启动操作的流程图;
图7是图示根据本公开的实施例的电子设备的系统启动操作的流程图;以及
图8图示了根据本公开的实施例的网络环境中的电子设备。
在所有附图中,应当注意,相同的附图标记用于描绘相同或相似的元件、特征和结构。
具体实施方式
在下文中,将参考附图描述本公开的各种实施例。然而,应当理解,本公开的各种实施例并不旨在将本公开限于指定的实施例,而是包括其各种修改、等同物和/或替代。
图1是根据本公开实施例的电子设备的框图。
参照图1,电子设备100可以包括第一控制器110、第二控制器120、第一存储器130、第二存储器140和/或中央处理单元(CPU)150。上面列出的元件可以相互可操作地连接或电连接。作为示例,可以修改、删除或添加图1所示的电子设备100的一些元件。根据本公开的实施例,除了图1所示的元件之外,还可以包括其它通用元件。
电子设备100可以包括CPU 150和输入/输出设备(未示出),并且可以是各种类型的设备。例如,电子设备100可以包括计算机设备、便携式多媒体设备、笔记本计算机、膝上型计算机、便携式通信设备(例如,智能电话)或家用电器。根据此文件实施例的电子设备100不限于上述设备。
第一控制器110可以是被配置为执行电子设备100的系统管理的控制器,并且可以包括系统嵌入式控制器。第一控制器110可以控制用于电子设备100的系统启动的操作。例如,第一控制器110可以加载存储在第一存储器130中的程序并执行用于系统启动的操作。
第一控制器110可以连接到第一存储器130、CPU 150和第二控制器120。第一控制器110可以通过执行存储在第一存储器130中的指令来控制CPU 150。例如,第一控制器110可以获取启动请求,并响应于该启动请求向CPU 150发送系统启动命令。
第二控制器120可以是不同于第一控制器110的控制器,并且在电子设备100被加电的通电期间可以控制电子设备100的验证操作。第二控制器120可以连接到第一存储器130、第二存储器140和第一控制器110。第二控制器120可以识别存储在第一存储器130和第二存储器140中的指令是否被操纵和/或损坏,并且可以开启或关闭用于启动电子设备100的系统的第一控制器110。
第一存储器130和第二存储器140可以存储各种类型的数据。根据实施例,第一存储器130和第二存储器140可以由各种类型的存储器来配置。例如,第一存储器130和第二存储器140可以由只读存储器(ROM)(例如,单程序启动器ROM(SPI ROM))来配置。然而,其不限于上述示例,且第一存储器130和第二存储器140可由各种非易失性存储器中的一个配置。
第一存储器130可以存储第一基本输入输出系统(BIOS)。第一BIOS可以包括被配置为在电子设备100被开启时自动执行的程序,该程序用于检查电子设备100的状态,执行用于系统初始化的任务,以及在初始化任务期间识别哪些外围设备被连接到电子设备100。
第一存储器130可以存储包括用于控制第一控制器110的程序的第一固件。第一控制器110可加载第一固件并至少基于第一固件执行各种操作。
第二存储器140可以存储用于恢复第一存储器130的数据。例如,第二存储器可以存储与存储在第一存储器130中的数据有关的备份(或恢复)数据。在另一个示例中,第二存储器140可存储对应于第一BIOS的第二BIOS。第二BIOS可以包括被配置为在电子设备100被开启时自动执行的程序,该程序用于检查电子设备100的状态,执行用于系统初始化的任务,以及在初始化任务期间识别哪些外围设备被连接到电子设备100。
未操纵的第一BIOS和第二BIOS可以是相同的。第二存储器140可以存储与包括用于控制第一控制器110的程序的第一固件相对应的第二固件。未被操纵和/或损坏的第一固件可以与第二固件相同。第二存储器140可以存储包括用于控制第二控制器120的程序的第三固件(未示出)。第二控制器120可加载第三固件并至少基于第三固件执行各种操作。
根据本公开的实施例,根据电子设备100的形式,CPU 150可以被表示为应用处理器。然而,CPU 150不限于上述示例,并且CPU 150可以被表示为主处理器。
根据本公开的实施例,电子设备100可以包括主处理器(例如,中央处理单元或应用处理器)或可以独立于主处理器或与主处理器一起操作的辅助处理器(例如,图形处理单元,神经处理单元(NPU),图像信号处理器,传感器集线器处理器或通信处理器)。
CPU 150可以将存储在第一存储器130中的操作系统上载到包括在CPU 150中的存储器(未示出)以启动操作系统。此外,CPU 150可以执行存储在第一存储器130中的第一BIOS,以正常启动电子设备100的系统。CPU 150可以电连接或可操作地连接到包括在电子设备100中的各种元件。此外,CPU 150可以通过使用存储在电子设备100的至少一个存储器中的指令来执行与电子设备100的至少一个其它元件的控制和/或通信有关的计算或数据处理。该至少一个存储器可存储指令,该指令在被执行时致使CPU 150处理电子设备100的数据或控制元件以执行电子设备100的操作。
在电子设备100被加电的通电期间,第二控制器120可以验证存储在第一存储器130和第二存储器140中的数据是否被操纵和/或损坏。例如,在电子设备100被加电的通电期间,第二控制器120可以比较用于控制第一控制器110的第一固件和对应于第一固件的第二固件。第二控制器120可以被配置为分别从第一存储器130和第二存储器140加载第一固件和第二固件的至少一部分,以比较第一固件和第二固件。第二控制器120可以比较所加载的第一固件和第二固件以验证第一固件。
在电子设备被加电的通电期间,第二控制器120可以向第一控制器发送包括待机信号的第一控制信号,以便确保控制电子设备的权利。
第二控制器120可以至少基于比较的结果开启第一控制器110。例如,当根据比较结果第一固件和第二固件相同时,第二控制器120可以确定第一固件未被操纵和/或损坏,并且开启第一控制器110。例如,第二控制器120可以向第一控制器110发送包括开启信号的第二控制信号。
响应于第一控制器110被开启,第一控制器可以加载存储在第一存储器130中的第一固件。第一控制器110可通过将第一固件加载到包括在第一控制器110中的第一缓冲存储器中并执行所加载的第一固件来执行操作。
第一控制器110可以响应于由第二控制器120开启而控制电子设备100系统启动。例如,第一控制器110可以获取与电子设备100系统启动有关的启动请求。此外,第一控制器110可以基于所获取的启动请求向CPU 150发送系统启动命令。
基于所接收的系统启动命令,CPU 150可通过执行存储在第一存储器130中的第一BIOS来执行系统启动操作。例如,CPU 150可以将第一BIOS加载到包括在CPU 150中的第三缓冲存储器(未示出)中,并执行所加载的第一BIOS以启动系统。
第二控制器120可以在启动系统之前验证第一固件,并且可以验证第一BIOS,以防止由程序操纵在启动系统期间引起的问题。
图2图示了根据本公开的实施例的电子设备的元件之间的连接关系200。
参照图2,图示出了电子设备100的元件之间的连接关系。电子设备100可以包括第一控制器110、第二控制器120、第一存储器130、第二存储器140、中央处理单元150和可信平台模块(TPM)160,和/或被配置为执行元件之间的连接的复用器170。根据本公开的实施例,上述元件相互可以可操作地连接地或电连接。作为示例,可以修改、删除或添加图2所示的电子设备100的一些元件。根据本公开的实施例,除了图2所示的元件之外,还可以包括其它通用元件。包括在电子设备100中的元件可以通过各种方法直接或间接连接,而不限于图2所示的连接关系200。在下文中,可以省略与参考图1描述的内容相同的内容。
电子设备100可以包括第一控制器110、第二控制器120、第一存储器130、第二存储器140、中央处理单元150、可信平台模块(TPM)160和/或被配置为执行元件之间的连接的复用器170。电子设备100不限于图2中所示的示例,并且可以包括用于元件之间的连接关系的多个复用器。
第一存储器130可以存储包括用于控制第一控制器110的程序的第一固件131,以及第一BIOS133。第二存储器140可以存储对应于第一固件131并用于恢复(或备份)存储在第一存储器130中的数据的第二固件141,以及对应于第一BIOS133的第二BIOS143。当第一存储器130未被操纵或损坏时,第一固件131和第二固件141可以是相同的,并且第一BIOS133和第二BIOS143可以是相同的。第二存储器140可以存储包括用于控制第二控制器120的程序的第三固件(未示出)。
第一控制器110、第二控制器120和/或CPU 150中的每一个可以包括缓冲存储器,用于在执行操作时临时存储数据。例如,第一控制器110可以包括第一缓冲存储器111,第二控制器120可以包括第二缓冲存储器121,和/或CPU 150可以包括第三缓冲存储器(未示出)。
TPM 160是用于识别电子设备100的系统安全性的模块,并且可以存储安全密钥。当根据电子设备100的系统启动将操作系统上载到CPU 150的存储器时,TPM 160可以执行与安全性有关的操作。例如,在执行系统的启动时,电子设备100可以通过使用存储在第二控制器120中的安全密钥、存储在CPU 150中的安全密钥以及包括在TPM 160中的安全密钥来验证电子设备100的完整性。根据本公开的各种实施例,TPM 160可以用于执行用于维持电子设备100的安全性的各种操作。
第一控制器110可以直接或通过使用复用器170连接到第二控制器120、第一存储器130和CPU 150。
第一控制器110可以连接到第二控制器120以发送或接收各种控制信号。例如,当第一控制器110在开启状态下获取到电子设备100的系统启动请求时,第一控制器110可以将启动请求发送到第二控制器120。第二控制器120可以基于从第一控制器110获取的启动请求来执行验证第一BIOS的操作。稍后将参考图4到图7详细描述由第一控制器110验证第一BIOS的操作。
第一控制器110可以从第二控制器120接收包括各种信号的控制信号。例如,第一控制器110可以连接到第二控制器120以发送开启信号、待机信号和/或启动信号。例如,在加电时的通电期间,第二控制器120可以向第一控制器110发送包括待机信号的第一控制信号,以便保证控制电子设备100的权利。即使加电,第一控制器110也可以基于第一控制信号不操作。此外,当完成对将由第一控制器110执行的第一固件的验证操作时,第二控制器120可以将包括开启信号的第二控制信号发送到第一控制器110。第一控制器110可以基于第二控制信号被开启。第二控制器120可以响应于从第一控制器110发送的启动请求对第一BIOS执行验证操作,并且可以至少基于验证操作的结果向第一控制器110发送启动信号。
第一控制器110可以包括第一缓冲存储器111以存储和使用各种数据。例如,第一控制器110可以将来自第一存储器130的包括指令的各种程序加载到第一缓冲存储器111中。例如,在开启时,第一控制器110可以将存储在第一存储器130中的包括用于控制第一控制器110的程序的第一固件131加载到第一缓冲存储器111中。在开启时,第一控制器110可以通过执行加载到第一缓冲存储器111中的第一固件131来操作。
第二控制器120可以直接或间接地连接到第二存储器140、第一存储器130、第一控制器110和/或TPM 160。例如,第二控制器120可以通过复用器170间接地连接到第一存储器130和/或第一控制器110。根据本公开的实施例,第二控制器120、第二存储器140和/或复用器170可以被配置为第一模块201。根据本公开的另一个实施例,第二控制器120和第二存储器140可以被配置为单个芯片。因此,当由于安全级别根据电子设备100的使用目的改变而改变电子设备100的元件之间的连接时,电子设备100可以被配置为省略第一模块201。例如,当电子设备100的使用目的对应于B2C而不是B2B时,电子设备100可以被配置为不包括第一模块201并且省略使用第一模块201执行操作。
在电子设备100被加电的通电期间,第二控制器120可以对存储在第一存储器130中的第一固件131执行验证操作。例如,第二控制器120连接到第一存储器130和第二存储器140,并且可以分别从第一存储器130和第二存储器140加载第一固件131和第二固件141的至少一部分。第二控制器120可以将加载的第一固件131和第二固件141临时存储在第二缓冲存储器121中以验证第一固件131,并且可以比较第一固件131和第二固件141以对第一固件131执行验证操作。
当从第一控制器110传递启动请求时,第二控制器120可以对存储在第一存储器130中的第一BIOS133执行验证操作。例如,第二控制器120连接到第一存储器130和第二存储器140,并且可以分别从第一存储器130和第二存储器140加载第一BIOS133和第二BIOS143的至少一部分。第二控制器120可以将加载的第一BIOS133和第二BIOS143临时存储在第二缓冲存储器121中以验证第一BIOS133,并且可以比较第一BIOS133和第二BIOS143以对第一BIOS133执行验证操作。
第二存储器140可以包括用于控制第二控制器120的第三固件(未示出)。第二控制器120可以通过利用与第二存储器140的连接将第三固件加载到第二缓冲存储器121中并执行第三固件来操作。
第一控制器110可以通过复用器170间接地连接到CPU 150。然而,当根据电子设备100的使用目的改变电子设备100的元件之间的连接时,第一控制器110可以直接连接到CPU150。第一控制器110可以连接到CPU 150以发送系统启动命令。第一控制器110可以响应于获取到系统启动请求而向CPU 150发送启动命令。CPU 150可以响应于所获取的启动命令来执行系统启动命令。
CPU 150可以直接或间接地连接到TPM 160、第一存储器130和第一控制器110。响应于从第一控制器110获取的启动命令,CPU 150可以将存储在第一存储器130中的第一BIOS133上载到包括在CPU 150中的第三缓冲存储器(未示出)中。CPU 150可以通过执行所加载的第一BIOS133来执行系统启动操作。
图3是用于解释根据本公开的实施例的电子设备的固件验证和恢复操作的流程图300。
参照图3,电子设备100可以包括第二存储器140、第一存储器130、第二控制器120、第一控制器110和/或中央处理单元150。这些元件可以表示类似于参考图1和图2描述的电子设备100的配置。因此,可以省略与参考图1和图2描述的内容相同或相似的内容。
在操作301中,当电子设备100被加电时的通电期间,第二控制器120可以向第一控制器110发送第一控制信号。第一控制信号可以包括待机命令信号,第二控制器120通过该待机命令信号即使在通电期间也能控制电子设备100。在操作302中,响应于第一控制信号,第一控制器110可以保持待机状态而不被开启。
在操作303中,第二控制器120可以加载存储在第一存储器130中的第一固件(例如,第一固件131),并且在操作305中,第二控制器120可以加载存储在第二存储器140中的第二固件(例如,第二固件141)。第二控制器120可以执行操作303和305以在第一控制器110开启之前验证第一固件。
在操作307中,第二控制器120可以比较第一固件和第二固件。例如,由于第二固件和第一固件相同,第二控制器120可以验证第一固件没有被操纵或损坏。当作为比较结果第一固件和第二固件不相同时,第二控制器120可以确定第一固件被操纵或损坏。
当第一固件和第二固件不相同时,在操作309中,第二控制器120可以用第二固件重写存储在第一存储器130中的第一固件。例如,第二控制器120可以用未被操纵的第二固件重写第一固件。在操作307中,响应于重写第二控制器120可以而通过再次执行第一固件与第二固件之间的比较操作来再次验证第一固件。
当作为它们之间的比较结果确定第一固件和第二固件相同时,在操作311中,第二控制器120可以向第一控制器110发送包括开启命令的第二控制信号。在接收到包括开启命令的第二控制信号时,在操作312中可以开启第一控制器110。
当第一控制器110由第二控制器120开启时,在操作313中,第一控制器可以加载存储在第一存储器130中的第一固件。例如,第一控制器110可以将第一固件的镜像(image)复制到包括在第一控制器110中的第一缓冲存储器(例如,第一缓冲存储器111)。根据本公开的实施例,第一控制器110可以通过执行所加载的第一固件来执行操作。
在操作315中,第一控制器110和CPU 150可以执行用于启动电子设备100的系统的操作。
图4是图示了根据本公开的实施例的电子设备的BIOS验证和恢复操作的流程图400。
参照图4,电子设备100可以包括第二存储器140、第一存储器130、第二控制器120、第一控制器110和/或中央处理单元150。这些元件可以表示类似于参考图1和图2描述的电子设备100的配置。因此,省略了与参考图1和图2所描述的元件类似的元件的描述。
当电子设备100处于终止状态同时加电时,在操作401中,第一控制器110可以获取电子设备的启动命令。例如,开启的第一控制器110可以获取与系统启动(例如,启动请求)有关的输入(通过包括在电子设备100中的物理键(例如,电源按钮)从电子设备100的用户获取)。根据本公开的各种实施例,第一控制器110可以通过用户或包括生成预配置事件的各种方法来获取启动请求。
响应于获取到启动命令,在操作403中,第一控制器110可以将启动命令传递到第二控制器120。第一控制器110可以传递启动命令,并且第二控制器120可以在接收到启动命令后确保控制电子设备100的权利。
响应于获取到启动命令,第二控制器120可以在操作405中加载存储在第一存储器130中的第一BIOS(例如,第一BIOS133),并且可以在操作407中加载存储在第二存储器140中的第二BIOS(例如,第二BIOS143)。第二控制器120可以执行操作405和操作407,以在电子设备100的系统被启动之前验证第一BIOS。
在操作409中,第二控制器120可以比较第一BIOS和第二BIOS。例如,当第二BIOS和第一BIOS相同时,第二控制器120可以验证第一BIOS没有被操纵或损坏。当作为比较结果第一BIOS和第二BIOS不相同时,第二控制器120可以确定第一BIOS被操纵或损坏。
当第一BIOS和第二BIOS不相同时,在操作411中,第二控制器120可以用第二BIOS重写存储在第一存储器130中的第一BIOS。例如,第二控制器120可以用未操纵的第二BIOS重写第一BIOS。在操作411中,响应于重写,第二控制器120可以通过再次执行第一BIOS与第二BIOS之间的比较操作来重新验证第一BIOS。
当作为比较第一BIOS和第二BIOS的结果确定第一BIOS和第二BIOS相同时,在操作413中,第二控制器120可以向第一控制器110发送包括启动命令的控制信号。
当接收到包括启动命令的控制信号时,在操作415中,第一控制器110可以向CPU150发送系统启动命令。
响应于从第一控制器110接收到系统启动命令,在操作417中,CPU 150可以加载存储在第一存储器130中的第一BIOS。
CPU 150可以加载第一BIOS并在操作419中执行所加载的第一BIOS以执行系统的启动操作。
根据本公开的实施例,电子设备100可以在启动系统之前识别用于控制第一控制器(例如,系统嵌入式控制器)的第一BIOS和第一固件是否被操纵或损坏,并且,当操纵或损坏了第一BIOS和第一固件时,电子设备可以恢复被操纵或损坏的第一BIOS和第一固件以启动系统。
图5是用于描述根据本公开的实施例的电子设备的固件验证操作的流程图500。
参照图5,在操作501中,在电子设备100被加电时的通电期间,第二控制器120可以比较第一固件131和第二固件141。例如,第二控制器120可以比较存储在第一存储器130中并且被配置为控制第一控制器110的第一固件131和存储在第二存储器140中并且对应于第一固件131的第二固件141。第二固件141可以包括用于第一固件131的备份固件,用于恢复第一固件131。第二控制器120可以比较第一固件131和第二固件141,以确定第一固件131是否已经被操纵和/或损坏。
在操作503中,第二控制器120可以至少基于比较的结果开启第一控制器110。例如,当用于控制第一控制器110的第一固件131与第二固件141匹配时,第二控制器120可以开启第一控制器110。为了开启第一控制器110,第二控制器120可以向第一控制器110发送请求开启的控制信号。
在操作505中,第一控制器110可以响应于由第二控制器120开启而控制电子设备100的系统启动。例如,第一控制器110可以响应于被开启而向CPU 150发送系统启动命令。根据实施例,CPU 150可以至少基于接收到的系统启动命令通过执行第一BIOS133来启动系统。
图6是用于描述根据本公开的实施例的根据电力施加的电子设备的系统启动操作的流程图600。
参照图6,在操作601中,可以向电子设备100加电。例如,去除所有电力的电子设备100可以识别已经加电。例如,包括在电子设备100中的第一控制器110或第二控制器120可以识别电子设备100被加电。
响应于电力施加到电子设备100,第二控制器120可以控制电子设备100的功能的执行。例如,响应于电力被施加到电子设备100,第二控制器120可以向第一控制器110发送控制信号,命令第一控制器110待机。
在操作603中,第二控制器120可以比较第一固件(例如,第一固件131)和第二固件(例如,第二固件141)。例如,第二控制器120可以加载存储在第一存储器130中的用于控制第一控制器110的第一固件131(例如,系统嵌入式控制器固件(系统EC FW))。此外,第二控制器120可以加载对应于第一固件131的第二固件141。第二固件141可以包括用于第一固件131的备份固件,用于恢复第一固件131。
第二控制器120可以比较加载的第一固件131和第二固件141。例如,第二控制器120可以比较第一固件131和第二固件141,以确定第一固件131是否已经被操纵和/或损坏。当第一固件131未被操作或损坏时,第一固件131可以包括与第二固件141相同的代码。然而,当操纵了第一固件131时,第一固件131可以包括不同于第二固件141的代码。第二控制器120可以通过比较第一固件131和第二固件141来验证第一固件131。
响应于第一固件131和第二固件141相同,在操作605中,第二控制器120可以开启第一控制器110。例如,第二控制器120可以向第一控制器110发送用于开启的控制信号。已经从第二控制器120接收到控制信号的第一控制器110可以响应于控制信号而被开启。开启的第一控制器110可以执行第一固件131以执行与系统启动相关的操作。
响应于第一固件131和第二固件141不相同,在操作607中,第二控制器120可以通过使用第二固件141来恢复第一固件131。例如,当作为比较结果第一固件131和第二固件141不相同时,第二控制器120可以识别第一固件131已经被操纵。因此,第二控制器120可以用第二固件141重写第一固件131以恢复第一固件131。根据本公开的实施例,第二控制器120可以响应于恢复第一固件131而执行操作605。
第二控制器120可以执行操作607,并且可以通过执行另一比较来验证第一固件131和第二固件141。例如,第二控制器120可以用第二固件141重写第一固件131,并且可以再次比较第一固件131和第二固件141,以识别是否已经正确地执行了第一固件131的恢复。当第一固件131和第二固件141至少基于比较结果相同时,第二控制器120可以执行操作605。
电子设备100可以在第一控制器110开启之前对第一固件131执行验证操作,从而在验证了第一固件131的完整性的状态下操作第一控制器110,该第一固件131是用于控制第一控制器110的操作的固件。
在操作609中,第二控制器120可以比较第一BIOS133和第二BIOS143。例如,第二控制器120可以加载存储在第一存储器130中并且被配置用于电子设备100的系统的基本操作的第一BIOS133。此外,第二控制器120可以加载与第一BIOS133相对应的第二BIOS 143。根据本公开的实施例,第二BIOS143可以包括与第一BIOS133相关的备份BIOS,用于恢复第一BIOS133。
第二控制器120可以比较所加载的第一BIOS133和第二BIOS 143。例如,第二控制器120可以比较第一BIOS133和第二BIOS143以确定第一BIOS133是否被操纵和/或损坏。当第一BIOS133未被操纵时,第一BIOS133可以包括与第二BIOS143相同的代码。另一方面,当操纵了第一BIOS133时,第一BIOS133可以包括不同于第二BIOS143的代码。在实施例中,第二控制器120可以通过比较第一BIOS133和第二BIOS143来验证第一BIOS133。
响应于从第一控制器110获取启动请求命令,第二控制器120可以在操作609中比较第一BIOS133和第二BIOS143。例如,开启的第一控制器110可以获取与系统启动(例如,启动请求)有关的输入(通过包括在电子设备100中的物理键(例如,电源按钮)从电子设备100的用户获取)。第一控制器110可以通过用户或包括生成预配置事件的各种方法来获取启动请求。响应于获取启动命令,第一控制器110可以将启动命令传递到第二控制器120。此外,响应于获取到启动请求,第一控制器110可以将控制电子设备100的功能的执行的权利传递到第二控制器120。因此,第二控制器120可以比较第一BIOS133和第二BIOS143。
响应于第一BIOS133和第二BIOS143相同,第一控制器110可以在操作611中执行系统启动操作。例如,当第一BIOS133和第二BIOS143相同时,在操作611中,第二控制器120可以将与执行启动操作有关的信号传递到第一控制器110。例如,第二控制器120可以比较第一BIOS133和第二BIOS143,并且可以至少基于比较的结果将与执行启动操作有关的信号(例如,用于第一BIOS133的验证完成信号)传递到第一控制器110。第一控制器110可以基于该信号控制电子设备100启动系统。例如,第一控制器110可以将启动命令传递到CPU 150。根据实施例,已经从第一控制器110获取到启动命令的CPU 150可以执行第一BIOS133以执行系统的启动操作。
响应于第一BIOS133和第二BIOS143不相同,第二控制器120可以在操作613中通过使用第二BIOS143来恢复第一BIOS133。例如,第二控制器120可以比较第一BIOS133和第二BIOS143。此外,当第一BIOS133和第二BIOS143不相同时,第一BIOS133可以被识别为被操纵。因此,第二控制器120可以通过用第二BIOS143重写第一BIOS133来恢复第一BIOS133。响应于恢复第一BIOS133,第二控制器120可以将第一BIOS133的验证结果发送到第一控制器110。
第二控制器120可以执行操作613,并且可以通过执行另一个比较来验证第一BIOS133和第二BIOS143。例如,第二控制器120可以用第二BIOS143重写第一BIOS133,并且可以再次比较第一BIOS 133和第二BIOS143以识别第一BIOS133是否被适当地恢复。当第一BIOS133和第二BIOS143至少基于比较结果相同时,第二控制器120可以将与执行启动操作有关的信号(例如,用于第一BIOS133的验证完成信号)传递到第一控制器110。当信号被发送到第一控制器110时,第一控制器110可以具有控制电子设备100的功能的执行的权利。在操作611中,已经获取信号的第一控制器110可以执行系统启动操作。
根据本公开的实施例,可以在电子设备100执行系统启动操作之前执行对第一BIOS133的验证操作,并且因此电子设备100可以在电子设备100的系统被启动之前验证了第一BIOS133的完整性的状态下执行系统启动操作。
图7是用于描述根据本公开的实施例的电子设备的系统启动操作的流程图700。
参照图7,在操作701中,第一控制器110可以获取对电子设备100的启动请求。电子设备100可以处于用户终止电子设备100而没有从电子设备100完全移除电力的状态。当保持对电子设备的电力供应并且电子设备处于终止状态时,电子设备100可以获取启动请求。例如,第一控制器110可以获取对电子设备的启动请求。例如,开启的第一控制器110可以获取与系统启动(例如,启动请求)有关的输入(通过包括在电子设备100中的物理键(例如,电源按钮)从电子设备100的用户获取)。第一控制器110可以通过用户或包括生成预配置事件的各种方法来获取启动请求。
响应于在操作701中获取到启动请求,第一控制器110可以执行操作609。例如,第一控制器110可以将启动请求传递到第二控制器120。此外,第一控制器110可以响应于获取到启动请求而将控制电子设备100的功能的执行的权利传递到第二控制器120。电子设备100随后可以执行操作609至操作613。
根据本公开的实施例,电子设备100可以在移除电力然后施加电力时执行操作601至操作613。例如,当电力未被移除并且电子设备100处于终止状态时,电子设备100可以执行操作701和操作609至操作613。因此,与操作609相比,执行操作603的可以频率更低。
如上所述,根据本公开的实施例的电子设备(例如,图1的电子设备100)可以包括第一控制器(例如,图2的第一控制器110)、被配置为存储第一基本输入输出系统(BIOS)(例如,图2的第一BIOS 133)和用于控制第一控制器的第一固件(例如,图2的第一固件131),并且功能性地连接到第一控制器的第一存储器(例如,图2的第一存储器130)、被配置为存储对应于第一固件的第二固件(例如,图2的第二固件141)和对应于第一BIOS的第二BIOS(例如,图2的第二BIOS143)的第二存储器(例如,图2的第二存储器140),并且功能性地连接到第一存储器、第二存储器和第一控制器的第二控制器(例如,图2的第二控制器120),其中第二控制器被配置为当电子设备被加电时在通电期间比较第一固件和第二固件,并且至少基于比较的结果开启第一控制器,并且第一控制器被配置为响应于由第二控制器开启,控制启动电子设备系统。
第二控制器可以被配置为,在作为比较的结果,第一固件和第二固件不匹配的情况下,用第二固件重写第一固件,并且比较和验证第一固件和第二固件。
第二控制器可以被配置为在通电期间向第一控制器发送包括待机信号的第一控制信号,用于由第二控制器控制电子设备。
第一控制器可以被配置为获取对电子设备的启动请求,以及响应于获取到启动请求,将启动请求发送到第二控制器,第二控制器被配置为响应于被发送的启动请求,比较第一BIOS和第二BIOS,以及至少基于比较的结果将用于启动系统的第二控制信号发送到第一控制器,以及第一控制器被配置为基于第二控制信号向包括在电子设备中的中央处理单元(CPU)发送系统启动命令。
第二控制器可以被配置为基于第一BIOS与第二BIOS不匹配的比较结果而用第二BIOS重写第一BIOS,并且比较和验证第一BIOS与第二BIOS。
CPU可以被配置为根据系统启动命令执行第一BIOS,以便执行系统的启动。
第二控制器和第二存储器可以被配置为单个芯片。
第一控制器可以包括第一缓冲存储器,并且被配置为响应于由第二控制器开启而将存储在第一存储器中的第一固件加载到第一缓冲存储器中,并且通过执行所加载的第一固件来操作。
第二存储器可以被配置为存储用于控制第二控制器的第三固件,并且第二控制器可以包括第二缓冲存储器,并被配置为将第三固件加载到第二缓冲存储器中,以及通过执行所加载的第三固件来操作。
CPU可以包括第三缓冲存储器,并且被配置为响应于从第一控制器获取的系统的启动请求而将第一BIOS加载到第三缓冲存储器中,并且通过执行所加载的第一BIOS来执行系统启动。
电子设备还可以包括可信平台模块,可信平台模块被配置为存储用于电子设备的安全密钥,其中电子设备被配置为在执行系统的启动期间,通过使用安全密钥、存储在CPU中的安全密钥以及存储在第二控制器中的安全密钥来验证所述电子设备的完整性。
启动请求可以包括与系统启动相关的输入,其通过包括在电子设备中的物理密钥从电子设备的用户获取。
如上所述,根据本公开的实施例,用于操作包括第一存储器(例如,图2的第一存储器130)、第二存储器(例如,图2的第二存储器140)、第一控制器(例如,图2的第一控制器110)和第二控制器(例如,图2的第二控制器120)的电子设备的方法可以包括:比较存储在第一存储器中并被配置为控制第一控制器的第一固件和存储在第二存储器中并对应于第一固件的第二固件,以及,至少基于比较的结果,由第二控制器开启第一控制器,以及响应于第一控制器由第二控制器开启,由第一控制器控制电子设备的系统被启动。
第一固件和第二固件的比较可以包括响应于第一固件和第二固件不匹配的比较结果,用第二固件重写第一固件,以及比较和验证第一固件和第二固件。
该方法还可以包括:由第一控制器获取对电子设备的启动请求;响应于启动请求的获取,由第一控制器向第二控制器发送启动请求;响应于发送的启动请求,由第二控制器比较存储在第一存储器中的第一BIOS和存储在第二存储器中的第二BIOS;至少基于比较结果,向第一控制器发送用于启动系统的信号;以及基于用于启动系统的信号,由第一控制器向包括在电子设备中的中央处理单元(CPU)发送系统启动命令。
第一BIOS和第二BIOS的比较可以包括响应于第一BIOS和第二BIOS不匹配的比较结果,用第二BIOS重写第一BIOS,以及比较和验证第一BIOS和第二BIOS。
CPU可以被配置为根据系统启动命令执行第一BIOS,以便执行系统的启动。
启动请求的获取可以包括由第一控制器通过包括在电子设备中的物理键从电子设备的用户获取与启动系统有关的输入。
第一控制器和第二控制器可以分别包括第一缓冲存储器和第二缓冲存储器,并且该方法还可以包括由第一控制器将第一固件加载到第一缓冲存储器中并执行所加载的第一固件,以及由第二控制器将用于执行第二控制器的存储在第二存储器中的第三固件加载到第二缓冲存储器中并执行第三固件。
CPU可以包括第三缓冲存储器,并且该方法还可以包括由CPU响应于从第一控制器获取的系统启动命令将第一BIOS加载到第三缓冲存储器中,以及由CPU执行所加载的第一BIOS以便执行系统启动。
图8是示出根据本公开的各种实施例的网络环境800中的电子装置801的框图。参照图8,网络环境800中的电子装置801可经由第一网络898(例如,短距离无线通信网络)与电子装置802进行通信,或者经由第二网络899(例如,长距离无线通信网络)与电子装置804或服务器808中的至少一个进行通信。根据实施例,电子装置801可经由服务器808与电子装置804进行通信。根据实施例,电子装置801可包括处理器820、存储器830、输入模块850、声音输出模块855、显示模块860、音频模块870、传感器模块876、接口877、连接端878、触觉模块879、相机模块880、电力管理模块888、电池889、通信模块890、用户识别模块(SIM)896或天线模块897。在一些实施例中,可从电子装置801中省略上述部件中的至少一个(例如,连接端878),或者可将一个或更多个其它部件添加到电子装置801中。在一些实施例中,可将上述部件中的一些部件(例如,传感器模块876、相机模块880或天线模块897)实现为单个集成部件(例如,显示模块860)。
处理器820可运行例如软件(例如,程序840)来控制电子装置801的与处理器820连接的至少一个其它部件(例如,硬件部件或软件部件),并可执行各种数据处理或计算。根据一个实施例,作为所述数据处理或计算的至少部分,处理器820可将从另一部件(例如,传感器模块876或通信模块890)接收到的命令或数据存储到易失性存储器832中,对存储在易失性存储器832中的命令或数据进行处理,并将结果数据存储在非易失性存储器834中。根据实施例,处理器820可包括主处理器821(例如,中央处理器(CPU)或应用处理器(AP))或者与主处理器821在操作上独立的或者相结合的辅助处理器823(例如,图形处理单元(GPU)、神经处理单元(NPU)、图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。例如,当电子装置801包括主处理器821和辅助处理器823时,辅助处理器823可被适配为比主处理器821耗电更少,或者被适配为专用于特定的功能。可将辅助处理器823实现为与主处理器821分离,或者实现为主处理器821的部分。
在主处理器821处于未激活(例如,睡眠)状态时,辅助处理器823(而非主处理器821)可控制与电子装置801的部件之中的至少一个部件(例如,显示模块860、传感器模块876或通信模块890)相关的功能或状态中的至少一些,或者在主处理器821处于激活状态(例如,运行应用)时,辅助处理器823可与主处理器821一起来控制与电子装置801的部件之中的至少一个部件(例如,显示模块860、传感器模块876或通信模块890)相关的功能或状态中的至少一些。根据实施例,可将辅助处理器823(例如,图像信号处理器或通信处理器)实现为在功能上与辅助处理器823相关的另一部件(例如,相机模块880或通信模块890)的部分。根据实施例,辅助处理器823(例如,神经处理单元)可包括专用于人工智能模型处理的硬件结构。可通过机器学习来生成人工智能模型。例如,可通过人工智能被执行之处的电子装置801或经由单独的服务器(例如,服务器808)来执行这样的学习。学习算法可包括但不限于例如监督学习、无监督学习、半监督学习或强化学习。人工智能模型可包括多个人工神经网络层。人工神经网络可以是深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度置信网络(DBN)、双向循环深度神经网络(BRDNN)或深度Q网络或其两个或更多个的组合,但不限于此。另外地或可选地,人工智能模型可包括除了硬件结构以外的软件结构。
存储器830可存储由电子装置801的至少一个部件(例如,处理器820或传感器模块876)使用的各种数据。所述各种数据可包括例如软件(例如,程序840)以及针对与其相关的命令的输入数据或输出数据。存储器830可包括易失性存储器832或非易失性存储器834。
可将程序840作为软件存储在存储器830中,并且程序840可包括例如操作系统(OS)842、中间件844或应用846。
输入模块850可从电子装置801的外部(例如,用户)接收将由电子装置801的其它部件(例如,处理器820)使用的命令或数据。输入模块850可包括例如麦克风、鼠标、键盘、键(例如,按钮)或数字笔(例如,手写笔)。
声音输出模块855可将声音信号输出到电子装置801的外部。声音输出模块855可包括例如扬声器或接收器。扬声器可用于诸如播放多媒体或播放唱片的通用目的。接收器可用于接收呼入呼叫。根据实施例,可将接收器实现为与扬声器分离,或实现为扬声器的部分。
显示模块860可向电子装置801的外部(例如,用户)视觉地提供信息。显示装置860可包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。根据实施例,显示模块860可包括被适配为检测触摸的触摸传感器或被适配为测量由触摸引起的力的强度的压力传感器。
音频模块870可将声音转换为电信号,反之亦可。根据实施例,音频模块870可经由输入模块850获得声音,或者经由声音输出模块855或与电子装置801直接(例如,有线地)连接或无线连接的外部电子装置(例如,电子装置802)的耳机输出声音。
传感器模块876可检测电子装置801的操作状态(例如,功率或温度)或电子装置801外部的环境状态(例如,用户的状态),然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感器模块876可包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
接口877可支持将用来使电子装置801与外部电子装置(例如,电子装置802)直接(例如,有线地)或无线连接的一个或更多个特定协议。根据实施例,接口877可包括例如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端878可包括连接器,其中,电子装置801可经由所述连接器与外部电子装置(例如,电子装置802)物理连接。根据实施例,连接端878可包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块879可将电信号转换为可被用户经由他的触觉或动觉识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉模块879可包括例如电机、压电元件或电刺激器。
相机模块880可捕获静止图像或运动图像。根据实施例,相机模块880可包括一个或更多个透镜、图像传感器、图像信号处理器或闪光灯。
电力管理模块888可管理对电子装置801的供电。根据实施例,可将电力管理模块888实现为例如电力管理集成电路(PMIC)的至少部分。
电池889可对电子装置801的至少一个部件供电。根据实施例,电池889可包括例如不可再充电的原电池、可再充电的蓄电池、或燃料电池。
通信模块890可支持在电子装置801与外部电子装置(例如,电子装置802、电子装置804或服务器808)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块890可包括能够与处理器820(例如,应用处理器(AP))独立操作的一个或更多个通信处理器,并支持直接(例如,有线)通信或无线通信。根据实施例,通信模块890可包括无线通信模块892(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块894(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的相应一个可经由第一网络898(例如,短距离通信网络,诸如蓝牙、无线保真(Wi-Fi)直连或红外数据协会(IrDA))或第二网络899(例如,长距离通信网络,诸如传统蜂窝网络、第五代(5G)网络、下一代通信网络、互联网或计算机网络(例如,LAN或广域网(WAN)))与外部电子装置进行通信。可将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块892可使用存储在用户识别模块896中的用户信息(例如,国际移动用户识别码(IMSI))识别并验证通信网络(诸如第一网络898或第二网络899)中的电子装置801。
无线通信模块892可支持在第四代(4G)网络之后的5G网络以及下一代通信技术(例如新无线电(NR)接入技术)。NR接入技术可支持增强型移动宽带(eMBB)、大规模机器类型通信(mMTC)或超可靠低延时通信(URLLC)。无线通信模块892可支持高频带(例如,毫米波(mmWave)带)以实现例如高数据传输速率。无线通信模块892可支持用于确保高频带上的性能的各种技术,诸如例如波束成形、大规模多输入多输出(大规模MIMO)、全维MIMO(FD-MIMO)、阵列天线、模拟波束成形或大规模天线。无线通信模块892可支持在电子装置801、外部电子装置(例如,电子装置804)或网络系统(例如,第二网络899)中指定的各种要求。根据实施例,无线通信模块892可支持用于实现eMBB的峰值数据速率(例如,20Gbps或更大)、用于实现mMTC的丢失覆盖(例如,164dB或更小)或者用于实现URLLC的U平面延迟(例如,对于下行链路(DL)和上行链路(UL)中的每一个为0.5ms或更小,或者1ms或更小的往返)。
天线模块897可将信号或电力发送到电子装置801的外部(例如,外部电子装置)或者从电子装置801的外部(例如,外部电子装置)接收信号或电力。根据实施例,天线模块897可包括天线,所述天线包括辐射元件,所述辐射元件由形成在基底(例如,印刷电路板(PCB))中或形成在基底上的导电材料或导电图案构成。根据实施例,天线模块897可包括多个天线(例如,阵列天线)。在这种情况下,可由例如通信模块890(例如,无线通信模块892)从所述多个天线中选择适合于在通信网络(诸如第一网络898或第二网络899)中使用的通信方案的至少一个天线。随后可经由所选择的至少一个天线在通信模块890和外部电子装置之间发送或接收信号或电力。根据实施例,除了辐射元件之外的另外的组件(例如,射频集成电路(RFIC))可附加地形成为天线模块897的一部分。
根据各种实施例,天线模块897可形成毫米波天线模块。根据实施例,毫米波天线模块可包括印刷电路板、射频集成电路(RFIC)和多个天线(例如,阵列天线),其中,RFIC设置在印刷电路板的第一表面(例如,底表面)上,或与第一表面相邻并且能够支持指定的高频带(例如,毫米波带),所述多个天线设置在印刷电路板的第二表面(例如,顶部表面或侧表面)上,或与第二表面相邻并且能够发送或接收指定高频带的信号。
上述部件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口(MIPI))相互连接并在它们之间通信地传送信号(例如,命令或数据)。
根据实施例,可经由与第二网络899连接的服务器808在电子装置801和外部电子装置804之间发送或接收命令或数据。电子装置802或电子装置804中的每一个可以是与电子装置801相同类型的装置,或者是与电子装置801不同类型的装置。根据实施例,将在电子装置801运行的全部操作或一些操作可在外部电子装置802、外部电子装置804或服务器808中的一个或更多个运行。例如,如果电子装置801应该自动执行功能或服务或者应该响应于来自用户或另一装置的请求执行功能或服务,则电子装置801可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分,而不是运行所述功能或服务,或者电子装置801除了运行所述功能或服务以外,还可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分。接收到所述请求的所述一个或更多个外部电子装置可执行所述功能或服务中的所请求的所述至少部分,或者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送到电子装置801。电子装置801可在对所述结果进行进一步处理的情况下或者在不对所述结果进行进一步处理的情况下将所述结果提供作为对所述请求的至少部分答复。为此,可使用例如云计算技术、分布式计算技术、移动边缘计算(MEC)技术或客户机-服务器计算技术。电子装置801可使用例如分布式计算或移动边缘计算来提供超低延迟服务。在另一实施例中,外部电子装置804可包括物联网(IoT)装置。服务器808可以是使用机器学习和/或神经网络的智能服务器。根据实施例,外部电子装置804或服务器808可被包括在第二网络899中。电子装置801可应用于基于5G通信技术或IoT相关技术的智能服务(例如,智能家居、智能城市、智能汽车或医疗保健)。
根据各种实施例的电子装置可以是各种类型的电子装置之一。电子装置可包括例如便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据本公开的实施例,电子装置不限于以上所述的那些电子装置。
应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或C中的至少一个”的短语中的每一个短语可包括在与所述多个短语中的相应一个短语中一起列举出的项的任意一项或所有可能组合。如这里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件)结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如,第二元件)连接”或“连接到另一元件(例如,第二元件)”,则意味着所述一元件可与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
如与本公开的各种实施例关联使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并可与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”)可互换地使用。模块可以是被适配为执行一个或更多个功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(ASIC)的形式来实现模块。
可将在此阐述的各种实施例实现为包括存储在存储介质(例如,内部存储器836或外部存储器838)中的可由机器(例如,电子装置801)读取的一个或更多个指令的软件(例如,程序840)。例如,在处理器的控制下,所述机器(例如,电子装置801)的处理器(例如,处理器820)可在使用或无需使用一个或更多个其它部件的情况下调用存储在存储介质中的所述一个或更多个指令中的至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用于根据所调用的至少一个指令执行至少一个功能。所述一个或更多个指令可包括由编译器产生的代码或能够由解释器运行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。其中,术语“非暂时性”仅意味着所述存储介质是有形装置,并且不包括信号(例如,电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与数据被临时存储在存储介质中之间进行区分。
根据实施例,可在计算机程序产品中包括和提供根据本公开的各种实施例的方法。计算机程序产品可作为产品在销售者和购买者之间进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器(CD-ROM))的形式来发布计算机程序产品,或者可经由应用商店(例如,Play StoreTM)在线发布(例如,下载或上传)计算机程序产品,或者可直接在两个用户装置(例如,智能电话)之间分发(例如,下载或上传)计算机程序产品。如果是在线发布的,则计算机程序产品中的至少部分可以是临时产生的,或者可将计算机程序产品中的至少部分至少临时存储在机器可读存储介质(诸如制造商的服务器、应用商店的服务器或转发服务器的存储器)中。
根据各种实施例,上述部件中的每个部件(例如,模块或程序)可包括单个实体或多个实体,并且多个实体中的一些实体可分离地设置在不同的部件中。根据各种实施例,可省略上述部件中的一个或更多个部件,或者可添加一个或更多个其它部件。可选择地或者另外地,可将多个部件(例如,模块或程序)集成为单个部件。在这种情况下,根据各种实施例,该集成部件可仍旧按照与所述多个部件中的相应一个部件在集成之前执行一个或更多个功能相同或相似的方式,执行所述多个部件中的每一个部件的所述一个或更多个功能。根据各种实施例,由模块、程序或另一部件所执行的操作可顺序地、并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更多个操作可按照不同的顺序来运行或被省略,或者可添加一个或更多个其它操作。
Claims (15)
1.一种电子设备,包括:
第一控制器;
第一存储器,被配置为:存储第一基本输入输出系统BIOS和用于控制所述第一控制器的第一固件,并且功能性地连接到所述第一控制器;
第二存储器,被配置为:存储对应于所述第一固件的第二固件和对应于所述第一BIOS的第二BIOS;以及
第二控制器,功能性地连接到所述第一存储器、所述第二存储器和所述第一控制器,
其中,所述第二控制器被配置为:
在所述电子设备被加电时的通电期间比较所述第一固件和所述第二固件,以及
至少基于所比较的结果开启所述第一控制器,以及
其中,所述第一控制器被配置为:响应于被所述第二控制器开启,控制所述电子设备的系统被启动。
2.根据权利要求1所述的电子设备,其中,所述第二控制器还被配置为:在作为所述比较的结果所述第一固件和所述第二固件不匹配的情况下:
用所述第二固件重写所述第一固件,以及
比较并验证所述第一固件和所述第二固件。
3.根据权利要求1所述的电子设备,其中,所述第二控制器还被配置为:
在所述通电期间将包括待机信号的第一控制信号发送到所述第一控制器,所述待机信号用于由所述第二控制器控制所述电子设备。
4.根据权利要求1所述的电子设备,
其中,所述第一控制器还被配置为:获取对所述电子设备的启动请求,以及响应于获取到所述启动请求,将所述启动请求发送到所述第二控制器,
其中,所述第二控制器还被配置为:响应于所发送的启动请求,比较所述第一BIOS与所述第二BIOS,以及至少基于所比较的结果将用于启动所述系统的第二控制信号发送到所述第一控制器,以及
其中,所述第一控制器还被配置为:基于所述第二控制信号将系统启动命令发送到所述电子设备中包括的中央处理单元CPU。
5.根据权利要求4所述的电子设备,其中,所述第二控制器还被配置为:
基于所述第一BIOS和所述第二BIOS不匹配的比较结果,用所述第二BIOS重写所述第一BIOS,以及
比较并验证所述第一BIOS和所述第二BIOS。
6.根据权利要求4所述的电子设备,其中,所述CPU被配置为:根据所述系统启动命令执行所述第一BIOS,从而执行所述系统的启动。
7.根据权利要求1所述的电子设备,其中,所述第二控制器和所述第二存储器被配置为单个芯片。
8.根据权利要求1所述的电子设备,其中,所述第一控制器包括第一缓冲存储器并且被配置为:
响应于所述第一控制器被所述第二控制器开启,将存储在所述第一存储器中的所述第一固件加载到所述第一缓冲存储器中,以及
通过执行所加载的第一固件来进行操作。
9.根据权利要求1所述的电子设备,
其中,所述第二存储器被配置为存储用于控制所述第二控制器的第三固件,以及
其中,所述第二控制器包括第二缓冲存储器并且还被配置为:
将所述第三固件加载到所述第二缓冲存储器中,以及
通过执行所加载的第三固件来进行操作。
10.根据权利要求4所述的电子设备,其中,所述CPU包括第三缓冲存储器并且被配置为:
响应于从所述第一控制器获取的所述系统的启动请求将所述第一BIOS加载到所述第三缓冲存储器中,以及
通过执行所加载的第一BIOS来执行系统启动。
11.根据权利要求4所述的电子设备,还包括:
可信平台模块,被配置为存储用于所述电子设备的安全密钥,
其中,所述电子设备被配置为:在执行所述系统的启动的期间,通过使用所述安全密钥、存储在所述CPU中的安全密钥和存储在所述第二控制器中的安全密钥来验证所述电子设备的完整性。
12.根据权利要求4所述的电子设备,其中,所述启动请求包括与所述系统的启动有关的输入,所述输入是通过包括在所述电子设备中的物理键从所述电子设备的用户获取的。
13.一种用于操作电子设备的方法,所述电子设备包括第一存储器、第二存储器、第一控制器和第二控制器,所述方法包括:
由所述第二控制器将存储在所述第一存储器中并被配置为控制所述第一控制器的第一固件与存储在所述第二存储器中并对应于所述第一固件的第二固件进行比较;
由所述第二控制器至少基于所比较的结果开启所述第一控制器;以及
响应于所述第一控制器被所述第二控制器开启,由所述第一控制器控制所述电子设备的系统被启动。
14.根据权利要求13所述的方法,其中,比较所述第一固件和所述第二固件包括:
响应于所述第一固件与所述第二固件不匹配的比较结果,用所述第二固件重写所述第一固件;以及
比较并验证所述第一固件与所述第二固件。
15.根据权利要求13所述的方法,还包括:
由所述第一控制器获取对所述电子设备的启动请求;
响应于获取到所述启动请求,由所述第一控制器将所述启动请求发送到所述第二控制器;
响应于所发送的启动请求,由所述第二控制器将存储在所述第一存储器中的第一基本输入输出系统BIOS与存储在所述第二存储器中的第二BIOS进行比较;
至少基于所比较的结果将用于启动所述系统的信号发送到所述第一控制器;以及
基于用于启动所述系统的信号,由所述第一控制器向包括在所述电子设备中的中央处理单元发送系统启动命令。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2022-0037676 | 2022-03-25 | ||
| KR1020220037676A KR20230139262A (ko) | 2022-03-25 | 2022-03-25 | 시스템 부팅을 위한 컨트롤러를 포함하는 전자 장치 및 그의 동작 방법 |
| PCT/KR2023/003463 WO2023182725A1 (ko) | 2022-03-25 | 2023-03-15 | 시스템 부팅을 위한 컨트롤러를 포함하는 전자 장치 및 그의 동작 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118974700A true CN118974700A (zh) | 2024-11-15 |
Family
ID=88095888
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202380029410.6A Pending CN118974700A (zh) | 2022-03-25 | 2023-03-15 | 包括用于系统启动的控制器的电子装置及其操作方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12204915B2 (zh) |
| CN (1) | CN118974700A (zh) |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080184020A1 (en) * | 2007-01-25 | 2008-07-31 | International Business Machines Corporation | Apparatus and method to update firmware disposed in multiple devices sharing a common address in a computing system |
| US20090254898A1 (en) | 2008-04-08 | 2009-10-08 | Microsoft Corporation | Converting a device from one system to another |
| WO2014175867A1 (en) | 2013-04-23 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Verifying controller code and system boot code |
| US9317691B2 (en) * | 2014-05-08 | 2016-04-19 | Dell Products L.P. | Pre-boot software verification |
| JP6073854B2 (ja) | 2014-12-26 | 2017-02-01 | 京セラドキュメントソリューションズ株式会社 | 電子機器及びファームウェア復旧プログラム |
| KR102324336B1 (ko) | 2015-03-20 | 2021-11-11 | 한국전자통신연구원 | 사용자 장치 및 그것에 대한 무결성 검증 방법 |
| US10114550B2 (en) | 2016-01-07 | 2018-10-30 | Samsung Electronics Co., Ltd. | Data storage device and data processing system including the data storage device |
| KR102395195B1 (ko) | 2016-01-07 | 2022-05-10 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
| WO2018075057A1 (en) | 2016-10-21 | 2018-04-26 | Hewlett-Packard Development Company, L.P. | Bios security |
| US11003780B2 (en) | 2018-08-03 | 2021-05-11 | Dell Products L.P. | Method and apparatus for validating BIOS firmware using a baseboard management controller |
| KR102730183B1 (ko) | 2019-01-18 | 2024-11-15 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
| CN113785269A (zh) | 2019-04-30 | 2021-12-10 | 惠普发展公司,有限责任合伙企业 | 引导处理器 |
| US11579863B2 (en) * | 2019-10-21 | 2023-02-14 | Solid, Inc. | Method for updating firmware of optical transceiver |
| US12099612B2 (en) | 2020-01-27 | 2024-09-24 | Hewlett-Packard Development Company, L.P. | Firmware corruption recovery |
| US11340990B2 (en) | 2020-02-03 | 2022-05-24 | Dell Products L.P. | System and method to run basic input/output system code from a non-volatile memory express device boot partition |
| US11216597B2 (en) | 2020-05-14 | 2022-01-04 | Nuvoton Technology Corporation | Security system and method for preventing rollback attacks on silicon device firmware |
| CN114090107A (zh) | 2021-08-30 | 2022-02-25 | 讯牧信息科技(上海)有限公司 | 计算机和系统启动方法 |
-
2023
- 2023-03-15 CN CN202380029410.6A patent/CN118974700A/zh active Pending
- 2023-04-26 US US18/307,518 patent/US12204915B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US12204915B2 (en) | 2025-01-21 |
| US20230305855A1 (en) | 2023-09-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11461475B2 (en) | Electronic device including secure integrated circuit | |
| US11449644B2 (en) | Electronic device operating encryption for user data | |
| CN116194939A (zh) | 用于生成包括内部数据的交易的电子装置及其操作方法 | |
| US20200183589A1 (en) | Method and electronic device for initializing storage | |
| US20250147884A1 (en) | Apparatus for managing cache loss and operation method thereof | |
| US12405858B2 (en) | Electronic device for supporting data backup, and operation method thereof | |
| US20240250833A1 (en) | Electronic device for processing multi-signed apk file, and operating method therefor | |
| US12204915B2 (en) | Electronic device including controller for system booting and operating method thereof | |
| KR20230139262A (ko) | 시스템 부팅을 위한 컨트롤러를 포함하는 전자 장치 및 그의 동작 방법 | |
| US11953983B2 (en) | Electronic device and method for initializing electronic device | |
| EP4261688A1 (en) | Electronic device for performing test for detecting fault of electronic device, and method by which electronic device performs test for detecting fault of electronic device | |
| CN117242803A (zh) | 电子设备及其中安装嵌入式用户识别模块配置文件的方法 | |
| US12026376B2 (en) | Method for preserving data in electronic device initialization situation and electronic device therefor | |
| EP4394770A1 (en) | Method and device for editing image in electronic device | |
| US11907166B2 (en) | Electronic device and method for updating database based on reserved space | |
| US12450133B2 (en) | Electronic device for recovering file and operation method of electronic device | |
| US20250181366A1 (en) | Electronic device and method for initialization operation | |
| EP4350480A1 (en) | Electronic device and method for adjusting frequencies of respective circuits included in processor, and computer-readabale storage medium | |
| EP4328768A1 (en) | Electronic device for performing different login processes according to authentication type and control method thereof | |
| US20260044593A1 (en) | Electronic device for providing target applet by verifying applet and operating method thereof | |
| US20250126355A1 (en) | Camera malfunction prevention/reduction method and electronic device | |
| US20250208859A1 (en) | Update method and electronic device therefor | |
| KR20230068230A (ko) | 전자 장치의 초기화 상황에서 데이터 보존 방법 및 그 전자 장치 | |
| KR20240160984A (ko) | 전자 장치 및 전자 장치에서 통신 소프트웨어 무결성 보장 방법과, 저장 매체 | |
| KR20240161542A (ko) | 데이터를 보호하는 전자 장치 및 제어 방법과, 저장 매체 |
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 |