一种BIOS定制方法、装置及介质制造方法及图纸

技术编号:36213960 阅读:19 留言:0更新日期:2023-01-04 12:10
本申请公开了一种BIOS定制方法、装置及介质,涉及BIOS领域,为了解决由于定制BIOS导致大量不同版本产生,管控困难的问题,本申请所提供的BIOS定制方法,对SMBIOS的特定字段更新,指定定制化BIOS产品信息,BIOS将要设置的定制化产品信息写入EEPROM中,可在芯片断电的情况下长期保存,还可以防止刷新BIOS时将定制化BIOS恢复至默认BIOS,减少刷新BIOS次数,简化生产步骤。同时,减少研发线与生产线版本管控数量,降低版本管控难度。降低版本管控难度。降低版本管控难度。

【技术实现步骤摘要】
一种BIOS定制方法、装置及介质


[0001]本申请涉及BIOS领域,特别是涉及一种BIOS定制方法、装置及介质。

技术介绍

[0002]随着计算机技术以及互联网、物联网行业的迅猛发展,计算机产品生产商直接的竞争愈加激烈,用户要求也更加多元化。为了更好的提示产品的市场竞争力、客户满意度,定制化的需求也随之产生,因此要求相关产品生产厂商提出并实现定制化生产模式。目前在台式计算机产品的生产过长中,有时会需要根据用户的定制化要求,将产品刷新为定制化的基本输入输出系统(Basic Input Output System,BIOS)版本,定制化BIOS版本中有可能包含客户标志(logo)信息、定制设置选项、定制机型信息等。BIOS是一组固化到计算机内主板上一个只读存储器(Read

Only Memory,ROM)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补型金属氧化物半导体芯片(CMOS)中读写系统设置的具体信息,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,BIOS还用于向作业系统提供一些系统参数。
[0003]相关固件工程师需要根据定制化要求编译版本,并下发至生产线。如此做法,涉及大量不同版本下发和控制区分,版本控制工作量增加,版本下发愈来愈多,不利于版本管控。同时,在实际生产过程中,生产线上会同时生产多种要求产品,同样涉及大量不同BIOS版本管控。目前需要人工控制和检查,容易遗漏而导致引发漏刷、刷错版本的问题,有时还会出现刷新失败导致无法开机,严重影响生产效率以及客户使用感受。
[0004]由此可见,优化定制BIOS的开发流程,以实现同平台产品版本兼容,是本领域人员亟待解决的技术问题。

技术实现思路

