一种bootrom代码的兼容方法及设备转让专利

申请号 : CN201610220249.2

文献号 : CN105912332B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林涛

申请人 : 福州瑞芯微电子股份有限公司

摘要 :

本发明提供一种bootrom代码的兼容方法,包括步骤1、bootrom代码初始化存储器,若成功,退出;若失败,进入步骤2;步骤2、逐步增加采样点的数值,每增加一次数值均执行一次初始化,若成功,退出;若遍历所有采样点均失败,进入步骤3;步骤3、逐步降低输出的同步时钟,同步时钟每降低一个粒度均返回执行一次步骤2;若同步时钟降低至最低阈值仍失败,进入步骤4;步骤4、逐步增加电阻的电压值,每增加一次电压值均返回执行一次步骤2至步骤3;若电压值增加至电压上限仍失败,下电判定失败。本发明优点:可以大大提高bootrom代码对外部存储器件进行layout(初始化)的兼容性,从而最大程度上提高存储器件初始化成功的几率。

权利要求 :

1.一种bootrom代码的兼容方法,其特征在于:包括如下步骤:

步骤10、bootrom代码初始化芯片的存储器,若初始化成功,则退出;若初始化失败,则进入步骤20;

步骤20、逐步增加芯片内部默认配置的采样点的数值,且每增加一次数值均执行一次初始化存储器操作,若初始化成功,则退出;若遍历所有采样点均初始化失败,则进入步骤

30;

步骤30、逐步降低存储控制器输出的同步时钟,且同步时钟每降低一个粒度,均返回执行一次步骤20;若将同步时钟降低至最低阈值仍初始化失败,则进入步骤40;

步骤40、逐步增加采样电路中电阻的电压值,且每增加一次电压值,均返回执行一次步骤20至步骤30;若将电压值增加至电压上限仍初始化失败,则下电判定初始化失败。

2.根据权利要求1所述的一种bootrom代码的兼容方法,其特征在于:所述“逐步增加芯片内部默认配置的采样点的数值”具体为:通过芯片的采样点读取和配置单元读取芯片内部默认配置的采样点初始相位值,逐步增加配置的采样点的相位值。

3.根据权利要求1所述的一种bootrom代码的兼容方法,其特征在于:所述“逐步降低存储控制器输出的同步时钟”具体为:通过芯片的时钟降频单元逐步降低存储控制器输出的同步时钟。

4.根据权利要求1所述的一种bootrom代码的兼容方法,其特征在于:所述“逐步增加采样电路中电阻的电压值”具体为:通过芯片的加压升温单元逐步增加采样电路中电阻的电压值。

5.一种bootrom代码的兼容系统,其特征在于:包括初始化模块、采样值增加模块、降频模块以及增压模块;

所述初始化模块,用于bootrom代码初始化芯片的存储器,若初始化成功,则退出;若初始化失败,则进入所述采样值增加模块;

所述采样值增加模块,用于逐步增加芯片内部默认配置的采样点的数值,且每增加一次数值均执行一次初始化存储器操作,若初始化成功,则退出;若遍历所有采样点均初始化失败,则进入所述降频模块;

所述降频模块,用于逐步降低存储控制器输出的同步时钟,且同步时钟每降低一个粒度,均返回执行一次所述采样值增加模块;若将同步时钟降低至最低阈值仍初始化失败,则进入所述增压模块;

所述增压模块,用于逐步增加采样电路中电阻的电压值,且每增加一次电压值,均返回执行一次所述采样值增加模块至所述降频模块;若将电压值增加至电压上限仍初始化失败,则下电判定初始化失败。

6.根据权利要求5所述的一种bootrom代码的兼容系统,其特征在于:所述“逐步增加芯片内部默认配置的采样点的数值”具体为:通过芯片的采样点读取和配置单元读取芯片内部默认配置的采样点初始相位值,逐步增加配置的采样点的相位值。

7.根据权利要求5所述的一种bootrom代码的兼容系统,其特征在于:所述“逐步降低存储控制器输出的同步时钟”具体为:通过芯片的时钟降频单元逐步降低存储控制器输出的同步时钟。

