[发明专利]一种高可靠性加载运行嵌入式软件的方法有效
| 申请号: | 201911170195.3 | 申请日: | 2019-11-26 |
| 公开(公告)号: | CN111061520B | 公开(公告)日: | 2022-12-09 |
| 发明(设计)人: | 李光;王硕;龚志勇;张俊凯;胡佳 | 申请(专利权)人: | 中国电子科技集团公司第五十四研究所 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/10;G06F8/74 |
| 代理公司: | 河北东尚律师事务所 13124 | 代理人: | 王文庆 |
| 地址: | 050081 河北省石家庄市中山西路*** | 国省代码: | 河北;13 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 可靠性 加载 运行 嵌入式 软件 方法 | ||
1.一种高可靠性加载运行嵌入式软件的方法,其特征在于,包括原始嵌入式软件预处理、软件数据和高可靠性信息冗余写入NAND FLASH、高可靠性信息读出和纠错以及软件数据读出和纠错的步骤;
所述原始嵌入式软件预处理,具体包括以下步骤:
(101)对原始嵌入式软件的字节数据进行补零和分段;
(102)生成各段数据的纠错码,并将纠错码添加到对应数据段的末尾;
(103)将添加了纠错码的各段数据连接成整体的软件数据;
所述软件数据和高可靠性信息冗余写入NAND FLASH,具体包括以下步骤:
(201)生成高可靠性信息,所述高可靠性信息包括嵌入式软件的加载参数信息;
(202)选择NAND FLASH的N个块,从每个块内各选择M个页,将所述高可靠性信息分别存入这N*M个页内,N≥1,M≥1,N*M≥3;同时,将软件数据重复P次写入NAND FLASH的其他多个块内,P≥3;
所述高可靠性信息读出和纠错,具体包括以下步骤:
(301)从NAND FLASH中取出N*M份高可靠性信息;
(302)若M≥3,则将位于同一块内的高可靠性信息逐位进行大数判决译码,得到N份译码后高可靠性信息,然后执行步骤(303);否则执行步骤(304);
(303)若N≥3,则将N份译码后高可靠性信息再次逐位进行大数判决译码,得到最终的译码后高可靠性信息;否则,随机选取一份译码后高可靠性信息作为最终的译码后高可靠性信息;
(304)对N*M份高可靠性信息逐位进行大数判决译码,得到最终的译码后高可靠性信息;
所述软件数据读出和纠错,具体包括以下步骤:
(401)读取P份软件数据,逐份对软件数据进行纠错,若纠错成功,则以该份软件数据作为正确数据,执行步骤(403);若所有软件数据均纠错失败,则执行步骤(402);
(402)对P份软件数据逐位进行大数判决译码,得到译码后的软件数据,以该软件数据作为正确数据,执行步骤(403);
(403)删除正确数据中的纠错码以及末尾的补零,得到原始的软件数据,根据高可靠性信息中的加载参数信息加载软件。
2.一种高可靠性加载运行嵌入式软件的方法,其特征在于,包括原始嵌入式软件预处理、软件数据和高可靠性信息冗余写入NAND FLASH、高可靠性信息读出和纠错以及软件数据读出和纠错的步骤;
所述原始嵌入式软件预处理,具体包括以下步骤:
(101)对原始嵌入式软件的字节数据进行补零和分段;
(102)生成各段数据的纠错码,并将纠错码添加到对应数据段的末尾;
(103)将添加了纠错码的各段数据连接成整体的软件数据;
所述软件数据和高可靠性信息冗余写入NAND FLASH,具体包括以下步骤:
(201)对所述软件数据进行哈希操作,得到软件数据的哈希数据;
(202)生成高可靠性信息,所述高可靠性信息包括所述哈希数据以及嵌入式软件的加载参数信息;
(203)选择NAND FLASH的N个块,从每个块内各选择M个页,将所述高可靠性信息分别存入这N*M个页内,N≥1,M≥1,N*M≥3;同时,将软件数据重复P次写入NAND FLASH的其他多个块内,P≥3;
所述高可靠性信息读出和纠错,具体包括以下步骤:
(301)从NAND FLASH中取出N*M份高可靠性信息;
(302)若M≥3,则将位于同一块内的高可靠性信息逐位进行大数判决译码,得到N份译码后高可靠性信息,然后执行步骤(303);否则执行步骤(304);
(303)若N≥3,则将N份译码后高可靠性信息再次逐位进行大数判决译码,得到最终的译码后高可靠性信息;否则,随机选取一份译码后高可靠性信息作为最终的译码后高可靠性信息;
(304)对N*M份高可靠性信息逐位进行大数判决译码,得到最终的译码后高可靠性信息;
所述软件数据读出和纠错,具体包括以下步骤:
(401)读取P份软件数据,逐份验证软件数据的哈希数据,若哈希数据相符,则以该份软件数据作为正确数据,执行步骤(404);若所有软件数据均验证失败,则执行步骤(402);
(402)逐份对软件数据进行纠错,并在纠错后验证其哈希数据,若哈希数据相符,则以该份软件数据作为正确数据,执行步骤(404);若所有软件数据纠错后均验证失败,则执行步骤(403);
(403)对P份软件数据逐位进行大数判决译码,得到译码后的软件数据,并验证译码后的软件数据的哈希数据,若验证通过,则以该译码后的软件数据作为正确数据,执行步骤(404),否则提示软件加载失败;
(404)删除正确数据中的纠错码以及末尾的补零,得到原始的软件数据,根据高可靠性信息中的加载参数信息加载软件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第五十四研究所,未经中国电子科技集团公司第五十四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911170195.3/1.html,转载请声明来源钻瓜专利网。





