[发明专利]一种星载嵌入式软件容错启动系统及方法有效
申请号: | 201810598181.0 | 申请日: | 2018-06-12 |
公开(公告)号: | CN108446189B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 王钊;李勇;崔维鑫;雒莎;由川;于远航 | 申请(专利权)人: | 中国科学院上海技术物理研究所 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 上海沪慧律师事务所 31311 | 代理人: | 郭英 |
地址: | 200083 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 软件 容错 启动 系统 方法 | ||
1.一种星载嵌入式软件容错启动系统的系统启动方法,其特征在于方法步骤如下:
步骤1)在地面上烧录系统的程序至EEPROM,将BOOT1区域、BOOT2区域和主程序区域,烧录至EEPROM的三个不同区域;将各个程序的EDAC校验码烧录至EEPROM的末尾20%区域;
步骤2)系统上电完成复位后,CPU从EEPROM中1#BOOT1区域启动,启动过程中,CPU读取32位数据同时读取对应的8位EDAC校验码,进行EDAC校验;
步骤3)启动过程中,当每32位中发生1位翻转时,CPU对翻转位进行纠正,系统正常启动;当每32位中发生多位翻转时,程序进入不可纠正错误陷阱,并将翻转位的地址存储于CPU的%l1寄存器中;在该陷阱中,根据翻转位的地址FAILAR,读取2#BOOT1区域和3#BOOT1区域对应地址的数据,进行三取二处理;
步骤4)1#BOOT1区域存放地址为0~A,2#BOOT1区域存放地址为B1~B1+A,3#BOOT1区域存放地址为B2~B2+A;在步骤3)中,当程序进入不可纠正错误陷阱时,按照如下方法读取数据:读取FAILAR地址处数据记为X1;读取FAILAR+B1处地址处数据记为X2;读取FAILAR+B2处地址处数据记为X3;三取二时,按照公式Y=(X1X2)|(X1X2)|(X1X2)进行计算,得到纠正后的数据Y;
步骤5)由于CPU为32位,而EEPROM为8位,对EEPROM的读写需设定为8位模式,得到纠正后的数据Y为32位,需按字节写入1#BOOT1区域发生翻转的地址,写入时,先取Y的0~7位写入FAILAR+3地址,再取Y的8~15位写入FAILAR+2地址,再取Y的16~23位写入FAILAR+1地址,最后取Y的24~31位写入FAILAR地址,即完成对1#BOOT1区域的修复;
步骤6)在BOOT1启动段,程序完成对CPU和SDRAM的初始化,以及对三段BOOT2区域校验和的计算,并与EEPROM中烧录的校验和对比,加载三段BOOT2代码区中校验和正确的代码至SDRAM中,跳转至SDRAM中执行BOOT2代码;
步骤7)在BOOT2启动段,程序对三段主程序区域校验和的计算,并与EEPROM中烧录的校验和对比,加载三段主程序区中校验和正确的代码至SDRAM中,跳转至SDRAM中执行主程序代码;若BOOT2或主程序的三份代码校验和均不正确则启动代码修复程序,依据三取二原则对EEPROM中的校验和异常的代码区进行修复,修复完成后等待看门狗重新复位系统;
步骤8)在SDRAM中,主程序的初始阶段,对三份BOOT1区域进行“三取二”判断并将正确数据回写至1#BOOT1区域,以完成对步骤3)中描述的每32位中发生1位翻转情况的完善。
2.一种实现如权利要求1所述的星载嵌入式软件容错启动系统的系统启动方法的星载嵌入式软件容错启动系统,包括CPU、EEPROM、SDRAM、看门狗电路模块和时钟电路模块,其特征在于:
所述的CPU为32位SPARC V8架构,型号为爱特梅尔公司的AT697F,具有EDAC功能;
所述的EEPROM型号为3D-PLUS公司的3DEE8M08VS8190MSA00T,容量为1M×8bit,最高时钟频率4MHz;
所述的SDRAM型号为3D-PLUS公司的3DSD1G32VS2141SSA75T,容量为32M×32bit,最高时钟频率133MHz;
所述的看门狗电路型号为INTERSIL公司的ISL-705ARHVF,其最长喂狗时间为1.6秒,产生复位电平为低电平,复位信号脉冲宽度200毫秒;
所述的时钟电路型号为MMDC公司的WO33AR-20MHz,频率为20MHz,电压为3.3V;
系统程序存储于EEPROM,程序运行于SDRAM,时钟电路为CPU提供时钟信号,看门狗电路为CPU提供复位信号;BOOT1、BOOT2和主程序存储于EEPROM的三个不同区域,各段程序的EDAC校验码烧录至EEPROM的末尾20%区域;CPU将32位数据线和8位EDAC校验码分为两组,数据线低16位放在一片SDRAM中,数据线高16位和EDAC校验码放在另一片SDRAM中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院上海技术物理研究所,未经中国科学院上海技术物理研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810598181.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据备份方法及移动终端
- 下一篇:接口测试方法及装置