本发明涉及一种智能设备更新方法和系统,属于计算机领域。
背景技术:
随着各种智能设备和移动存储设备的爆炸式增长,对各种智能设备的批量生产效率提出了更高的要求。当智能设备的量产模块内的固件存在功能更新或者bug修复时,传统的做法一般是需要将量产用全新的板进行更换,或者将旧版拆卸进行人工更新后再进行生产,不能实现不断电更新,缺乏灵活性,也大大降低了生产效率,不符合现代社会的实际需要。
技术实现要素:
为了解决上述问题,本发明通过提供一种智能设备更新方法和系统。
本发明采用的技术方案一方面为一种智能设备更新方法,应用于有多个子设备的智能设备,包括枚举usb设备以获取设备路径和/或盘符:读取主设备的序列号并判断主设备是否需要更新,所述主设备用于连接pc端以获取更新代码;依次将更新代码烧录到子设备的存储器中;重启智能设备以完成更新。
优选地,还包括,基于预设的存储路径读取主设备的序列号,存在序列号则基于序列号判断主设备是否需要更新,如果不存在则获取pc端的系统时间并按照yymmddhhmmss的格式生成序列号并写入存储器,其中,y为年份,m为月份,d为日,h为小时,m为分钟,s为秒。
优选地,所述更新代码包括子设备序列号和固件信息,所述子设备序列号的格式为yymmddhhmmssn,其中,yymmddhhmmss为主设备的序列号,n为子设备的序号。
优选地,所述存储器为e2prom。
优选地,所述主设备还用于基于智能设备重启后的运行情况反馈更新完成信号。
本发明采用的技术方案另一方面为一种智能设备更新系统,用于上述方法,包括:pc端,用于枚举usb设备以获取设备路径和/或盘符,还用于读取主设备的序列号并判断主设备是否需要更新;主设备,用于连接pc端以获取更新代码,还用于依次将更新代码烧录到子设备的存储器中,重启智能设备以完成更新。
优选地,所述pc端,还用于基于预设的存储路径读取主设备的序列号,存在序列号则基于序列号判断主设备是否需要更新,如果不存在则获取pc端的系统时间并按照yymmddhhmmss的格式生成序列号并写入存储器,其中,y为年份,m为月份,d为日,h为小时,m为分钟,s为秒。
优选地,所述更新代码包括子设备序列号和固件信息,所述子设备序列号的格式为yymmddhhmmssn,其中,yymmddhhmmss为主设备的序列号,n为子设备的序号。
优选地,所述存储器为e2prom。
优选地,所述主设备还用于基于智能设备重启后的运行情况反馈更新完成信号。
本发明的有益效果为通过序列号判断设备更新状态,将更新代码烧录到子设备的e2prom,然后重启以验证更新状况,能快速、不断电的完成智能设备的更新,有利于工业的应用。
附图说明
图1所示为基于本发明实施例的一种智能设备更新方法示意图。
具体实施方式
以下结合实施例对本发明进行说明。
基于发明的实施例1,如图1所示一种智能设备更新方法,应用于有多个子设备的智能设备,包括枚举usb设备以获取设备路径和/或盘符:读取主设备的序列号并判断主设备是否需要更新,所述主设备用于连接pc端以获取更新代码;依次将更新代码烧录到子设备的存储器中;重启智能设备以完成更新。
智能设备上电,枚举usb设备的设备路径和/或盘符,根据预设的读取规则和路径,从主设备(主设备为智能设备的主要控制器,例如u盘的主控芯片,用于与外部的装置进行数据的交互,控制内部的各个子模块)读取序列号;基于序列号的数字结合更新规则判断是否需要更新,如果判断结果为需要更新,则借由主设备实现对子设备的声光电、读写等操作,将更新代码烧录到子设备的存储器中;然后重启设备,当设备重启完成时,读取其对应的序列号以验证是否完成更新。
基于实施例的方法,还包括,基于预设的存储路径读取主设备的序列号,存在序列号则基于序列号判断主设备是否需要更新,如果不存在则获取pc端的系统时间并按照yymmddhhmmss的格式生成序列号并写入存储器,其中,y为年份,m为月份,d为日,h为小时,m为分钟,s为秒。
所述更新代码包括子设备序列号和固件信息,所述子设备序列号的格式为yymmddhhmmssn,其中,yymmddhhmmss为主设备的序列号,n为子设备的序号。
依次从子设备1开始到子设备8,自动在主设备序列号的基础上增加n(0~7),用以表示序列号的连续性。
所述存储器为e2prom。
eeprom(electricallyerasableprogrammableread-onlymemory),电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。eeprom可以在电脑上或专用设备上擦除已有信息,重新编程。
作为存储设备运行的代码的存储器,相对rom、prom等更容易更新和使用,有助于提高修改代码的能力,适应未来的趋势。
所述主设备还用于基于智能设备重启后的运行情况反馈更新完成信号。
基于本发明的实施例2,一种智能设备更新系统,用于上述方法,包括:pc端,用于枚举usb设备以获取设备路径和/或盘符,还用于读取主设备的序列号并判断主设备是否需要更新;主设备,用于连接pc端以获取更新代码,还用于依次将更新代码烧录到子设备的存储器中,重启智能设备以完成更新。
所述pc端,还用于基于预设的存储路径读取主设备的序列号,存在序列号则基于序列号判断主设备是否需要更新,如果不存在则获取pc端的系统时间并按照yymmddhhmmss的格式生成序列号并写入存储器,其中,y为年份,m为月份,d为日,h为小时,m为分钟,s为秒。
所述更新代码包括子设备序列号和固件信息,所述子设备序列号的格式为yymmddhhmmssn,其中,yymmddhhmmss为主设备的序列号,n为子设备的序号。
所述存储器为e2prom。
所述主设备还用于基于智能设备重启后的运行情况反馈更新完成信号。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。