一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法技术

技术编号:15762652 阅读:55 留言:0更新日期:2017-07-05 22:25
本发明专利技术涉及一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法,其工艺流程为:先利用事先编好的第一小程序从原材料BIOS bin文件中提取出64KB的补丁程序文件,再将事先编好的第二小程序以64KB的补丁做为入参,植入到BIOS的.MAK文件中去,在编译时把补丁插入待发布的BIOS,实现自动化工作。在此过程中,BIOS利用top‑block swap的机制,解决在强宇宙射线干扰的自然环境下和应用场景比较恶劣的条件下,因PCH寄存器“Backed Up Control Register”的“TOP_SWAP”位自动被置成1时,而导致CPU无法开机的故障。另外,以植入小程序到.MAK的方式,实现全自动化操作,所以无需做额外的人工操作,方便有效。

A BIOS solution for preventing CPU from being turned on due to TopSwap problems

The invention relates to a method for preventing TopSwap and CPU does not boot BIOS solutions, the technological process is as follows: first extract the patch files from the 64KB raw materials BIOS bin file using the first small program programmed in advance, then pre programmed in the second program to do for 64KB patch the ginseng, implanted into the BIOS.MAK file to the patch to be inserted at compile time the release of BIOS, realize the automation of work. In this process, the use of BIOS top block swap mechanism, solve the strong cosmic ray interference in natural environment and application scenarios is poor, because the PCH register \Backed Up Control Register\ \TOP_SWAP\ automatic is set to 1, which led to CPU boot failure the. In addition, the automatic operation is carried out by implanting small programs into.MAK, so no additional manual operation is needed, so that it is convenient and effective.

【技术实现步骤摘要】
一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法
本专利技术涉及一种用于在计算机内部BIOS里解决故障的用于防止因TopSwap问题而CPU不开机的BIOS解决方法。
技术介绍
随着科技不断进步和发展,计算机已经被广泛应用于各个行业中。例如:个人电脑,工业控制电脑,服务器等。这些计算机大部分都安装着Intel的CPU和PCH。BIOS芯片是整个电脑系统中关键部分,而Boot-Block是BIOS程序中最重要的文件区域,该文件区域是BIOS程序中最先执行的引导部分。如果此引导部分被破坏,则CPU根本就无法执行程序。又因为所述引导部分被破坏,而容易导致BIOS程序的recovery部分功能无法使用。在实际使用过程中,由于高海拔地区的强宇宙射线干扰的自然环境下和应用场景比较恶劣的条件,很可能导致PCH寄存器“BackedUpControlRegister”的“TOP_SWAP”bit莫名其妙地被置成1的情况发生,而造成电脑无法开机。
技术实现思路
鉴于现有技术缺陷,本专利技术技术目的是提供一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法,该BIOS解决方法能够解决在强宇宙射线干扰的自然环境下和应用场景比较恶劣的条件下,因PCH寄存器“BackedUpControlRegister”的“TOP_SWAP”bit自动被置成1时,而导致CPU无法开机的技术问题。为了实现上述技术目的,本专利技术提供一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法,其操作步骤为:第一步,生成制作补丁的原材料BIOSbin文件:在BIOSSEC阶段的汇编语言源文件中,使用汇编语言在“BackedUpControlRegister”寄存器的“TOP_SWAP”位写0,然后,在0xcf9端口写入0xE;编译即可得到原材料BIOSbin文件,由于修改的是SEC阶段的汇编code,所以修改部分被编译后,对应的可执行代码位于FFFF_0000h段;“BackedUpControlRegister”寄存器的编号为(SB_RCBA+0x3414),“TOP_SWAP”为该寄存器的bit0;后面的步骤会从原材料BIOSbin文件中提取补丁,该补丁会清掉PCH中寄存器“BackedUpControlRegister”的“TOP_SWAP”位,再重启电脑;第二步,制作生成补丁的工具:用VC6.0,VC2005或者VC2008编写一个程序,该程序读取第一步准备好的BIOS之最高端64KB数据,即FFFF_0000h段,生成一个64KB补丁数据;第三步,制作把补丁数据插入BIOS的工具:用VC6.0,VC2005或者VC2008编写一个程序,该程序可以把上面第二步得到的64KB补丁数据插入到待发布BIOS的FFFE_0000h段;第四步,将第三步得到的插入补丁之工具以64KB补丁做为入参,植入到BIOS的.MAK文件中,实现自动化运作,无需人工做额外的操作。依据上述主要技术特征所述,在整个方案中,使用了两个自制的.exe工具,其中一个.exe工具用于生成第一补丁数据,另一个.exe工具把第一补丁数据插入BIOS的FFFE_0000h;待以上的第一补丁数据和.exe工具准备好了后,可以将插入补丁的.exe小程序以这个64KB补丁数据作为入参,植入到BIOS的.MAK文件,把补丁数据插入到FFFE_0000h,以便覆盖原来的全0xFF;当PCH寄存器“BackedUpControlRegister”的TOP_SWAP位被置起成1时,CPU开机时将首先访问地址FFFE_0000h段,而TOP_SWAP位被置0时,首先访问的是FFFF_0000h段;由此我们可以通过改变TOP_SWAP位,来改变开机时CPU访问的首地址。本专利技术的有益技术效果:因本技术方案采用VC2008制作成补丁工具,再利用补丁工具处理原材料BIOSbin文件,制作生成64KB补丁数据,最后将64KB补丁数据,在编译时自动植入到待发布的BIOS中去,实现自动化工作,在此过程中,BIOS利用top-blockswap的机制,解决在强宇宙射线干扰的自然环境下和应用场景比较恶劣的条件下,因PCH寄存器“BackedUpControlRegister”的TOP_SWAP位自动被置成1时,而导致CPU无法开机的故障。另外,以植入小程序到.MAK的方式,实现全自动化操作,所以无需做额外的人工操作,方便有效。为对本专利技术的目的、构造特征及其功能有进一步的了解,兹配合附图详细说明如下:【附图说明】图1为本专利技术中BIOS解决方法的流程图;图2为本专利技术中与BIOS解决方法相关的示意图。【具体实施方式】为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。请参阅图1及图2所示,下面结合实施例来说明本专利技术所提供一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法,其操作步骤为:第一步,生成制作补丁的原材料BIOSbin文件:在BIOSSEC阶段的汇编语言源文件中,使用汇编语言在“BackedUpControlRegister”寄存器的“TOP_SWAP”位写0,然后,在0xcf9端口写入0xE;编译即可得到原材料BIOSbin文件,由于修改的是SEC阶段的汇编code,所以修改部分被编译后,对应的可执行代码位于FFFF_0000h段;“BackedUpControlRegister”寄存器的编号为(SB_RCBA+0x3414),“TOP_SWAP”为该寄存器的bit0;后面的步骤会从原材料BIOSbin文件中提取补丁,该补丁会清掉PCH中寄存器“BackedUpControlRegister”的“TOP_SWAP”位,再重启电脑。第二步,制作生成补丁的工具:用VC6.0,VC2005或者VC2008编写一个程序,该程序读取第一步准备好的BIOS之最高端64KB数据,即FFFF_0000h段,生成一个64KB补丁数据。第三步,制作把补丁数据插入BIOS的工具:用VC6.0,VC2005或者VC2008编写一个程序,该程序可以把上面第二步得到的64KB补丁数据插入到待发布BIOS的FFFE_0000h段。第四步,将第三步得到的插入补丁之工具以64KB补丁做为入参,植入到BIOS的.MAK文件中,实现自动化运作,无需人工做额外的操作。在上述整个方案中,使用了两个自制的.exe工具,其中一个.exe工具用于生成第一补丁数据,另一个.exe工具把第一补丁数据插入BIOS的FFFE_0000h;待以上的第一补丁数据和.exe工具准备好了后,可以将插入补丁的.exe小程序以这个64KB补丁数据作为入参,植入到BIOS的.MAK文件,把补丁数据插入到FFFE_0000h,以便覆盖原来的全0xFF;当PCH寄存器“BackedUpControlRegister”的TOP_SWAP位被置起成1时,CPU开机时将首先访问地址FFFE_0000h段,而TOP_SWAP位被置0时,首先访问的是FFFF_0000h段;由此我们可以通过改变TOP_SWA本文档来自技高网...
一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法

