《一种基于IO访问方式的显卡BIOS更新方法.pdf》由会员分享,可在线阅读,更多相关《一种基于IO访问方式的显卡BIOS更新方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103106161 A(43)申请公布日 2013.05.15CN103106161A*CN103106161A*(21)申请号 201210561699.X(22)申请日 2012.12.22G06F 13/20(2006.01)G06F 9/445(2006.01)(71)申请人中国船舶重工集团公司第七0九研究所地址 430074 湖北省武汉市洪山区珞喻路718号(72)发明人高齐黄亮 张义伟 秦信刚 高齐(74)专利代理机构武汉金堂专利事务所 42212代理人胡清堂(54) 发明名称一种基于IO访问方式的显卡BIOS更新方法(57) 摘要一种基于IO访问方式的显。
2、卡BIOS更新方法,包括启动微软视窗操作系统并执行更新程序;根据厂商识别号和设备识别号选择并定位待更新显卡;判断待更新显卡PCI配置空间命令寄存器是否使能IO访问;通过IO访问方式读出待更新显卡扩展ROM中旧的BIOS;通过IO访问方式将新的BIOS写入待更新显卡扩展ROM;通过IO访问方式读出待更新显卡扩展ROM中新的BIOS并完成校验;退出更新程序并重启微软视窗操作系统。上述基于IO访问方式的显卡BIOS更新方法可方便、快速和可靠地完成对显卡BIOS的更新。(51)Int.Cl.权利要求书1页 说明书3页 附图1页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明。
3、书3页 附图1页(10)申请公布号 CN 103106161 ACN 103106161 A1/1页21.一种基于IO访问方式的显卡BIOS更新方法,其特征在于:包括以下步骤:(1)用待更新显卡或第三方显卡启动微软视窗操作系统;(2)根据厂商识别号和设备识别号选择并定位待更新显卡;(3)判断待更新显卡PCI配置空间命令寄存器是否使能IO访问;如果待更新显卡PCI配置空间命令寄存器未使能IO访问,使能IO访问;(4)读出待更新显卡扩展ROM中旧的BIOS;(5)将新的BIOS写入待更新显卡扩展ROM;(6)读出待更新显卡扩展ROM中新的BIOS并完成校验;(7) 重启微软视窗操作系统。2.如权利。
4、要求1所述的基于IO访问方式的显卡BIOS更新方法,其特征在于:所述的读写扩展ROM通过IO访问方式完成。3.如权利要求1所述的基于IO访问方式的显卡BIOS更新方法,其特征在于:所述的显卡基于PCI或PCI-E总线协议,且申请了一定数量的IO地址空间。4.如权利要求1所述的基于IO访问方式的显卡BIOS更新方法,其特征在于:所述的扩展ROM的存储介质可为FLASH或者EEPROM,接口采用SPI协议。权 利 要 求 书CN 103106161 A1/3页3一种基于 IO 访问方式的显卡 BIOS 更新方法技术领域0001 本发明涉及显卡研发领域,特别是一种在计算机系统中能简单、快速和可靠地更。
5、新显卡BIOS (Basic Input Output System,基本输入输出系统)的方法。背景技术0002 显卡BIOS包括传统的VGA(Video Graphics Array,视频图形阵列) BIOS和扩展的VBE(VESA BIOS EXTENSION,视频电子标准协会BIOS扩展),其包含了显卡的硬件控制程序,另外还存放有显卡型号、规格、生产厂商、出厂时间等信息,并在开机时对显卡进行初始化。显卡BIOS在计算机系统中发挥着重要的作用,它影响着显卡性能的发挥。0003 与系统BIOS一样,显卡BIOS同样存储在ROM(只读存储器)中。上电自检(POST)是系统BIOS的一大组成部分。
6、,它负责上电后对计算机系统所有硬件和寄存器的检测和初始化工作,这其中包含将保存在显卡扩展ROM中的显卡BIOS影射(Shadow)到系统主存中预留给显卡BIOS的区域。参考图1,本发明提供了上电自检影射显卡扩展ROM的流程:使能扩展ROM,并将扩展ROM映射到系统地址空间中一块未被占据的区域;查找扩展ROM中对应的映像(Image)并通过内存访问方式将其复制到主存预留区域(从0C0000h到0DFFFFh);去使能(Disable)扩展ROM;调用初始化函数。 影射显卡扩展ROM后,显卡BIOS就存在于主存中,相当于显卡扩展ROM的“影子”,操作系统和驱动程序通过直接访问主存而调用相关显卡BI。
7、OS函数。0004 随着技术的进步和计算机软硬件系统的升级,显卡中一些不完善的问题会暴露出来,研发人员需要不断修改和完善显卡BIOS,随之更新显卡BIOS。然而,完成显卡扩展ROM影射后,由于扩展ROM已被去使能,且最初分配给扩展ROM的内存地址空间被操作系统回收,所以应用程序不可能通过常规内存访问方式访问扩展ROM。另外,传统的在DOS下更新显卡BIOS的流程显得繁琐冗长,容易出错,导致更新失败,甚至导致不可修复的硬件损坏。发明内容0005 本发明的目的是研制一种简便高效的显卡BIOS更新方法,使得显卡BIOS的更新方便、快速和可靠。0006 本发明一种基于IO访问方式的显卡BIOS更新方法。
8、,其包括以下步骤:(1)用待更新显卡或第三方显卡启动微软视窗操作系统;(2)根据厂商识别号(Vendor ID)和设备识别号(Device ID)选择并定位待更新显卡;(3)判断待更新显卡PCI(Peripheral Component Interconnect,周边元件扩展接口)配置空间命令寄存器是否使能IO访问。如果待更新显卡PCI配置空间命令寄存器未使能IO访问,使能IO访问;(4)通过IO访问方式读出待更新显卡扩展ROM中旧的BIOS;(5)通过IO访问方式将新的BIOS写入待更新显卡扩展ROM;(6)通过IO访问方式读出待更新显卡扩展ROM中新的BIOS并完成校验;说 明 书CN 1。
9、03106161 A2/3页4(7)重启微软视窗操作系统。0007 本发明的显卡基于PCI或PCI-E总线协议,且申请了一定数量的IO地址空间。计算机系统上电自检发起对显卡扩展ROM的内存访问请求,显卡扩展ROM中的BIOS被映射到计算机系统主存,且扩展ROM的内存地址空间被回收,应用程序无法通过常规内存访问方式读写扩展ROM;进入操作系统后,显卡BIOS更新程序依据显卡申请的IO地址空间发起对扩展ROM的IO读写访问请求。另外,显卡扩展ROM的接口采用SPI(Serial Peripheral Interface,串行外围接口)协议,存储介质可为FLASH(闪存)或者EEPROM(电可擦除只。
10、读存储器)。显卡将显卡BIOS更新程序发起的PCI或PCI-E IO访问请求转换成SPI命令序列并最终形成SPI串行信号,从而完成对扩展ROM的读写。0008 本发明一种基于IO访问方式的显卡BIOS更新方法采取IO访问方式解决了显卡进入操作系统后,扩展ROM内存地址空间虽已无效,但仍可以快速、可靠地完成对显卡BIOS的更新,缩短了显卡BIOS的开发周期。此外,本发明提出的基于微软视窗操作系统的显卡BIOS更新方法,操作简单、方便。附图说明0009 图1 本发明计算机系统上电自检显卡扩展ROM影射流程图;图2 本发明基于IO访问方式的显卡BIOS更新方法较佳实施方式的流程图。具体实施方式001。
11、0 参照图2,本发明基于IO访问方式的显卡BIOS更新方法较佳实施方式包括以下步骤:201:启动微软视窗操作系统后,显卡BIOS更新程序首先根据厂商识别号(Vendor ID)和设备识别号(Device ID)选择并定位显卡。显卡BIOS更新程序中设置了默认的厂商识别号和设备识别号,如果默认设置与待更新显卡的厂商识别号和设备识别号一致,无需再作选择;否则需要进一步输入待更新显卡的厂商识别号和设备识别号以定位待更新显卡。0011 202:判断PCI配置空间命令寄存器是否已使能IO访问。进入操作系统后,常规的扩展ROM内存访问方式已失效,显卡BIOS更新程序通过IO访问方式访问扩展ROM。操作系统。
12、可能已去使能(Disable)IO访问,显卡BIOS更新程序查看命令寄存器(偏移量为04h)的IO访问使能位(最低位)是否有效(为1),如IO访问使能位为1,无需修改;否则,修改此位为1。0012 203:备份待更新显卡旧的BIOS。准备更新显卡BIOS之前,对待更新显卡BIOS作备份,以防显卡BIOS更新失败。备份显卡BIOS时,首先获取待更新显卡申请的相关IO地址空间,再通过IO访问方式读出扩展ROM中旧的BIOS并保存到文件。0013 204:从新的BIOS文件读入新的BIOS并写入待更新显卡扩展ROM。写入扩展ROM时,首先获取待更新显卡申请的相关IO地址空间,再通过IO访问方式将新的。
13、BIOS写入扩展ROM。0014 205:读出待更新显卡新的BIOS并完成校验。首先,通过IO访问方式读出扩展ROM中已更新的BIOS并将它保存到文件中,再将此文件与待更新显卡新的BIOS文件作比对,如比对结果匹配则表示显卡BIOS更新成功,结束更新程序,重启操作系统即可使用新的显卡说 明 书CN 103106161 A3/3页5BIOS;否则,重复步骤204和205直到更新成功。如果因为非人为的因素(如断电)导致待显卡BIOS更新失败,借助第三方的独立显卡或集成显卡完成操作系统的启动;进入操作系统后,仍按照图2所示步骤完成对待更新显卡BIOS的恢复或更新。说 明 书CN 103106161 A1/1页6图1图2 说 明 书 附 图CN 103106161 A。