[0005]本申请的目的是提供一种实现同平台产品版本兼容的BIOS定制方法。
[0006]为解决上述技术问题,本申请提供一种BIOS定制方法,包括:
[0007]读取EEPROM设备的存储数据并存储至缓存区;
[0008]获取定制化BIOS的刷新标识,并根据刷新标识及对应的字段内容更新缓存区的存储数据或定制化BIOS的待修改字段;
[0009]将缓存区中存储数据更新至EEPROM设备;
[0010]根据存储数据修改SMBIOS中待修改字段;
[0011]根据待修改字段运行修改脚本工具,其中,修改脚本工具用于修改定制化BIOS的待修改字段;
[0012]重启并生成定制化BIOS结果。
[0013]优选地,上述BIOS定制方法中,修改脚本工具的运行步骤如下:
[0014]确定修改脚本工具的接口为SMBIOS数据表结构编号、待修改字段、修改值;
[0015]寻找待修改字段的偏移地址;
[0016]在偏移地址对应的寄存器写入修改值;
[0017]读取并记录修改值;
[0018]结束运行。
[0019]优选地,上述BIOS定制方法中,读取EEPROM设备的存储数据并存储至缓存区,包括:
[0020]初始化EEPROM设备的I2C地址;
[0021]设置基地址值、偏移地址值、定制化BIOS的待修改字段为宏;
[0022]创建一个全局变量数组作为缓存区,初始化缓存区为空;
[0023]通过I2C地址读取EEPROM设备的存储数据;
[0024]将存储数据存储至缓存区。
[0025]优选地,上述BIOS定制方法中,获取定制化BIOS的刷新标识,并根据刷新标识及对应的字段内容更新缓存区的存储数据或定制化BIOS的待修改字段,包括:
[0026]获取定制化BIOS的刷新标识值与待修改字段;
[0027]判断刷新标识为默认值且缓存区非空;
[0028]若是,则将待更新字段更新为缓存区存储的存储数据,更新刷新标识;
[0029]优选地,上述BIOS定制方法中,若刷新标识为默认值且缓存区非空,则还包括:
[0030]若缓存区为空,将待更新字段更新至缓存区,更新刷新标识;
[0031]若刷新标识为非默认值,则将待更新字段更新至缓存区。
[0032]优选地,上述BIOS定制方法中,还包括:
[0033]判断缓存区的存储数据是否为默认信息;
[0034]若是,则为默认内容显示;
[0035]若否,则为定制内容显示。
[0036]优选地,上述BIOS定制方法中,在偏移地址对应的寄存器写入修改值,还包括:
[0037]增加写入延时。
[0038]为解决上述技术问题,本申请还提供一种BIOS定制装置,包括:
[0039]存储模块,用于读取EEPROM设备的存储数据并存储至缓存区;
[0040]第一更新模块,用于获取定制化BIOS的刷新标识,并根据刷新标识及对应的字段内容更新缓存区的存储数据或定制化BIOS的待修改字段;
[0041]第二更新模块,用于将缓存区中存储数据更新至EEPROM设备;
[0042]修改模块,用于根据存储数据修改SMBIOS中待修改字段;
[0043]脚本工具修改模块,用于根据待修改字段运行修改脚本工具,其中,修改脚本工具用于修改定制化BIOS的待修改字段;
[0044]生成模块,用于重启并生成定制化BIOS结果。
[0045]还包括:
[0046]初始化地址子单元,用于初始化EEPROM设备的I2C地址;
[0047]宏定义子单元,用于设置基地址值、偏移地址值、定制化BIOS的待修改字段为宏;
[0048]创建缓存子单元,用于创建一个全局变量数组作为缓存区,初始化缓存区为空;
[0049]读取子单元,用于通过I2C地址读取EEPROM设备的存储数据;
[0050]存储子单元,用于将存储数据存储至缓存区。
[0051]获取子单元,用于获取定制化BIOS的刷新标识值与待修改字段;
[0052]第一判断子单元,用于判断刷新标识为默认值且缓存区非空;
[0053]若是,触发第一关系子单元,用于将待更新字段更新为缓存区存储的存储数据,更新刷新标识。
[0054]若否,触发第二判断子单元,用于判断缓存区是否为空;
[0055]若缓存区为空,触发第二更新子单元,用于将待更新字段更新至缓存区,更新刷新标识;
[0056]若缓存区不为空,触发第三更新子单元,用于将待更新字段更新至缓存区。
[0057]为解决上述技术问题,本申请还提供一种BIOS定制装置,包括:
[0058]存储器,用于存储计算机程序;
[0059]处理器,用于执行计算机程序时实现上述的BIOS定制方法的步骤。
[0060]为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的BIOS定制方法的步骤。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种BIOS定制方法,其特征在于,包括:读取EEPROM设备的存储数据并存储至缓存区;获取定制化BIOS的刷新标识,并根据所述刷新标识及对应的字段内容更新所述缓存区的存储数据或定制化BIOS的待修改字段;将所述缓存区中存储数据更新至所述EEPROM设备;根据所述存储数据修改SMBIOS中所述待修改字段;根据所述待修改字段运行修改脚本工具,其中,所述修改脚本工具用于修改所述定制化BIOS的所述待修改字段;重启并生成定制化BIOS结果。2.根据权利要求1所述的BIOS定制方法,其特征在于,所述修改脚本工具的运行步骤如下:确定所述修改脚本工具的接口为SMBIOS数据表结构编号、所述待修改字段、修改值;寻找所述待修改字段的偏移地址;在所述偏移地址对应的寄存器写入所述修改值;读取并记录所述修改值;结束运行。3.根据权利要求1所述的BIOS定制方法,其特征在于,所述读取EEPROM设备的存储数据并存储至缓存区,包括:初始化所述EEPROM设备的I2C地址;设置基地址值、偏移地址值、所述定制化BIOS的待修改字段为宏;创建一个全局变量数组作为缓存区,初始化所述缓存区为空;通过所述I2C地址读取所述EEPROM设备的所述存储数据;将所述存储数据存储至所述缓存区。4.根据权利要求3所述的BIOS定制方法,其特征在于,所述获取定制化BIOS的刷新标识,并根据所述刷新标识及对应的字段内容更新所述缓存区的存储数据或定制化BIOS的待修改字段,包括:获取所述定制化BIOS的刷新标识值与所述待修改字段;判断所述刷新标识为默认值且所述缓存区非空;若是,则将所述待更新字段更新为所述缓存区存储的所述存储数据,更新所述刷新标识。...

【专利技术属性】
技术研发人员:黄静陈相晨
申请(专利权)人:浪潮山东计算机科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1