CN108958837B - 一种动态配置me固件的方法、系统及介质 - Google Patents
一种动态配置me固件的方法、系统及介质 Download PDFInfo
- Publication number
- CN108958837B CN108958837B CN201810697009.0A CN201810697009A CN108958837B CN 108958837 B CN108958837 B CN 108958837B CN 201810697009 A CN201810697009 A CN 201810697009A CN 108958837 B CN108958837 B CN 108958837B
- Authority
- CN
- China
- Prior art keywords
- firmware
- data
- bios
- nvram
- user
- 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
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供的一一种动态配置ME固件的方法、系统及介质,采用BIOS软件和ME固件之间的配合,可以根据用户意愿,动态对ME固件进行配置,修改ME固件功能参数的方案,解决现有技术中不能动态配置ME、通用性不好、设计维护不方便的技术问题,实现ME功能的动态设计,提高主板对外部设备的兼容能力,通用性好,并且设计维护都方便的技术效果。
Description
技术领域
本发明涉及系统控制领域,具体而言,涉及一种动态配置ME固件的方法、系统及介质。
背景技术
在英特尔方案的主板上,都有ME的存在,ME是存在于PCH里面的嵌入式控制器,独立于系统处理器,ME有单独的固件,ME固件保存在SPI Flash设备中。主板上电关机状态下,ME就开始运行,开机以后,ME继续运行更多功能,同时和BIOS软件进行通信。主板开发者通过修改ME固件的参数配置文件,来修改ME固件的功能参数,配置文件要根据每一款主板的功能参数预先配置完成,然后编译生成ME固件,供主板使用。
当前ME固件的配置方式,有诸多缺点。首先,限制了开发者针对ME功能的动态设计。ME固件的参数配置文件要预先配置完成,再编译生成ME固件,不能动态修改,如果想修改其中的配置参数,只能重新修改配置文件,重新编译生成固件,例如某些功能引脚可以作为SATA信号也可作为PCIE信号,某些功能引脚可以作为USB信号也可以作为PCIE信号,PCIE信号可以设置成为x1、x2、x4等连接宽度,一旦ME固件形成,就无法修改这些参数了。其次,限制了同平台主板ME固件的通用性。同一个硬件芯片平台,往往要开发多款主板,主板硬件设计有差异,往往由于ME设计的差别,要编译多款ME固件适配,增加了不必要的设计时间和维护时间。
发明内容
本发明提供一种动态配置ME固件的方法,采用BIOS软件和ME固件之间的配合,可以根据用户意愿,动态对ME固件进行配置,修改ME固件功能参数的方案,解决现有技术中不能动态配置ME、通用性不好、设计维护不方便的技术问题。
本发明为解决上述技术问题而提供的这种动态配置ME固件的方法,包括以下步骤:
A.ME固件运行:首先主板上电,然后ME固件开始运行;
B.内存初始化:主板开机以后,BIOS会初始化与ME通信的接口设备,确保能通信正常,然后进行内存初始化,完成后通知ME固件内存已经初始化完成;
C.ME固件将代码移动到MESEG段:ME固件会将ME固件代码移动到内存MESEG段执行;
初始化SPI控制器:接下来BIOS将初始化SPI控制器,确保BIOS与SPI Flash设备的通信接口功能正常;
D.初始化NVRAM:BIOS初始化NVRAM,初始化完NVRAM后,BIOS可以正常读取NVRAM里面的数据;
E.从固件中读取ME实际配置参数值:BIOS将读取NVRAM里面的全部ME功能配置数据,将数据转化成在ME固件中的存储格式,确保这个数据和ME固件里面的功能参数数据是一一对应的;
F.比较配置ME参数值和ME实际配置值:比较用户配置ME的参数值和ME固件实际存储的参数值是否一致,如果两者数据一致,说明用户并没有对ME参数配置进行修改,进行步骤M,如果两者数据不一致,则进行步骤X;
M.继续运行:BIOS继续运行,继续执行其他操作;
X.将全部不一致的数据逐一设置到ME固件当中保存;
Y.对系统进行冷重启复位,让ME使用更新的配置参数并且运行步骤A。
所述步骤A中所述ME固件开始运行后,所述ME固件为主板提供时钟等基本功能服务。
所述步骤B通知ME固件内存已经初始化的方式为发送DRAM_INIT_DONE信息给ME固件。
所述步骤E中所述NVRAM是一块非易失性数据保存区,用户在BIOS设置界面操作保存的数据都保存在该区域,用户可以在BIOS设置界面对ME固件的配置参数进行设置然后保存,下一次启动时,BIOS就可以从NVRAM里读取这些配置参数。
所述步骤F中所述将数据转化成在ME固件中的存储格式后将数据保存在临时数据存储区1中,接下来BIOS通过SPI控制器里面的地址和数据端口,将ME固件存储的配置参数逐一读取,并保存在临时数据存储区2中。
所述步骤F中所述比较参数值是否一致为比较临时数据存储区1和临时数据存储区2中数据是否一致。
所述步骤X中所述保存全部不一致的数据的方式为BIOS通过SPI控制器里面的地址和数据端口进行数据处理。
一种动态配置ME固件的系统,其特征在于:所述动态配置ME固件的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现任一项所述的方法的步骤。
一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现任一项所述的方法的步骤。
本发明所具有的有益效果:动态对ME固件进行配置,修改ME固件功能参数,可以对ME功能的灵活设计,提高主板对外部设备的兼容能力,相同硬件芯片平台,不同硬件设计的主板使用同一个ME固件就可以满足要求。
附图说明
图1是本发明所述动态配置ME固件的方法示意图。
具体实施方式
结合上述附图说明本发明的具体实施例。
由图1可知,本发明提供一种动态配置ME固件的方法,包括以下步骤:
A.ME固件运行:首先主板上电,然后ME固件开始运行;
B.内存初始化:主板开机以后,BIOS会初始化与ME通信的接口设备,确保能通信正常,然后进行内存初始化,完成后通知ME固件内存已经初始化完成;
C.ME固件将代码移动到MESEG段:ME固件会将ME固件代码移动到内存MESEG段执行;
初始化SPI控制器:接下来BIOS将初始化SPI控制器,确保BIOS与SPI Flash设备的通信接口功能正常;
D.初始化NVRAM:BIOS初始化NVRAM,初始化完NVRAM后,BIOS可以正常读取NVRAM里面的数据;
E.从固件中读取ME实际配置参数值:BIOS将读取NVRAM里面的全部ME功能配置数据,将数据转化成在ME固件中的存储格式,确保这个数据和ME固件里面的功能参数数据是一一对应的;
F.比较配置ME参数值和ME实际配置值:比较用户配置ME的参数值和ME固件实际存储的参数值是否一致,如果两者数据一致,说明用户并没有对ME参数配置进行修改,进行步骤M,如果两者数据不一致,则进行步骤X;
M.继续运行:BIOS继续运行,继续执行其他操作;
X.将全部不一致的数据逐一设置到ME固件当中保存;
Y.对系统进行冷重启复位,让ME使用更新的配置参数并且运行步骤A。
所述步骤A中所述ME固件开始运行后,所述ME固件为主板提供时钟等基本功能服务。
所述步骤B通知ME固件内存已经初始化的方式为发送DRAM_INIT_DONE信息给ME固件。
所述步骤E中所述NVRAM是一块非易失性数据保存区,用户在BIOS设置界面操作保存的数据都保存在该区域,用户可以在BIOS设置界面对ME固件的配置参数进行设置然后保存,下一次启动时,BIOS就可以从NVRAM里读取这些配置参数。
所述步骤F中所述将数据转化成在ME固件中的存储格式后将数据保存在临时数据存储区1中,接下来BIOS通过SPI控制器里面的地址和数据端口,将ME固件存储的配置参数逐一读取,并保存在临时数据存储区2中。
所述步骤F中所述比较参数值是否一致为比较临时数据存储区1和临时数据存储区2中数据是否一致。
所述步骤X中所述保存全部不一致的数据的方式为BIOS通过SPI控制器里面的地址和数据端口进行数据处理。
一种动态配置ME固件的系统,其特征在于:所述动态配置ME固件的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现任一项所述的方法的步骤。
一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现任一项所述的方法的步骤。
本设计方法,针对ME固件生成后,开发者动态修改的限制,给出了有效的解决办法,通过BIOS软件和ME固件之间的配合,可以根据用户意愿,动态对ME固件进行配置,修改ME固件功能参数,可以对ME功能的灵活设计,提高主板对外部设备的兼容能力,相同硬件芯片平台,不同硬件设计的主板使用同一个ME固件就可以满足要求。
本发明方法中,突破了ME配置参数必须预先设置不能动态修改的限制,提高了ME功能设计的灵活性,将抽象化ME参数配置值转换成用户可操作设置的BIOS界面设置值,灵活修改ME配置,ME固件可以适用于相同芯片平台的不同硬件设计主板,加强了通用性,方便开发和维护。
名词解释
BIOS:(Basic Input Output System)基本输入输出系统,主要用于计算机开机过程中各种硬件设备的初始化和检测.
ME:(Intel Management Engine)英特尔管理引擎
PCH:(Platform Controller Hub)Intel公司的集成南桥.
PCIE:(PCI-Express)一种高速串行总线接口技术标准.
SATA:(Serial Advanced Technology Attachment)串行ATA接口规范
USB:(Universal Serial Bus)通用串行总线
SPI:(Serial Peripheral Interface)串行外设接口
NVRAM:(Non-Volatile Random Access Memory)非易失性随机访问存储器,指断电后仍能保持数据的一种RAM MESEG:(Intel ME segment)英特尔ME专用内存区以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明具体实施只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于发明的保护范围。
Claims (7)
1.一种动态配置ME固件的方法,其特征在于:该动态配置ME的固件的方法包括以下步骤:
A.ME固件运行:首先主板上电,然后ME固件开始运行;
B.内存初始化:主板开机以后,BIOS会初始化与ME通信的接口设备,确保能通信正常,然后进行内存初始化,完成后通知ME固件内存已经初始化完成;
C.ME固件将代码移动到MESEG段:ME固件会将ME固件代码移动到内存MESEG段执行;
初始化SPI控制器:接下来BIOS将初始化SPI控制器,确保BIOS与SPI Flash设备的通信接口功能正常;
D.初始化NVRAM:BIOS初始化NVRAM,初始化完NVRAM后,BIOS可以正常读取NVRAM里面的数据;
E.从固件中读取ME实际配置参数值:BIOS将读取NVRAM里面的全部ME功能配置数据,将数据转化成在ME固件中的存储格式,确保这个数据和ME固件里面的功能参数数据是一一对应的;所述NVRAM是一块非易失性数据保存区,用户在BIOS设置界面操作保存的数据都保存在该区域,用户可以在BIOS设置界面对ME固件的配置参数进行设置然后保存,下一次启动时,BIOS就可以从NVRAM里读取这些配置参数;
F.比较配置ME参数值和ME实际配置值:比较用户配置ME的参数值和ME固件实际存储的参数值是否一致,如果两者数据一致,说明用户并没有对ME参数配置进行修改,进行步骤M,如果两者数据不一致,则进行步骤X;所述将数据转化成在ME固件中的存储格式后将数据保存在临时数据存储区1中,接下来BIOS通过SPI控制器里面的地址和数据端口,将ME固件存储的配置参数逐一读取,并保存在临时数据存储区2中;
M.继续运行:BIOS继续运行,继续执行其他操作;
X.将全部不一致的数据逐一设置到ME固件当中保存;
Y.对系统进行冷重启复位,让ME使用更新的配置参数并且运行步骤A。
2.根据权利要求1所述的动态配置ME固件的方法,其特征在于:所述步骤A中所述ME固件开始运行后,所述ME固件为主板提供时钟基本功能服务。
3.根据权利要求1所述的动态配置ME固件的方法,其特征在于:所述步骤B通知ME固件内存已经初始化的方式为发送DRAM_INIT_DONE信息给ME固件。
4.根据权利要求1所述的动态配置ME固件的方法,其特征在于:所述步骤F中所述比较参数值是否一致为比较临时数据存储区1和临时数据存储区2中数据是否一致。
5.根据权利要求1所述的动态配置ME固件的方法,其特征在于:所述步骤X中所述保存全部不一致的数据的方式为BIOS通过SPI控制器里面的地址和数据端口进行数据处理。
6.一种动态配置ME固件的系统,其特征在于:所述动态配置ME固件的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求1-5中任一项所述的方法的步骤。
7.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810697009.0A CN108958837B (zh) | 2018-06-29 | 2018-06-29 | 一种动态配置me固件的方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810697009.0A CN108958837B (zh) | 2018-06-29 | 2018-06-29 | 一种动态配置me固件的方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958837A CN108958837A (zh) | 2018-12-07 |
CN108958837B true CN108958837B (zh) | 2021-10-01 |
Family
ID=64484182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810697009.0A Active CN108958837B (zh) | 2018-06-29 | 2018-06-29 | 一种动态配置me固件的方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958837B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656620A (zh) * | 2018-12-24 | 2019-04-19 | 联想(北京)有限公司 | 固件参数设置方法、装置和电子设备 |
CN111209030A (zh) * | 2019-12-25 | 2020-05-29 | 深圳优地科技有限公司 | 一种固件的配置方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101432A1 (en) * | 2005-10-28 | 2007-05-03 | Microsoft Corporation | Risk driven compliance management |
CN102215457A (zh) * | 2010-04-12 | 2011-10-12 | 中兴通讯股份有限公司 | 一种移动终端群组的动态配置方法及系统 |
CN102388366A (zh) * | 2011-09-22 | 2012-03-21 | 华为技术有限公司 | 实现不同处理器兼容的方法及装置 |
CN102622044A (zh) * | 2011-01-28 | 2012-08-01 | 微盟电子(昆山)有限公司 | 主机板及其pcie端口动态配置方法 |
CN103926994A (zh) * | 2014-04-04 | 2014-07-16 | 浪潮电子信息产业股份有限公司 | 一种基于me的服务器动态能耗管理及修正方法 |
CN104777890A (zh) * | 2015-04-02 | 2015-07-15 | 浪潮电子信息产业股份有限公司 | 一种多路服务器的功耗管理系统 |
CN107408090A (zh) * | 2015-03-27 | 2017-11-28 | 英特尔公司 | 输入/输出控制器访问通道的动态配置 |
-
2018
- 2018-06-29 CN CN201810697009.0A patent/CN108958837B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101432A1 (en) * | 2005-10-28 | 2007-05-03 | Microsoft Corporation | Risk driven compliance management |
CN102215457A (zh) * | 2010-04-12 | 2011-10-12 | 中兴通讯股份有限公司 | 一种移动终端群组的动态配置方法及系统 |
CN102622044A (zh) * | 2011-01-28 | 2012-08-01 | 微盟电子(昆山)有限公司 | 主机板及其pcie端口动态配置方法 |
CN102388366A (zh) * | 2011-09-22 | 2012-03-21 | 华为技术有限公司 | 实现不同处理器兼容的方法及装置 |
CN103926994A (zh) * | 2014-04-04 | 2014-07-16 | 浪潮电子信息产业股份有限公司 | 一种基于me的服务器动态能耗管理及修正方法 |
CN107408090A (zh) * | 2015-03-27 | 2017-11-28 | 英特尔公司 | 输入/输出控制器访问通道的动态配置 |
CN104777890A (zh) * | 2015-04-02 | 2015-07-15 | 浪潮电子信息产业股份有限公司 | 一种多路服务器的功耗管理系统 |
Non-Patent Citations (1)
Title |
---|
"PaaS平台CloudFoundry的协同管理引擎的设计与实现";王洋;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140115;I138-2317 * |
Also Published As
Publication number | Publication date |
---|---|
CN108958837A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5065297B2 (ja) | Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス | |
US10592253B2 (en) | Technologies for pre-memory phase initialization of a computing device | |
CN103412769A (zh) | 外接卡参数配置方法、设备以及系统 | |
CN109324991B (zh) | 一种pcie设备的热插拔装置、方法、介质及系统 | |
US20110093627A1 (en) | Handling legacy bios services for mass storage devices using system management interrupts | |
US10866881B1 (en) | Firmware debug trace capture | |
US10055160B2 (en) | Systems and methods for BIOS emulation of PCIe device | |
CN108958837B (zh) | 一种动态配置me固件的方法、系统及介质 | |
CN113656076A (zh) | 一种基于硬件复用通道的bios启动方法及装置 | |
US20180081550A1 (en) | System and method for detecting redundant array of independent disks (raid) controller state from baseboard management controller (bmc) | |
US8499142B1 (en) | UEFI boot loader for loading non-UEFI compliant operating systems | |
CN110688235A (zh) | Uefi固件与os间共享无线连接信息的系统及方法 | |
US10198270B2 (en) | Dynamic hardware configuration via firmware interface at computing device boot | |
CN116450224A (zh) | 基于清除cmos的数据的恢复方法及装置、系统 | |
CN116627472A (zh) | 高速外围组件设备的固件程序升级方法及服务器 | |
CN111953753B (zh) | 通信设备连接方法、装置、计算机设备和存储介质 | |
KR20110078171A (ko) | 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법 | |
US20060155978A1 (en) | Method for initialising programmable systems | |
CN114125902B (zh) | Wwan设备及其配置方法、装置、存储介质 | |
CN112068888B (zh) | Linux系统设备启动方法、装置及终端设备 | |
CN111176735B (zh) | 一种心电图机启动加速方法 | |
US10540108B2 (en) | Systems and methods for booting from virtual volume spanned across unknown number of storage devices by constructing a virtual logical unit based on metadata of the storage resources and by responding to I/O commands with data associated with a dummy logical unit | |
CN117251217A (zh) | 操作系统启动阶段访问usb设备的方法及装置、介质、终端 | |
CN112068888A (zh) | Linux系统设备启动方法、装置及终端设备 | |
CN112148201A (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 |