利用处理器的磁盘开启芯片存储器的引导方法

文档序号:2130709阅读:199来源:国知局
专利名称:利用处理器的磁盘开启芯片存储器的引导方法
技术领域
本发明是关于利用处理器的磁盘开启芯片存储器进行引导的方法的。具体地,本发明是关于利用磁盘开启芯片存储器,在只读存储器中能够运行86系列处理器的基本输入/输出系统程序的利用处理器和磁盘开启芯片存储器进行引导的方法的。
背景技术
现在,作为86系列处理器的英特尔、AMD、威盛等诸多公司都已经发布了相关处理器,并且台式机、笔记本、个人信息终端机、输入写字板式PC和智能显示器等诸多应用设备中正在使用这种处理器。
一般来说,使用86系列处理器的系统都使用基本输入/输出系统进行引导,基本输入/输出系统对系统进行初始化,并对周边设备进行引导处理。利用基本输入/输出系统的系统引导必须使用非类型闪动存储器,但是附加使用了这种闪动存储器,增加了系统的复杂程度。
现在,为了不另外添加使用闪动存储器,而使用了很多种引导方法,其中较具代表性的是利用与非闪动装载设备对只读存储器进行复制后,在存储器中进行引导的方法、利用磁盘开启芯片存储器进行引导的方法和利用存储器全体构成非类型闪动存储器的引导方法。
一般地,提出与非闪动设备的方法,但是,因为处理器内部必须体现与非闪动装载设备,所以其使用的广泛性很低,同时,大部分86系列处理器都不具备与非闪动装载设备,所以在存储器内运行基本输入/输出系统非常不容易。
将存储器全体作为非类型闪动存储器的构成方法虽然在闪动存储器中直接运行应用程序,具有容易控制的优点,但是,存在系统价格比较昂贵的缺点。
磁盘开启芯片存储器作为对上述所列举存储器优点进行完善的存储器,其内置了非类型和与非类型的闪动存储器,使系统费用比非类型闪动存储器更加经济实惠,而且因为内置了与非闪动装载设备,所以其使用范围更加广泛。

发明内容
因此,为解决上述问题,本发明的目的是提供具有如下效果的利用处理器的磁盘开启芯片存储器进行引导的方法利用磁盘芯片存储器,在只读存储器中运行86系列处理器的基本输入/输出系统程序。
为了实现上述目的,本发明包括以下阶段,其特征在于引导装载设备跳跃过存储器中所存储的基本输入/输出系统程序的开始地址阶段;上述基本输入/输出系统判断是否利用磁盘开启芯片存储器进行引导,并判断是否利用闪动存储器进行引导阶段;如果利用上述磁盘开启芯片存储器进行引导,便跳过存储器初始化常规程序和存储器控制器设置,根据磁盘开启芯片存储器的引导,适用全域记述表阶段;基本模式还原时,与上述磁盘开启芯片存储器的引导相符合,读取出所设定的全域记述表,并适用真正的片段阶段;磁盘开启芯片存储器中所存储的基本输入/输出系统程序设定为存储器适当区域的阴影基本输入/输出系统,并运行阶段。
如上所述,具有上述特征的本发明具有如下效果利用86系列处理器中的磁盘开启芯片处理器进行引导,而不使用普通基本输入/输出系统所使用的非类型闪动存储器,使系统构成简单,使用可信度提高。
同时,本发明还具有如下效果86系列处理器虽然不支持与非闪动装载设备,但因为它能够轻松适用基本输入/输出系统,所以86系列以外的普通板支持信息包也适用于基本输入/输出系统的方法,所以如例所示,能够增加处理器的使用范围。


