发明名称 一种基于无外扩存储器单片机的外设设备程序升级方法
摘要 本次发明提供一种基于自身不带外扩存储器的单片机外设设备程序远程升级的方法。一种主从设备通讯系统,包括一个主机设备和多个外设设备,其中主机设备与各个外设设备之间通过物理方式(如RS‑232/ RS‑485/CAN总线等)建立稳定的通讯连接,并且外设设备的程序设计采取BootLoader程序引导主程序启动的方式,借助主机的存储空间,利用外设设备与主机之间的通讯通道,双方根据事先约定的协议进行通信,由主机进行识别并加以控制,实现外设设备程序的远程升级。采用本发明的优点是无需对主机硬件和外设硬件做任何改动,整个机制全部通过软件和协议上的交互来完成,通用性好,可扩展性强。
申请公布号 CN102298526B 申请公布日期 2017.02.08
申请号 CN201110152418.0 申请日期 2011.06.08
申请人 厦门雅迅网络股份有限公司 发明人 姚亮;黄运峰;叶德焰;陈挺;蔡蓝图
分类号 G06F9/445(2006.01)I 主分类号 G06F9/445(2006.01)I
代理机构 泉州市诚得知识产权代理事务所(普通合伙) 35209 代理人 方惠春
主权项 一种基于无外扩存储器单片机的外设设备程序升级方法,包括一个主机设备和多个外设设备,其特征在于,其中主机设备与各个外设设备之间通过物理总线建立稳定的通讯连接,并且外设设备的程序设计均是采取BootLoader程序引导主程序启动的方式,该BootLoader程序通过端口向物理总线输出告知信号来指示系统的运行状态,并等待应答信号的输入来判断是否需要升级主程序,其步骤包括:步骤1:主机设备通过有效方式获取到某个外设设备的最新程序文件;步骤2:主机设备对该最新程序文件的有效性进行判定,若该最新程序文件有效,则执行步骤3;否则,返回执行步骤1;步骤3:主机设备将该最新程序文件存储至该主机设备的本机存储器内,然后通过总线控制或者通知该外设设备重启;步骤4:外设设备重启后,首先运行BootLoader程序,并发送指定协议的告知信号告知主机设备其BootLoader程序已启动;步骤5:主机设备收到该外设设备的告知信号后,判断是否需要对其程序进行升级,如果需要,则通过总线向外设设备的BootLoader程序发出相应的应答信号;如果不需要,不予应答;步骤6:外设设备如果在规定时间内收到主机设备的应答信号,则转入程序升级流程;否则,外设设备如果在规定时间内没有收到主机设备的应答信号,完成主程序加载过程,转入主程序开始正常运行;步骤7:外设设备程序升级流程中,主机设备按照约定的流控方式,通过物理总线将该外设设备的最新程序文件传输给该外设设备,该外设设备接收后将其写入该外设设备的本地存储器,覆盖原程序,实现最新程序文件的远程升级;步骤8:外设设备程序升级完毕之后,系统重新启动,外设设备再次首先运行BootLoader程序,发送指定协议的告知信号告知主机设备;步骤9:主机设备收到该外设设备的告知信号后,判断当前是否仍处于外设设备程序升级的过程中,若是,则不予应答,执行步骤10;否则,结束本次升级流程,返回步骤3;步骤10:外设设备的BootLoader程序在规定时间内没有收到主机设备的应答信号,自动转入主程序开始正常运行,并向主机设备发送连接注册请求,执行步骤11;步骤11:主机设备在规定时间内收到外设设备的连接注册请求,则判定外设设备的程序已经成功升级完毕并正常运行,结束本次升级流程;否则,判定外设设备的程序升级失败,返回步骤3。
地址 361000 福建省厦门市软件园二期观日路46号