一种采用自调整启动介质技术的一级启动程序启动方法与流程

专利检索2025-12-03  4


本发明涉及一级启动程序,特别涉及一种采用自调整启动介质技术的一级启动程序启动方法。


背景技术:

1、芯片的一级启动程序通常为romcode,固化在片内rom内;二级启动程序固化在外部存储介质内。芯片复位后,一级启动程序根据芯片启动模式管脚的电平值决定首先从哪一个外部介质启动二级启动程序。实际应用中,可能出现加载二级启动程序失败的情况;这里的二级启动程序加载失败通常指外部介质读取流程报错或加载程序的数据校验失败。目前二级启动程序加载失败的主流处理流程通常按下述示例。

2、例如,芯片有2种外部存储介质,分别为介质一和介质二,一级启动程序首先从介质一加载程序,若介质一内程序加载失败,后续通常有2种处理方式:第1种是一级启动程序只支持1种启动模式,该方式会打印错误日志,进入串口启动或dfu等模式;第2种是支持多种启动模式,该方式会接着加载介质二内程序。当芯片再次复位后,若介质一内程序加载仍失败,则仍会执行上述相同的处理流程。

3、显然,上述处理流程具有以下不足:1)对于一级启动程序只支持1种启动模式的情形,会造成系统启动失败,导致系统功能丧失。2)对于一级启动程序支持多种启动模式的情形,由于先执行加载介质一内二级启动程序,待检测到加载介质一内程序失败后才去加载加载介质二内程序,导致系统整体启动速度变慢。


技术实现思路

1、本发明的目的在于提供一种采用自调整启动介质技术的一级启动程序启动方法,本发明以解决背景技术中所述方法介质一内程序加载失败引起的系统功能丧失或系统整体启动速度变慢的问题。

2、为解决上述技术问题,本发明提供了一种采用自调整启动介质技术的一级启动程序启动方法,包括如下步骤:

3、步骤一:芯片复位后,一级启动程序根据芯片的两个启动模式管脚的电平值执行相应的启动流程,即加载介质一内程序、加载介质二内程序或执行其他流程;

4、其中芯片复位后,一级启动程序根据芯片的启动模式管脚的电平值决定首先加载介质一或介质二内的二级启动程序;每个介质内均分为三个存储区,即可用程序标志区、程序区一以及程序区二;其中所述可用程序标志区存储可用程序标志;所述可用程序标志分为程序区一可用、程序区二可用以及均不可用三种;所述程序区一可用表示程序区一可加载,程序区二可用表示程序区一不可加载且程序区二可加载,均不可用表示程序区一和程序区二均不可加载;

5、步骤二:根据介质一或介质二内程序的加载结果,一级启动程序通过启动模式配置电路自动调整启动模式管脚的电平值;

6、即:当启动模式管脚的电平值为00时,若介质一内程序加载成功,则启动模式管脚的电平值保持为00不变;当启动模式管脚的电平值为00时,若介质一内程序加载失败且介质二内程序加载成功,则一级启动程序通过启动模式配置电路将启动模式管脚的电平值从00自动调整到01;当启动模式管脚电平值为00时,若介质一内程序加载失败且介质二内程序加载失败,则一级启动程序通过启动模式配置电路将启动模式管脚的电平值从00自动调整到10;当启动模式管脚的电平值为01时,若介质二内程序加载成功,则启动模式管脚电平值保持为01不变;当启动模式管脚电平值为01时,若介质二内程序加载失败,则一级启动程序通过启动模式配置电路将启动模式管脚的电平值从01自动调整到10;

7、步骤三:芯片再次复位后,一级启动程序按上述逻辑,根据启动模式管脚的电平值执行相应的启动流程。

8、优选的,每个介质内二级启动程序的加载流程包括:

9、首先读取可用程序标志区内的可用程序标志,根据可用程序标志加载程序区一或程序区二内的程序;若程序区一可用则加载程序区一内程序;若程序区二可用则加载程序区二内程序;若均不可用则不加载程序区一和程序区二内的程序,继续执行后续流程;

10、根据程序区一或程序区二内程序的加载结果,一级启动程序自动调整可用程序标志区内的可用程序标志;