图1为依据本发明实施例的电源开启重启引导顺序图。
图2为依据本发明实施例的存储器图和开启自检顺序图。
具体实施例方式
下面,将参照附图对依据本发明的理想实施例进行详细说明。
智能显示器广泛使用作为86系列嵌入用处理器的智奥德系列处理器,其引导顺序一般与86系列处理器大同小异。下面,将对86系列处理器使用磁盘开启芯片存储器,在只读存储器中运行基本输入/输出系统程序时的情况进行说明。
图1所显示的是依据本发明实施例的电源开启重启引导顺序图。
智奥德系列存储器的电源开启开始地址为F000:FFF0,该地址是指引导装载设备被存储的闪动只读存储器的结束部分。同时,F000:FFF0地址又是指向F000:E05B,F000:E05B地址又指向startTest地址,运行实际程序。该startTest地址是引导装载设备进行编辑时决定的。
引导装载设备对存储器进行初始化,并利用与非闪动装载设备在存储器中运行磁盘开启芯片存储器中所存储的基本输入/输出系统程序,并开始启动自检顺序。
图2所显示的是依据本发明实施例的存储器图和启动自检顺序图。
对于智奥德系列处理器而言,系统存储器图与普通的86系列系统大同小异,但智奥德与独自使用的周边设备寄存器和相关存储器图稍有不同。
包含基本输入/输出系统程序的启动自检顺序(POSTPower OnSelf Test)对线圈、周边设备、存储器和各种模块进行初始化,并发生INT19,开始OS引导。
引导装载设备确认利用Port 80的调试码POST执行各过程运行阶段,开发者在对系统进行设计时,便利用这种调试码有效调试引导过程。
与非闪动装载设备在存储器中将磁盘开启芯片存储器中所存储的基本输入/输出系统程序进行复制,并在存储器中开始运行基本输入/输出系统程序。此时,基本输入/输出系统程序所包含的存储器初始化常规程序、存储器控制器设置、全域记述表设定和作用、基本模式还原、阴影基本输入/输出系统设定、开始地址设定都与利用磁盘开启芯片存储器的引导环境相适应,应该被修改。
基本输入/输出系统程序中所包含的存储器初始化常规程序是对存储器进行初始化的部分。磁盘开启芯片存储器对存储器进行初始化,并在存储器中运行基本输入/输出系统程序,因为基本输入/输出系统程序在存储器中运行,所以对基本输入/输出系统程序中所包含的存储器初始化常规程序所作的修改如下例如,包含存储器初始化常规程序的文件名是bldt.asm时,修改码如下mov ax,cs;Will be F000h if ROM′d,7000h if DOC′dtest ah,80h;Bit15=1 if ROM′d,0 if DOC′djz skipMemorySetupPORT80 POST_CPUMemRegInit;post_04hNOSTACK bx,cpuMemRegInit;Need to be in unRealPORT80 POST_CPUTest;post_05hNOSTACK bx,cpuTest;GxmIDPORT80 POST_memSetup;post_06hNOSTACK bx,memSetup;Initialize memory controller
skipMemorySetup:
如上述码所示,对码片段进行比较,利用磁盘开启芯片存储器进行引导,便可以知道跳过了存储器初始化。
存储器控制器设置是对存储器控制器进行设定的部分,所以利用磁盘开启芯片存储器进行引导的方法中,不应该运行任何部分。
例如,包含存储器控制器设置常规程序的文件名如果是gxmreg.asm时,其修改码如下mov ax,cs;Will be F000h if ROM′d,7000h if DOC′dtest ah,80h;Bit15=1 if ROM′d,0 if DOC′djz skipMemorySetupmov ax,CPU_MC_MEM_CNTRL2mov dword ptr es[eax],0801hmov ax,CPU_MC_MEM_CNTRL1mov dword prt es[eax],248C0040hmov ax,CPU_MC_BANK_CFGmov dword ptr es[eax],41104110hmov ax,CPU_MC_SYNC_TIM1mov dword ptr es[eax],2a733225hskipMemorySetup如上述码所示,对码片段进行比较,利用磁盘开启芯片存储器进行引导,便可以知道跳过了存储器控制器设置。
全域记述表设定和作用是因为片段差异而设定不同全域记述表的部分,必须对与片段差异相对应的全域记述表进行设定。首先,让我们来看一下设定全域记述表的编码,假如,包含全域记述表的文件名如果是unreal.asm时,所设定的全域记述表如下
PROT_MODE_GDTR LABEL FWORDGDT_REG<PROT_GDT_TABLE_END-PROT_GDT_TABLE-1,OFFSETPROT_GDT_TABLE,OFh,0>PROT_MODE_GDTR_DOC LABEL FWORDGDT_REG<PROT_GDT_TABLE_END-PROT_GDT_TABLE-1,OFFSETPROT_GDT_TABLE,O7h,0>同时,对编码片段进行检查,并适用正好相符的全域记述表。编码片段如果位于只读存储器中的话,便适用磁盘开启芯片存储器的全域记述表。例如,适用全域记述表的文件如果是unreal.asm时,适用全域记述表的编码如下mov cx,cstest ch,80hjz useDOCsegmentlgdt FWORD PTR PROT_MODE_GDTRjmp useF000segmentuseDOCsegmentlgdt FWORD PTR PROT_MODE_GDTR_DOCuseF000segment如上述码所示,对码片段进行检查,利用磁盘开启芯片存储器进行引导,便可以知道运行了对磁盘开启芯片存储器的全域记述表。
基本模式还原是利用长跳跃还原为基本模式时,能够利用并适用的真正片段部分。长跳跃时判断是否利用磁盘开启芯片存储器进行引导,并适用与之相对应的片段。例如,包含基本模式还原的文件为unreal.asm时,修改编码如下test ch,80h;Bit15=1 if ROM′d,0 if DOC′djz jumpInDOCsegmentdb 0EAhdw offset RealModeEntryDW 0F000h;needed to get back into real modejumpInDOCsegmentdb 0EAH15-9dw offset RealModeEntryDW 07000h;needed to get back into real mode基本模式还原时,根据上述编码,与磁盘开启芯片存储器的引导相符,读取出所设定的全域记述表,并适用正确的片段。阴影基本输入/输出系统设定判断引导是否在磁盘开启芯片存储器中,并判断是否在闪动存储器中,将存储器的适当区域作为基本输入/输出系统程序的阴影。这是指在存储器的适当区域设定并运行磁盘开启芯片存储器中所存储的基本输入/输出系统程序。例如,包含设定阴影基本输入/输出系统的文件如果是shadow.asm时,其修改编码如下mov ax,cscmp ax,0F000h;Booting from Flash ROM je@F;Yes,nothing more to do;No,overwrite entry point with sigmov eax,′MDOC′;so romCopy code can take appropriatemov cs
,eax;action when loading ROM imagemov esi,040000h;Starting here
mov edi,2C0000h;Copy to heremov ecx,03000h/4;for 3 sefments worth of stuffclddb 66h15-10db 67hrep movsd es[edi],es[esi]@@;We use the current CS as the basis for where to copy from...
xor eax,eaxmov ax,csshl eax,4mov esi,eax开始地址设置是设置开始地址的部分。即它是指引导装载设备开始地址从磁盘开启芯片存储器开始,从存储器中运行的基本输入/输出系统程序的开始地址。当决定只读存储器开始地址的设置部分是文件rominit.asm时,其修改编码如下setStartROMAddr PROC NEARmov edi,0FFF00h;MDOC entry addrmov eax,es[edi];If we are booting from an MDOCcmp edi,0FFFC0000h;Booting from Flash ROMjne @Fmov edi,0002C0000h;Booting from MDOC@@ret
setStartROMAddr ENDP上面,对基本输入/输出系统程序修改部分进行整理,利用磁盘开启芯片存储器进行引导时,存储器初始化常规程序和存储器控制器设置被跳跃过,与磁盘开启芯片存储器相适应,适用全域记述表,基本模式还原时,适用正确的片段,存储器的适当区域被设定为阴影基本输入/输出系统,引导装载设备的开始地址指向并设置为存储器运行的基本输入/输出系统程序的开始地址。
通过上述说明,本领域工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。因此,本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利范围来确定其技术性范围。
权利要求
1.利用处理器的磁盘开启芯片存储器引导方法,其特征在于,包括以下阶段引导装载设备跳跃过存储器中所存储的基本输入/输出系统程序的开始地址阶段;上述基本输入/输出系统判断是否利用磁盘开启芯片存储器进行引导,并判断是否利用闪动存储器进行引导阶段;如果利用上述磁盘开启芯片存储器进行引导,便跳过存储器初始化常规程序和存储器控制器设置,根据磁盘开启芯片存储器的引导,适用全域记述表阶段;基本模式还原时,与上述磁盘开启芯片存储器的引导相符合,读取出所设定的全域记述表,并适用真正的片段阶段;磁盘开启芯片存储器中所存储的基本输入/输出系统程序设定为存储器适当区域的阴影基本输入/输出系统,并运行阶段。
2.如权利要求1所述的利用处理器的磁盘开启芯片存储器引导方法,其特征在于上述引导装载设备从磁盘开启芯片存储器开始,将开始地址设定为存储器中所运行的基本输入/输出系统程序的开始地址。
全文摘要
本发明关于利用处理器的磁盘开启芯片存储器进行引导的方法。原有86系列处理器不支持与非闪动装载设备,其使用广泛性低。由存储器全体构成非类型闪动存储器的方法系统价格比较昂贵。为了解决这些缺点,本发明利用86系列处理器中的磁盘开启芯片存储器进行引导,使系统构成简单并提高其可信度,本发明由以下各阶段构成开始地址阶段;判断利用磁盘开启芯片存储器或闪动存储器进行引导阶段;根据磁盘开启芯片存储器的引导,适用全域记述表阶段;基本模式还原时,读取出所设定的全域记述表,并适用真正的片段阶段;磁盘开启芯片存储器中的基本输入/输出系统程序设定为存储器适当区域的阴影基本输入/输出系统,并运行阶段。
文档编号G06F9/445GK1908899SQ20051004132
公开日2007年2月7日 申请日期2005年8月2日 优先权日2005年8月2日
发明者李宰旭 申请人:乐金电子(昆山)电脑有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1