8.根据权利要求5所述的一种bootrom代码的兼容系统,其特征在于:所述“逐步增加采样电路中电阻的电压值”具体为:通过芯片的加压升温单元逐步增加采样电路中电阻的电压值。

说明书 :

一种bootrom代码的兼容方法及设备

技术领域

[0001] 本发明涉及一种bootrom代码的兼容方法及设备。

背景技术

[0002] bootrom是一段固化在芯片内部且不可修改的代码,它的作用是初始化芯片的CPU和存储器件,并从存储器件中读取内存初始化代码来引导后续的系统运行。由此可知bootrom代码对整个芯片系统的运行起着至关重要的作用,如果bootrom代码初始化存储器件失败的话,那么整个芯片系统都将无法运行。由于bootrom代码属于固化不可修改的代码,且现有的bootrom代码在运行时,存储器件以及外围电路的兼容性都比较差,因此经常会碰到芯片系统无法运行的情况。

发明内容

[0003] 本发明要解决的技术问题之一,在于提供一种bootrom代码的兼容方法,通过该方法来提高bootrom代码对外部存储器件进行初始化的兼容性,从而在最大程度上提高存储器件初始化成功的几率。
[0004] 本发明是这样实现技术问题之一的:一种bootrom代码的兼容方法,所述方法包括如下步骤:
[0005] 步骤10、bootrom代码初始化芯片的存储器,若初始化成功,则退出;若初始化失败,则进入步骤20;
[0006] 步骤20、逐步增加配置的采样点的数值,且每增加一次数值均执行一次初始化存储器操作,若初始化成功,则退出;若遍历所有采样点均初始化失败,则进入步骤30;
[0007] 步骤30、逐步降低输出的同步时钟,且同步时钟每降低一个粒度,均返回执行一次步骤20;若将同步时钟降低至最低阈值仍初始化失败,则进入步骤40;
[0008] 步骤40、逐步增加电阻的电压值,且每增加一次电压值,均返回执行一次步骤20至步骤30;若将电压值增加至电压上限仍初始化失败,则下电判定初始化失败。
[0009] 进一步地,所述“逐步增加配置的采样点的数值”具体为:通过芯片的采样点读取和配置单元读取芯片内部默认配置的采样点初始相位值,逐步增加配置的采样点的相位值。
[0010] 进一步地,所述“逐步降低输出的同步时钟”具体为:通过芯片的时钟降频单元逐步降低存储控制器输出的同步时钟。
[0011] 进一步地,所述“逐步增加电阻的电压值”具体为:通过芯片的加压升温单元逐步增加采样电路中电阻的电压值。
[0012] 本发明要解决的技术问题之二,在于提供一种bootrom代码的兼容系统,通过该系统来提高bootrom代码对外部存储器件进行初始化的兼容性,从而在最大程度上提高存储器件初始化成功的几率。
[0013] 本发明是这样实现技术问题之二的:一种bootrom代码的兼容系统,所述系统包括:初始化模块、采样值增加模块、降频模块以及增压模块;
[0014] 所述初始化模块,用于bootrom代码初始化芯片的存储器,若初始化成功,则退出;若初始化失败,则进入所述采样值增加模块;
[0015] 所述采样值增加模块,用于逐步增加配置的采样点的数值,且每增加一次数值均执行一次初始化存储器操作,若初始化成功,则退出;若遍历所有采样点均初始化失败,则进入所述降频模块;
[0016] 所述降频模块,用于逐步降低输出的同步时钟,且同步时钟每降低一个粒度,均返回执行一次所述采样值增加模块;若将同步时钟降低至最低阈值仍初始化失败,则进入所述增压模块;
[0017] 所述增压模块,用于逐步增加电阻的电压值,且每增加一次电压值,均返回执行一次所述采样值增加模块至所述降频模块;若将电压值增加至电压上限仍初始化失败,则下电判定初始化失败。
[0018] 进一步地,所述“逐步增加配置的采样点的数值”具体为:通过芯片的采样点读取和配置单元读取芯片内部默认配置的采样点初始相位值,逐步增加配置的采样点的相位值。
[0019] 进一步地,所述“逐步降低输出的同步时钟”具体为:通过芯片的时钟降频单元逐步降低存储控制器输出的同步时钟。
[0020] 进一步地,所述“逐步增加电阻的电压值”具体为:通过芯片的加压升温单元逐步增加采样电路中电阻的电压值。
[0021] 本发明具有如下优点:通过将本发明应用到bootrom代码对存储器件的初始化中去,可以大大提高bootrom代码对外部存储器件进行layout(初始化)的兼容性,从而最大程度上提高存储器件初始化成功的几率,即可以最大程度上提高芯片系统正常运行的几率。

