[发明专利]一种应用于星载软件在线更新的BootLoader设计方法有效
申请号: | 201810262213.X | 申请日: | 2018-03-28 |
公开(公告)号: | CN108415718B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 于永军;李剑锋;查杨生;马文力;张翔 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 张祥 |
地址: | 210094 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种应用于星载软件在线更新的BootLoader设计方法,基于Cortex‑M4的微处理器,将片上FLASH分为BootLoader程序区、标志位区、用户代码区,利用外部扩展的NOR FLASH和SRAM(Staitic Random‑Access Memory,j静态随机存取存储器)来接收和存储地面站传输待更新的程序文件,并根据地面站的指令判断是否进行更新。本发明将BootLoader与IAP(In Application Programming,在应用编程)结合,通过地面站发送更新数据包给通信机,然后发给星载计算机完成星载软件的在线更新或分时更新,同时提供星载软件的回溯操作,从而大大提高了星载软件的可靠性、健壮性和后期软件的可维护性。 | ||
搜索关键词: | 一种 应用于 软件 在线 更新 bootloader 设计 方法 | ||
【主权项】:
1.一种应用于星载软件在线更新的BootLoader设计方法,其特征在于,包括步骤:步骤1:根据星载计算机上STM32F407ZGT6处理器,用片上FLASH来存储程序并运行程序,将其分为三个区,即BootLoader区、标志位区、用户代码区,同时对于外部NOR FLASH存储器分为三个区,即存储用户代码1区、存储用户代码2区、剩余区,然后启动BootLoader程序;步骤2:在BootLoader程序中初始化串口、I2C总线、外部SRAM、外部NOR FLASH、片上FLASH、定时器,完成初始化工作后,判断标志位区的更新标志是否接收到远程更新指令;步骤3:若通信机模块接收到更新指令,发送应答信息给地面站,接着判断该指令是开始新一轮的更新还是承接前一次的继续更新,如果是新一轮的更新则向地面站请求更新数据包,数据包号为1,如果是承接上一次的继续更新,则向地面站请求数据包,数据包号为上一次最后接收到的数据包号增加1;步骤4:向地面站请求更新数据包,数据包分为两种,一种为更新程序的数据包,另外一种为更新终止数据包,在5s内若请求到数据包则判断数据包类型,如果是更新程序的数据包,则继续执行下面步骤,如果是终止数据包,则终止此次更新,将收到的所有数据写入到NOR FLASH存储区,记录此时各地址信息,并发送终止应答给地面站,最后跳转至FLASH用户代码区运行,若在5s内没有请求到如何更新数据包,则重新请求,限制请求3次,若一直没有请求到更新数据包,则发送失败应答给地面站,并退出本次更新,跳转至用户代码区运行;步骤5:判断是否请求完所有的更新数据包,若没有则执行步骤4,若接收到了所有的更新数据包,则将所有数据存入对应NOR FLASH用户代码存储区,同时擦除FLASH用户代码区并写入最新的程序数据;步骤6:发送更新完成应答给地面站,并跳转至FLASH用户代码区,运行最新的用户代码,至此更新过程完成;步骤7:如果用户程序要回溯到上一个版本,不用地面站再次上传上一个版本的更新数据包,因为在外部NOR FLASH的用户代码区有其备份,可直接存入FLASH用户代码区,从而就实现了代码的回溯。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810262213.X/,转载请声明来源钻瓜专利网。