11、芯片再次复位后,一级启动程序按上述逻辑,根据可用程序标志加载相应程序区内的程序。

12、优选的,所述根据程序区一或程序区二内程序的加载结果,一级启动程序自动调整可用程序标志区内的可用程序标志,其具体方法包括:

13、当可用程序标志为0xb1时,若程序区一内程序加载成功,则可用程序标志保持为0xb1不变;当可用程序标志为0xb1时,若程序区一内程序加载失败且程序区二内程序加载成功,则一级启动程序将可用程序标志从0xb1自动调整到0xb2;当可用程序标志为0xb1时,若程序区一内程序加载失败且程序区二内程序加载失败,则一级启动程序将可用程序标志从0xb1自动调整到0xee;当可用程序标志为0xb2时,若程序区二内程序加载成功,则可用程序标志保持为0xb2不变;当可用程序标志为0xb2时,若程序区二内程序加载失败,则一级启动程序将可用程序标志从0xb2自动调整到0xee。

14、优选的,所述可用程序标志区存储的可用程序标志的初始默认值为0xb1;当可用程序标志为0xb1时,一级启动程序首先加载程序区一内程序;当可用程序标志为0xb2时,一级启动程序首先加载程序区二内程序;当可用程序标志为0xee时,一级启动程序不加载程序区一和程序区二内程序,去执行后续流程。

15、优选的,所述两个启动模式管脚的初始默认电平值为00;当启动模式管脚电平值为00时,一级启动程序首先加载介质一内程序;当启动模式管脚电平值为01时,一级启动程序首先加载介质二内程序;当启动模式管脚电平值为10时,一级启动程序不加载介质一和介质二内程序,去执行其他流程。

16、优选的,所述启动模式配置电路包括:磁保持继电器、电阻一、电阻二和两组gpio输出开关电路;

17、芯片复位后,gpio输出开关电路默认断开,磁保持继电器的常开触点控制管脚和常闭触点控制管脚信号均无效,启动模式管脚连接公共触点,公共触点连接常闭触点,常闭触点处于开路状态;

18、其等效电路为启动模式管脚通过电阻一接地,启动模式管脚的默认电平值为0;当一级启动程序控制常开触点控制管脚所在的gpio输出开关电路短暂闭合后,磁保持继电器的公共触点连接到常开触点,启动模式管脚的电平值为电阻一、电阻二所在分压电路的分压值,该分压电路在启动模式管脚处输出高电平值1;当一级启动程序控制常闭触点控制管脚所在的gpio输出开关电路短暂闭合后,磁保持继电器的公共触点连接到常闭触点,启动模式管脚通过电阻一接地,启动模式管脚的电平值恢复为默认值0。

19、优选的,所述gpio输出开关电路包括:光电继电器和限流电阻;

20、芯片的输出端口连接到限流电阻,限流电阻连接到光电继电器输入端发光二极管的正极,发光二极管的负极接地;芯片复位后,输出端口默认输出低电平,发光二极管截止不发光,光电继电器输出端的开关断开,即控制供电-与磁保持继电器的常开触点控制管脚断路;当一级启动程序控制输出端口输出满足磁保持继电器控制要求的高电平脉冲后,光电继电器输出端的开关输出闭合脉冲,继而控制磁保持继电器的常开触点控制管脚或常闭触点控制管脚所在的控制回路闭合,最终控制启动模式管脚与磁保持继电器的常开触点或常闭触点连接,从而启动模式管脚电平值变为高电平值1或低电平值0。

21、优选的,所述启动模式管脚的电平值具有断电保持功能,即系统断电后再次加电,启动模式管脚的电平值与断电前相同。

22、优选的,通过命令配置启动模式功能,即:通过串口或网络通信接口,向芯片发送启动模式配置命令,一级启动程序能够按命令要求配置启动模式管脚的电平值,并通过串口或网络通信接口输出配置结果;

23、通过命令配置可用程序标志功能,即:通过串口或网络通信接口,向芯片发送可用程序标志配置命令,一级启动程序能够按命令要求配置可用程序标志,并通过串口或网络通信接口输出配置结果。