附图说明

[0022] 下面参照附图结合实施例对本发明作进一步的说明。
[0023] 图1为本发明中需要使用到的芯片的硬件结构图。
[0024] 图2为本发明bootrom代码的兼容方法的流程框图。
[0025] 图3为本发明bootrom代码的兼容系统的结构框图。

具体实施方式

[0026] 请参照图1所示,本发明一种bootrom代码的兼容方法,该方法需要使用的芯片18的硬件结构包括CPU12、存储控制器13、存储器14、采样点读取和配置单元15、时钟降频单元16以及加压升温单元17;其中,存储控制器13与CPU12相连接,存储器14与存储控制器13相连接,采样点读取和配置单元15、时钟降频单元16以及加压升温单元17均与CPU12相连接。
请参照图2所示,所述方法包括如下步骤:
[0027] 步骤21、在bootrom代码11初始化CPU12后,bootrom代码11利用存储控制器13初始化芯片18的存储器14(在实施时,bootrom代码11会配置存储控制器13,使存储控制器13产生命令序列对存储器14进行配置,以使存储器14进入初始化模式,存储器14初始化完成后,就可以对其进行读写操作),若初始化成功,则退出;若初始化失败,则进入步骤22;
[0028] 步骤22、逐步增加配置的采样点的数值,且每增加一次数值均执行一次初始化存储器14操作,若初始化成功,则退出;若遍历所有采样点均初始化失败,则进入步骤23;其中,所述“逐步增加配置的采样点的数值”具体为:通过芯片18的采样点读取和配置单元15读取芯片18内部默认配置的采样点初始相位值,逐步增加配置的采样点的相位值。
[0029] 在实施时,例如,采样点读取和配置单元15读取的芯片18内部默认配置的采样点初始相位值为50,此时就可以将采样点的相位值修改为51,并继续执行对存储器14的初始化操作,若初始化成功,则退出;若初始化失败,则将采样点的相位值修改为52,并接着执行对存储器14的初始化操作;如此一个采样点一个采样点的尝试下去,若有尝试成功,则退出;若遍历所有采样点(256个)均尝试失败,则进入步骤23。
[0030] 步骤23、逐步降低输出的同步时钟,且同步时钟每降低一个粒度,均返回执行一次步骤22,即每将同步时钟降低一个粒度时,都会返回步骤22遍历所有的采样点和执行初始化操作,且在遍历的过程中,若有遇到初始化成功的采样点,则退出;若没有,则继续降低输出的同步时钟。若将同步时钟降低至最低阈值仍初始化失败,则进入步骤24;其中,所述“逐步降低输出的同步时钟”具体为:通过芯片18的时钟降频单元16逐步降低存储控制器13输出的同步时钟。
[0031] 步骤24、逐步增加电阻的电压值,且每增加一次电压值(每次增加的数值可以根据实际使用需要进行设置),均返回执行一次步骤22至步骤23;若将电压值增加至电压上限仍初始化失败,则下电判定初始化失败;其中,所述“逐步增加电阻的电压值”具体为:通过芯片18的加压升温单元17逐步增加采样电路中电阻的电压值。
[0032] 在实施时,例如,在每将采样电路中电阻的电压值增加0.1V后,都会先返回步骤22遍历所有的采样点和执行初始化操作,且在遍历所有采样点的过程中,若有遇到初始化成功的采样点,则退出;若没有,则继续执行步骤23;在执行步骤23时,同样是每将同步时钟降低一个粒度时,都会返回步骤22遍历所有的采样点和执行初始化操作,且在遍历的过程中,若有遇到初始化成功的采样点,则退出;若没有,则继续降低输出的同步时钟,直到将同步时钟降低至最低阈值。如果将采样电路中电阻的电压值增加电压上限(如80V)仍初始化失败,则说明该芯片18存在重大的设计缺陷,此时直接下电并判定初始化失败。
[0033] 请参照图1所示,本发明一种bootrom代码的兼容系统,该系统需要使用的芯片18的硬件结构包括CPU12、存储控制器13、存储器14、采样点读取和配置单元15、时钟降频单元16以及加压升温单元17;其中,存储控制器13与CPU12相连接,存储器14与存储控制器13相连接,采样点读取和配置单元15、时钟降频单元16以及加压升温单元17均与CPU12相连接。
请参照图3所示,所述系统包括:初始化模块31、采样值增加模块32、降频模块33以及增压模块34;
[0034] 所述初始化模块31,用于在bootrom代码11初始化CPU12后,bootrom代码11利用存储控制器13初始化芯片18的存储器14,若初始化成功,则退出;若初始化失败,则进入所述采样值增加模块32;
[0035] 所述采样值增加模块32,用于逐步增加配置的采样点的数值,且每增加一次数值均执行一次初始化存储器14操作,若初始化成功,则退出;若遍历所有采样点均初始化失败,则进入所述降频模块33;其中,所述“逐步增加配置的采样点的数值”具体为:通过芯片18的采样点读取和配置单元15读取芯片18内部默认配置的采样点初始相位值,逐步增加配置的采样点的相位值。
[0036] 在实施时,例如,采样点读取和配置单元15读取的芯片18内部默认配置的采样点初始相位值为15,此时就可以将采样点的相位值修改为16,并继续执行对存储器14的初始化操作,若初始化成功,则退出;若初始化失败,则将采样点的相位值修改为17,并接着执行对存储器14的初始化操作;如此一个采样点一个采样点的尝试下去,若有尝试成功,则退出;若遍历所有采样点(256个)均尝试失败,则进入降频模块33;
[0037] 所述降频模块33,用于逐步降低输出的同步时钟,且同步时钟每降低一个粒度,均返回执行一次所述采样值增加模块32,即每将同步时钟降低一个粒度时,都会返回所述采样值增加模块32遍历所有的采样点和执行初始化操作,且在遍历的过程中,若有遇到初始化成功的采样点,则退出;若没有,则继续降低输出的同步时钟。若将同步时钟降低至最低阈值仍初始化失败,则进入所述增压模块34;其中,所述“逐步降低输出的同步时钟”具体为:通过芯片18的时钟降频单元16逐步降低存储控制器13输出的同步时钟。
[0038] 所述增压模块34,用于逐步增加电阻的电压值,且每增加一次电压值,均返回执行一次所述采样值增加模块32至所述降频模块33;若将电压值增加至电压上限仍初始化失败,则下电判定初始化失败;其中,所述“逐步增加电阻的电压值”具体为:通过芯片18的加压升温单元17逐步增加采样电路中电阻的电压值。
[0039] 在实施时,例如,在每将采样电路中电阻的电压值增加0.2V后,都会先返回所述采样值增加模块32遍历所有的采样点和执行初始化操作,且在遍历所有采样点的过程中,若有遇到初始化成功的采样点,则退出;若没有,则继续执行所述降频模块33;在执行所述降频模块33时,同样是每将同步时钟降低一个粒度时,都会返回所述采样值增加模块32遍历所有的采样点和执行初始化操作,且在遍历的过程中,若有遇到初始化成功的采样点,则退出;若没有,则继续降低输出的同步时钟,直到将同步时钟降低至最低阈值。如果将采样电路中电阻的电压值增加电压上限(如85V)仍初始化失败,则说明该芯片18存在重大的设计缺陷,此时直接下电并判定初始化失败。
[0040] 综上所述,通过将本发明应用到bootrom代码对存储器件的初始化中去,可以大大提高bootrom代码对外部存储器件进行layout(初始化)的兼容性,从而最大程度上提高存储器件初始化成功的几率,即可以最大程度上提高芯片系统正常运行的几率。
[0041] 虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。