技术领域
[0001] 本
发明涉及计算机技术,尤指一种BIOS设置界面语言配置方法和装置。
背景技术
[0002] 就目前而言,主要的
基本输入输出系统(Base Input/Output System,BIOS)供应商分别是AMI公司和Insyde公司。而无论是谁,其沿用的代码架构都是统一可扩展
固件接口(Unified Extensible Firmware Interface,缩写UEFI)的架构体系,所以虽然个别功能上会有差异,但整体架构是一致的。
[0003] 目前,对于设置(Setup)界面的调用,行业间还是使用HI模式,即
人机交互接口(Human Interface)模式,现有的技术中,主要通过uni文件中的语言和变量定义,来实现setup中项目(item)的语言更换。如转换成中文,需要在codehand处定义语言变量,如下:
[0004] #langdef zh-chs“中文(简体)”
[0005] 然后接下来的每个变量的英文都需要照样子再写一条中文,例如:
[0006] #string STR_CUSTOMER_NAME#language eng“Customer ID”
[0007] #language zh-chs“客户ID”
[0008] 因为代码库(codebase)中存在着大量的uni文件,理论上只要涉及到setup选项的配置,都选用uni文件支持,但uni文件中的中文内容无法做到全局应用,所有只能在用到的时候再配置,这样代码中产生了大量重复性的中文字节,这些中文字节不仅占用了大量的芯片空间,同时更是给芯片加载带来过重的负担。
发明内容
[0009] 为了解决上述技术问题,本发明
实施例提供了一种BIOS设置界面语言配置方法和装置,可以通过OEM module来定义中文字节的方式,可以大大地减少代码中的中文字节数量,减少芯片的加载负担。
[0010] 为了达到本发明目的,一方面,本发明实施例提供了一种BIOS设置界面语言配置方法,包括:
[0011] 在基本输入输出系统BIOS中创建一个OEM模
块module,在函数主体中一次性地配置好所需要使用的语言的字节,并且映射对应的变量;
[0012] 调用所述module,来全局定义所述需要使用的语言的转换。
[0013] 进一步地,所述需要使用的语言的字节包括中文字节。
[0014] 进一步地,所述创建一个OEM模块module包括:
[0015] 将入口函数定义成所述module在启动设备选择BDS初始阶段进行初始化应用,工程函数的模块类型配置成UEFI_APPLICATION,源函数配置成头文件.h的形式。
[0016] 进一步地,所述调用所述module包括:
[0017] 在人机交互接口HI的uni文件中使用宏定义申明所述头文件的形式调用,然后键入所述module的入口函数。
[0018] 进一步地,所述方法还包括:
[0019] Rom布局中预留出OEM区域,且所述OEM区域的代码在编译过程中进行压缩。
[0020] 进一步地,所述方法还包括:
[0021] 配置多个module对多种语言进行分别调用。
[0022] 另一方面,本发明实施例还提供了一种BIOS设置界面语言配置装置,包括:
[0023] 创建模块,用于在基本输入输出系统BIOS中创建一个OEM模块module,在函数主体中一次性地配置好所需要使用的语言的字节,并且映射对应的变量;
[0024] 调用模块,用于调用所述module,来全局定义所述需要使用的语言的转换。
[0025] 进一步地,所述需要使用的语言的字节包括中文字节。
[0026] 进一步地,所述创建模块用于:
[0027] 将入口函数定义成所述module在启动设备选择BDS初始阶段进行初始化应用,工程函数的模块类型配置成UEFI_APPLICATION,源函数配置成头文件.h的形式。
[0028] 进一步地,所述调用模块用于:
[0029] 在人机交互接口HI的uni文件中使用宏定义申明所述头文件的形式调用,然后键入所述module的入口函数。
[0030] 进一步地,所述装置还用于:
[0031] Rom布局中预留出OEM区域,且所述OEM区域的代码在编译过程中进行压缩。
[0032] 进一步地,所述装置还用于:
[0033] 配置多个module对多种语言进行分别调用。
[0034] 本发明实施例通过在基本输入输出系统BIOS中创建一个OEM模块module,在函数主体中一次性地配置好所需要使用的语言的字节,并且映射对应的变量;调用所述module,来全局定义所述需要使用的语言的转换。本发明实施例通过OEM module来定义中文字节的方式,可以大大地减少代码中的中文字节数量,这样不仅可以提高芯片的有效利用率,还可以减少芯片的加载负担,提高芯片的加载速度。
[0035] 本发明的其它特征和优点将在随后的
说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、
权利要求书以及
附图中所特别指出的结构来实现和获得。
附图说明
[0036] 附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本
申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0037] 图1为本发明实施例BIOS设置界面语言配置方法的
流程图;
[0038] 图2为本发明实施例BIOS设置界面语言配置装置的结构图。
具体实施方式
[0039] 为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0040] 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的
计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0041] 图1为本发明实施例BIOS设置界面语言配置方法的流程图,如图1所示,本发明实施例的方法包括以下步骤:
[0042] 步骤101:在基本输入输出系统BIOS中创建一个OEM模块module,在函数主体中一次性地配置好所需要使用的语言的字节,并且映射对应的变量;
[0043] 具体地,BIOS,是一组
固化到计算机内
主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的
硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。
[0044] 设置(Setup)界面:一种
可视化的设置BIOS的图形化界面,一般在系统启动过程中按F2会跳转。
[0045] 本发明实施例对于就目前市场而言多语言配置仍然是有需求的情况下,可以尽可能的减少大量重复性的中文字节量,提高芯片的空间利用率,减少芯片加载负担。
[0046] 步骤102:调用所述module,来全局定义所述需要使用的语言的转换。
[0047] 进一步地,所述需要使用的语言的字节包括中文字节。也可以是其它任何需要的语言。
[0048] 进一步地,所述创建一个OEM模块module包括:
[0049] 将入口函数定义成所述module在启动设备选择BDS初始阶段进行初始化应用,工程函数的模块类型配置成UEFI_APPLICATION,源函数配置成头文件.h的形式。
[0050] 其中,BDS:统一可扩展固件接口(Unified Extensible Firmware Interface,缩写UEFI)启动过程中的一个状态(phase),主要进行启动项的加载已经与
操作系统的交互。
[0051] 进一步地,所述调用所述module包括:
[0052] 在人机交互接口HI的uni文件中使用宏定义申明所述头文件的形式调用,然后键入所述module的入口函数。
[0053] 其中,uni文件:配置setup选项与code中的变量之间的映射。
[0054] 进一步地,所述方法还包括:
[0055] Rom布局中预留出OEM区域,且所述OEM区域的代码在编译过程中进行压缩。这样,就进一步地提高了芯片的空间利用。
[0056] 进一步地,所述方法还包括:
[0057] 配置多个module对多种语言进行分别调用。例如法文,俄文,日文等其他语言。
[0058] 下面对本发明实施例技术方案进行详细阐述:
[0059] 具体地,本发明实施例技术实现中,首先,增加一个OEM模块(module),即创建一个OEM module,入口函数定义成该module在启动设备选择BDS初始阶段进行初始化应用,工程函数的模块类型(module type)配置成UEFI_APPLICATION,源函数配置成头文件.h的形式。函数主体中一次性地配置好所有需要使用的中文字节,并且映射好对应的变量。
[0060] 需要申明,Rom布局(Romlayout)中已经预留出OEM区域,且这个区域的代码在编译过程中是可压缩的,这样,就进一步地提高了芯片的空间利用。其中,Romlayout表示BIOSflash芯片内部的区域分配。
[0061] 其次,调用OEM module;
[0062] 因为文件配置成.h的形式,这样只要在HI的相关uni文件中使用宏定义申明头文件的形式调用即可,然后键入module的入口函数,例如:
[0063] #include OemLang.h;
[0064] UEFI_STATU EFIAPI OemLangEntryPoint
[0065] (IN EFI_HANDLE ImageHandle;
[0066] IN EFI_SYSTEM_TABLE*SystemTable)
[0067] 本发明实施例的技术方案通过OEM module来定义中文字节的方式,可以大大地减少代码中的中文字节数量,这样不仅可以提高芯片的有效利用率,还可以减少芯片的加载负担,提高芯片的加载速度。
[0068] 本发明实施例还可以配置例如法文,俄文,日文等其他语言,因为每个国家的语言需要分别调用,所以只要配置多个module即可。
[0069] 图2为本发明实施例BIOS设置界面语言配置装置的结构图,如图2所示,本发明实施例另一方面提供的一种BIOS设置界面语言配置装置,包括:
[0070] 创建模块201,用于在基本输入输出系统BIOS中创建一个OEM模块module,在函数主体中一次性地配置好所需要使用的语言的字节,并且映射对应的变量;
[0071] 调用模块202,用于调用所述module,来全局定义所述需要使用的语言的转换。
[0072] 进一步地,所述需要使用的语言的字节包括中文字节。
[0073] 进一步地,所述创建模块201用于:
[0074] 将入口函数定义成所述module在启动设备选择BDS初始阶段进行初始化应用,工程函数的模块类型配置成UEFI_APPLICATION,源函数配置成头文件.h的形式。
[0075] 进一步地,所述调用模块202用于:
[0076] 在人机交互接口HI的uni文件中使用宏定义申明所述头文件的形式调用,然后键入所述module的入口函数。
[0077] 进一步地,所述装置还用于:
[0078] Rom布局中预留出OEM区域,且所述OEM区域的代码在编译过程中进行压缩。
[0079] 进一步地,所述装置还用于:
[0080] 配置多个module对多种语言进行分别调用。
[0081] 本发明实施例通过在基本输入输出系统BIOS中创建一个OEM模块module,在函数主体中一次性地配置好所需要使用的语言的字节,并且映射对应的变量;调用所述module,来全局定义所述需要使用的语言的转换。本发明实施例通过OEM module来定义中文字节的方式,可以大大地减少代码中的中文字节数量,这样不仅可以提高芯片的有效利用率,还可以减少芯片的加载负担,提高芯片的加载速度。
[0082] 可见,本发明实施例通过OEM module的形式来全局定义中文语言的转换,提高了芯片的有效利用率,简化了代码的开发繁琐度。
[0083] 虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的
修改与变化,但本发明的
专利保护范围,仍须以所附的权利要求书所界定的范围为准。