一种动态配置ME固件的方法、系统及介质与流程

文档序号:16207273发布日期:2018-12-08 07:16阅读:1057来源:国知局
一种动态配置ME固件的方法、系统及介质与流程

本发明涉及系统控制领域,具体而言,涉及一种动态配置me固件的方法、系统及介质。

背景技术

在英特尔方案的主板上,都有me的存在,me是存在于pch里面的嵌入式控制器,独立于系统处理器,me有单独的固件,me固件保存在spiflash设备中。主板上电关机状态下,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与spiflash设备的通信接口功能正常;

d.初始化nvram:bios初始化nvram,初始化完nvram后,bios可以正常读取nvram里面的数据;

e.从固件中读取me实际配置参数值:ios将读取nvram里面的全部me功能配置数据,将数据转化成在me固件中的存储格式,确保这个数据和me固件里面的功能参数数据是一一对应的;

f.比较配置me参数值和me实际配置值:比较用户配置me的参数值和me固件实际存储的参数值是否一致,如果两者数据一致,说明用户并没有对me参数配置进行修改,进行步骤m,如果两者数据不一致,则进行步骤w;

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中。

所述步骤g中所述比较参数值是否一致为比较临时数据存储区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与spiflash设备的通信接口功能正常;

d.初始化nvram:bios初始化nvram,初始化完nvram后,bios可以正常读取nvram里面的数据;

e.从固件中读取me实际配置参数值:ios将读取nvram里面的全部me功能配置数据,将数据转化成在me固件中的存储格式,确保这个数据和me固件里面的功能参数数据是一一对应的;

f.比较配置me参数值和me实际配置值:比较用户配置me的参数值和me固件实际存储的参数值是否一致,如果两者数据一致,说明用户并没有对me参数配置进行修改,进行步骤m,如果两者数据不一致,则进行步骤w;

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中。

所述步骤g中所述比较参数值是否一致为比较临时数据存储区1和临时数据存储区2中数据是否一致。

所述步骤x中所述保存全部不一致的数据的方式为bios通过spi控制器里面的地址和数据端口。

一种动态配置me固件的系统,其特征在于:所述动态配置me固件的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现任一项所述的方法的步骤。

一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现任一项所述的方法的步骤。

本设计方法,针对me固件生成后,开发者动态修改的限制,给出了有效的解决办法,通过bios软件和me固件之间的配合,可以根据用户意愿,动态对me固件进行配置,修改me固件功能参数,可以对me功能的灵活设计,提高主板对外部设备的兼容能力,相同硬件芯片平台,不同硬件设计的主板使用同一个me固件就可以满足要求。

本发明方法中,突破了me配置参数必须预先设置不能动态修改的限制,提高了me功能设计的灵活性,将抽象化me参数配置值转换成用户可操作设置的bios界面设置值,灵活修改me配置,me固件可以适用于相同芯片平台的不同硬件设计主板,加强了通用性,方便开发和维护。

名词解释

bios:(basicinputoutputsystem)基本输入输出系统,主要用于计算机开机过程中各种硬件设备的初始化和检测.

me:(intelmanagementengine)英特尔管理引擎

pch:(platformcontrollerhub)intel公司的集成南桥.

pcie:(pci-express)一种高速串行总线接口技术标准.

sata:(serialadvancedtechnologyattachment)串行ata接口规范

usb:(universalserialbus)通用串行总线

spi:(serialperipheralinterface)串行外设接口

nvram:(non-volatilerandomaccessmemory)非易失性随机访问存储器,指断电后仍能保持数据的一种ram

meseg:(intelmesegment)英特尔me专用内存区

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明具体实施只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1