【技术实现步骤摘要】
引导程序切换处理方法及装置、计算机设备、介质
本申请涉及嵌入式驱动
,特别是涉及一种引导程序切换处理方法及装置、计算机设备、可读存储介质。
技术介绍
在计算机系统中,引导程序非常重要的重要,如果其被破坏了,那么计算机系统将无法启动而变成“砖头”,除非用硬件工具重新烧录启动程序。很多嵌入式设备都会对启动程序做保护,甚至做两个引导程序。在正常情况下,CPU是运行主引导程序。一般情况下,对引导程序的升级,只是更新主引导程序,而备用引导程序保留了最基本的功能,大部分情况下是不会升级的。如果在升级主引导程序后,发现系统无法正常启动,这样在线升级的功能也不能使用了,那么必须将主用引导程序置为无效,改成从备用引导程序启动。如何切换主备引导程?现有技术的做法是,用相关命令将主用引导程序设置为不可用或者直接删除,然后CPU启动备用引导程序。现有技术的的做法,需要能连接设备命令行的工具,一般是串口线和串口终端软件。另外,如果主用引导程序都不能启动到命令行,那么用命令去设置的方法根本不可行。最终还是只能用烧录芯片的方法去更新启动程序 ...
【技术保护点】
1.一种引导程序切换处理方法,其特征在于,所述方法包括:/n在FLASH芯片中预留一个字节的空间用来保存主用引导程序的启动标识boot_flag;/n当CPU上电,从备用引导程序执行指令,初始化CPU内部寄存器,完成对FLASH的配置;/n从FLASH固定的位置读取一个字节的数据到启动标识boot_flag变量;/n判断启动标识boot_flag是否大于0xf0,如果boot_flag小于或等于0xf0则继续执行备用引导程序的指令;/n如果启动标识boot_flag大于0xf0,则将主用引导程序的地址装载到CPU的程序计数寄存器PC中,完成从备用引导程序到主用引导程序的跳转。/n
【技术特征摘要】
1.一种引导程序切换处理方法,其特征在于,所述方法包括:
在FLASH芯片中预留一个字节的空间用来保存主用引导程序的启动标识boot_flag;
当CPU上电,从备用引导程序执行指令,初始化CPU内部寄存器,完成对FLASH的配置;
从FLASH固定的位置读取一个字节的数据到启动标识boot_flag变量;
判断启动标识boot_flag是否大于0xf0,如果boot_flag小于或等于0xf0则继续执行备用引导程序的指令;
如果启动标识boot_flag大于0xf0,则将主用引导程序的地址装载到CPU的程序计数寄存器PC中,完成从备用引导程序到主用引导程序的跳转。
2.根据权利要求1所述引导程序切换处理方法,其特征在于,所述如果boot_flag小于或等于0xf0则继续执行备用引导程序的指令的步骤包括:
如果boot_flag不大于0xf0,则继续执行备用引导程序的指令;
升级主用引导程序;
启动内核或者执行boot命令。
3.根据权利要求1所述引导程序切换处理方法,其特征在于,所述如果启动标识boot_flag大于0xf0,则将主用引导程序的地址装载到CPU的程序计数寄存器PC中,完成从备用引导程序到主用引导程序的跳转的步骤包括:
如果启动标识boot_flag大于0xf0则点亮设备上的一个状态指示灯;
接着将CPU运行程序计数器PC修改为主用引导程序的地址空间,跳转到主用引导程序;
然后对boot_flag从低到高的第一个bit1置为0,并保存在flash中。
4.根据权利要求3所述引导程序切换处理方法,其特征在于,所述然后对boot_flag从低到高的第一个bit1置为0,并保存在flash中的步骤之后还包括:
点亮红灯,指示当前已经进入了主用引导程序;
初始化各个驱动以及模块;
主引导程序完全启动;
主引导程序完全启动后,点亮绿灯,熄灭红灯;
将boot_flag置为0xff,并写入flash中;
启动内核或者执行boot命令。
5.根...
【专利技术属性】
技术研发人员:梁栋,吴闽华,孟庆晓,秦金昆,杨超,戴瑜,
申请(专利权)人:深圳震有科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。