[发明专利]基于片上Flash嵌入式系统的远程更新方法有效
申请号: | 201310749627.2 | 申请日: | 2013-12-31 |
公开(公告)号: | CN103713929B | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 冷先进;甘智峰;丁天;邵文简;赖页 | 申请(专利权)人: | 南京新奕天科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 戴朝荣 |
地址: | 210009 江苏省南京市鼓楼*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 flash 嵌入式 系统 远程 更新 方法 | ||
1.一种基于片上Flash嵌入式系统的远程更新方法,其特征在于,步骤如下:
步骤1:本地监控端或PC机发出更新命令,发出更新命令后本地监控端或PC机等待远程终端的应答,如果远程终端没有应答就每间隔10秒重新发送所述的更新命令,如果本地监控端或PC机发送所述的更新命令的次数达到五次后远程终端仍然没有应答,本地监控端或PC机向自身的处理器反馈回失败信号;
步骤2:如果远程终端对本地监控端或PC机发出的更新命令做出了对应的应答,也即表示远程终端接收到了本地监控端或PC机发出的更新命令,这样在本地监控端或PC机接受到远程终端发送来的应答信号后,本地监控端或PC机对远程终端发送更新数据包的字节数量值信号,发送出更新数据包的字节数量值信号后等待远程终端的应答,如果远程终端没有应答就每间隔10秒重新发送所述的更新数据包的字节数量值信号,如果本地监控端或PC机发送所述的更新数据包的字节数量值信号的次数达到五次后远程终端仍然没有应答,本地监控端或PC机向自身的处理器反馈回失败信号;
步骤3:如果远程终端接收到了本地监控端或PC机发出的更新数据包的字节数量值信号,远程终端的嵌入式处理器对远程终端的内存中存储更新数据包长度值的可变存储单元进行赋值,这样远程终端的嵌入式处理器结合更新数据包长度值推导出需要接收分段更新包的次数,并将该需要接收分段更新包的次数值发送到远程终端的内存里用来存储分段更新包的次数值的可变存储单元中,然后远程终端对本地监控端或PC机发出应答信号;步骤4:本地监控端或PC机接收到远程终端发送来的应答信号后,就对远程终端发送第一个更新包,发送出第一个更新包后等待远程终端的应答,如果远程终端没有应答就每间隔10秒重新发送所述的第一个更新包,如果本地监控端或PC机发送所述的第一个更新包的次数达到五次后远程终端仍然没有应答,本地监控端或PC机向自身的处理器反馈回失败信号;
步骤5:如果远程终端接收到了第一个更新包,然后远程终端的处理器把接受到的更新包的个数存储到内存里用于存储更新包个数的可变存储单元中;
步骤6:接着远程终端的处理器启动比较器来将存储更新包个数同所述的分段更新包的次数值进行比较,如果更新包个数等于分段更新包的次数值,远程终端就对本地监控端或PC机发送接收成功的信号并且远程终端的处理器将内存中的存储更新标志的可变存储单元的值设定为1,然后进入步骤8,如果更新包个数小于分段更新包的次数值,远程终端就对本地监控端或PC机发送请求下一个更新包的应答命令,如果本地监控端或PC机接收到了请求下一个更新包的应答命令,本地监控端或PC机就发送下一个更新包,如果本地监控端或PC机没有接收到请求下一个更新包的应答命令,本地监控端或PC机就进入等待请求下一个更新包的应答命令的状态;
步骤7:如果远程终端接收到了本地监控端或PC机发来的下一个更新包,然后远程终端的处理器操纵加法器以加一的方式把内存里用于存储更新包个数的可变存储单元中的值加一,然后返回步骤6;
步骤8:上述的七个步骤就构成了基于片上Flash嵌入式系统的远程通信方法,然后在需要进行远程终端的远程更新时,远程终端执行远程更新操作。
2.根据权利要求1所述的基于片上Flash嵌入式系统的远程更新方法,其特征在于所述的步骤8中的远程终端执行远程更新操作的步骤如下:
步骤1:在步骤8中的远程终端执行远程更新操作前,对应的需要被远程更新的组件保留在远程终端的第一扇区区域内,并且在远程终端中的Flash芯片上预留可变存储单元区域来存储代码更新标志信号值和程序跳转标志信号值,在此条件下上电启动远程终端,首先初始化远程终端的所有硬件,确保远程终端的所有硬件正常运转,然后远程终端的处理器开启中断机构,该中断机构包括定时器中断机构、看门狗中断机构、网口中断机构以及远程终端上的其它的中断机构,这样远程终端的处理器就能够凭借中断机构的处理流程来处理对应的中断事务;
步骤2:远程终端的处理器对需要初始化的可变存储单元的值进行初始化,其中包括将存储程序跳转标志信号值的可变存储单元的值设定为不可用;
步骤3:远程终端的处理器检索存储代码更新标志信号值的可变存储单元的值是否为可用状态,如果存储代码更新标志信号值得可变存储单元的值为不可用状态时,直接转入步骤5去执行,如果存储代码更新标志信号值的可变存储单元的值为可用状态,就表示已经有新的更新数据包已经进入了远程终端的用于更新数据包存储的第三扇区,并且该新的更新数据包正等待拷贝到远程终端设定的第二扇区中,这样远程中断处理器将该新的更新数据包拷贝到远程终端设定的第二扇区中,远程终端的处理器把存储跳转第二扇区标志信号的可变存储单元的值擦写为可用状态并把存储代码更新标志信号值的可变存储单元的值设定为不可用状态,转入步骤4去执行;
步骤4:远程终端的处理器进入死循环模式,等待远程终端的看门狗复位,然后远程终端重启,返回步骤1执行;
步骤5:远程终端的处理器把存储定时器等待置跳转标志信号值的可变存储单元的值置为可用状态,此时定时器中断处理机构中的对应的等待置跳转标志信号值的组件开始启动,该等待置跳转标志信号值的组件会在等待的5~10秒的时间范围内向客户发送请求命令,请求等待置跳转标志信号值的组件是否返回第一扇区进行工作,如果等待5-10秒时间后客户发送返回第一扇区命令,这时远程终端的处理器把存储定时器等待置跳转标志信号值的可变存储单元的值置为不可用状态,并且存储定时器等待置跳转标志信号值的可变存储单元的值将在后续执行中不再改动,而第一扇区的组件继续在第一扇区上运行,如果等待5-10秒时间后客户没有反馈信号,则定时器中断处理机构执行步骤7;
步骤6:远程终端的处理器循环等待客户下发命令,当远程终端的处理器接收到组件更新命令时,就按照所述的基于片上Flash嵌入式系统的远程通信方法接收更新数据包,并存储在第三扇区区域中,远程终端的处理器还把存储代码更新标志信号值的可变存储单元的值擦写为可用状态,这样就重启远程终端,返回步骤1中执行,如果远程终端处理器没接收到组件更新命令,远程终端的处理器就循环执行其他组件;
步骤7:远程终端的处理器检测存储跳转第二扇区标志信号值的可变存储单元的值是否为可用状态,如果为不可用状态,则返回步骤6去执行,如果为可用状态,则远程终端的处理器进入第二扇区执行第二扇区的组件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京新奕天科技有限公司,未经南京新奕天科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310749627.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于预脱硅加热的换热装置
- 下一篇:一种多介质管壳式换热器