24、优选的,当介质某个程序区内程序加载失败后,一级启动程序能够自动调整芯片与介质间通信总线的传输参数,进行降级处理措施;

25、所述降级处理措施包括减少传输线宽和降低传输速率;若通信总线的传输参数进行降级处理后,该程序区内的程序加载成功,则继续启动程序;若通信总线的传输参数进行降级处理后,该程序区内的程序加载仍失败,则执行后续流程。

26、本发明与现有技术相比,具有如下有益效果:

27、(1)本发明实现了二级启动程序的多种启动介质冗余设计和单个启动介质内备份冗余设计,提高了二级启动程序加载成功率。

28、(2)本发明根据二级启动程序在不同介质内的加载结果,自动调整启动模式,确保下一次芯片复位启动首先从可成功加载的介质加载二级启动程序,在介质一内程序加载失败情况下加快系统整体启动速度。

29、(3)本发明根据单个介质内不同存储区的加载结果,自动调整可用程序标志,确保下一次芯片复位启动首先从可成功加载的程序区加载二级启动程序,在程序区一内程序加载失败情况下加快系统整体启动速度。

30、(4)本发明支持通过命令配置启动模式或单个介质内加载二级启动程序的存储区,增加了使用灵活性。

31、(5)本发明在二级启动程序加载失败情况下,支持自动调整芯片与介质间通信总线的传输参数功能,提高了程序加载成功率。


技术特征:

1.一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,每个介质内二级启动程序的加载流程包括:

3.如权利要求2所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,所述根据程序区一或程序区二内程序的加载结果,一级启动程序自动调整可用程序标志区内的可用程序标志,其具体方法包括:

4.如权利要求3所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,所述可用程序标志区存储的可用程序标志的初始默认值为0xb1;当可用程序标志为0xb1时,一级启动程序首先加载程序区一内程序;当可用程序标志为0xb2时,一级启动程序首先加载程序区二内程序;当可用程序标志为0xee时,一级启动程序不加载程序区一和程序区二内程序,去执行后续流程。

5.如权利要求1所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,所述两个启动模式管脚的初始默认电平值为00;当启动模式管脚电平值为00时,一级启动程序首先加载介质一内程序;当启动模式管脚电平值为01时,一级启动程序首先加载介质二内程序;当启动模式管脚电平值为10时,一级启动程序不加载介质一和介质二内程序,去执行其他流程。

6.如权利要求1所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,所述启动模式配置电路包括:磁保持继电器k1、电阻一r1、电阻二r2和两组gpio输出开关电路;

7.如权利要求6所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,所述gpio输出开关电路包括:光电继电器k2和限流电阻r3;

8.如权利要求1所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,所述启动模式管脚的电平值具有断电保持功能,即系统断电后再次加电,启动模式管脚的电平值与断电前相同。

9.如权利要求1所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,通过命令配置启动模式功能,即:通过串口或网络通信接口,向芯片发送启动模式配置命令,一级启动程序能够按命令要求配置启动模式管脚的电平值,并通过串口或网络通信接口输出配置结果;

10.如权利要求1所述的一种采用自调整启动介质技术的一级启动程序启动方法,其特征在于,当介质某个程序区内程序加载失败后,一级启动程序能够自动调整芯片与介质间通信总线的传输参数,进行降级处理措施;


技术总结
本发明涉及一级启动程序技术领域,特别涉及一种采用自调整启动介质技术的一级启动程序启动方法。包括如下步骤:芯片复位后,一级启动程序根据芯片的两个启动模式管脚的电平值执行相应的启动流程,即加载介质一内程序、加载介质二内程序或执行其他流程;根据介质一或介质二内程序的加载结果,一级启动程序通过启动模式配置电路自动调整启动模式管脚的电平值;芯片再次复位后,一级启动程序按上述逻辑,根据启动模式管脚的电平值执行相应的启动流程。本发明以解决介质一内程序加载失败引起的系统功能丧失或系统整体启动速度变慢的问题。

技术研发人员:李贺军,白永强,乔长福
受保护的技术使用者:中电科申泰信息科技有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1159026.html

最新回复(0)