【技术保护点】
一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法,其操作步骤为:第一步,生成制作补丁的原材料BIOS bin文件:在BIOS SEC阶段的汇编语言源文件中,使用汇编语言在“Backed Up Control Register”寄存器的“TOP_SWAP”位写0,然后,在0xcf9端口写入0xE;编译即可得到原材料BIOS bin文件,由于修改的是SEC阶段的汇编code,所以修改部分被编译后,对应的可执行代码位于FFFF_0000h段;“Backed Up Control Register”寄存器的编号为(SB_RCBA+0x3414),“TOP_SWAP”为该寄存器的bit0;后面的步骤会从原材料BIOS bin文件中提取补丁,该补丁会清掉PCH中寄存器“Backed Up Control Register”的“TOP_SWAP”位,再重启电脑;第二步,制作生成补丁的工具:用VC6.0,VC2005或者VC2008编写一个程序,该程序读取第一步准备好的BIOS之最高端64KB数据,即FFFF_0000h段,生成一个64KB补丁数据;第三步,制作把补丁数据插入BIOS的工具:用VC6.0,VC2005或者VC2008编写一个程序,该程序可以把上面第二步得到的64KB补丁数据插入到待发布BIOS的FFFE_0000h段;第四步,将第三步得到的插入补丁之工具以64KB补丁做为入参,植入到BIOS的.MAK文件中,实现自动化运作,无需人工做额外的操作。...

【技术特征摘要】
1.一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法,其操作步骤为:第一步,生成制作补丁的原材料BIOSbin文件:在BIOSSEC阶段的汇编语言源文件中,使用汇编语言在“BackedUpControlRegister”寄存器的“TOP_SWAP”位写0,然后,在0xcf9端口写入0xE;编译即可得到原材料BIOSbin文件,由于修改的是SEC阶段的汇编code,所以修改部分被编译后,对应的可执行代码位于FFFF_0000h段;“BackedUpControlRegister”寄存器的编号为(SB_RCBA+0x3414),“TOP_SWAP”为该寄存器的bit0;后面的步骤会从原材料BIOSbin文件中提取补丁,该补丁会清掉PCH中寄存器“BackedUpControlRegister”的“TOP_SWAP”位,再重启电脑;第二步,制作生成补丁的工具:用VC6.0,VC2005或者VC2008编写一个程序,该程序读取第一步准备好的BIOS之最高端64KB数据,即FFFF_0000h段,生成一个64KB补丁数据;第三步,制作把补丁数据插入BIOS的工具:用VC6.0,V...

【专利技术属性】
技术研发人员:周旭东王井红张冰
申请(专利权)人:深圳华北工控股份有限公司
类型:发明
国别省市:广东,44

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

1