一种基于HID协议的蓝牙3.0鼠标的安全升级方法与流程

文档序号:11555714阅读:618来源:国知局
一种基于HID协议的蓝牙3.0鼠标的安全升级方法与流程

[技术领域]

本发明属于计算机外设领域,涉及蓝牙鼠标,具体涉及一种基于人机接口设备(thehumaninterfacedevice,简称为hid)协议的蓝牙3.0鼠标的安全升级方法。

[

背景技术:
]

随着无线通信技术的发展和计算机、平板电脑等电子设备的普及,蓝牙鼠标逐渐得到了广泛应用。目前市面上的蓝牙鼠标主要包括蓝牙3.0鼠标和蓝牙4.0鼠标两种,其中蓝牙3.0鼠标主要是应用于pc机、笔记本电脑及平板设备,占据蓝牙鼠标的绝大部分市场份额。蓝牙鼠标在生产和使用过程中往往会出现以下问题:1、鼠标本身驱动程序存在潜在的未能被发现的bug,造成使用过程中出现鼠标不能工作的情形;2、鼠标在生产过程中前期未检测出的问题,到了客户那里才检测出来,而又不便于返厂;3、鼠标在使用的过程中,由于主机端定期的驱动软件固件升级,导致有时蓝牙鼠标与主机端不兼容,出现蓝牙鼠标工作异常。上述三种情况均为蓝牙鼠标生产和使用过程中会时常出现的问题,但由于蓝牙鼠标本身不支持固件升级功能,所以一直属于蓝牙鼠标厂家和个人用户的痛处。

本发明特针对基于windows/mac操作系统的pc机和平板配合使用的蓝牙3.0鼠标,提出一种基于hid协议的ota(over-the-airtechnology,即空间下载技术,后文均简称为ota)固件升级方法,通过对蓝牙鼠标进行固件升级,从而达到解决上述问题的目的,利于蓝牙鼠标的生产和使用维护,具有较大的实用价值。

[

技术实现要素:
]

鉴于以上技术问题,本发明专利公布一种基于hid协议的蓝牙3.0鼠标的安全升级方法,可以通过蓝牙鼠标自身的ota固件升级,解决蓝牙鼠标自身bug及与主机端固件不兼容的问题,利于蓝牙鼠标的生产和使用维护,具有较大的实用价值。

本发明一种基于hid协议的蓝牙3.0鼠标的安全升级方法为:蓝牙鼠标与主机端通过无线传输,蓝牙鼠标中的蓝牙mcu从主机端读取蓝牙鼠标的状态、命令及固件升级信息,然后将信息写入蓝牙鼠标的固件存储器中,实现蓝牙鼠标的ota固件升级。蓝牙鼠标包括蓝牙mcu和固件存储器两部分,蓝牙mcu用来从主机端读取数据并启动蓝牙鼠标的固件升级;固件存储器内包含引导一区、引导二区、启动一区、启动二区和启动二区备用区。

所述蓝牙鼠标指蓝牙3.0鼠标。

所述主机端指基于windows/mac操作系统的pc机或平板电脑。

所述蓝牙mcu是指蓝牙3.0处理芯片。

所述蓝牙鼠标硬件的固件存储器,主要用于存储应用程序代码、配置数据、软件补丁、配对信息、设备地址存储、文件系统信息等,可以为eeprom,flash等。

其中,引导一区和引导二区,主要分别用于启动一区和启动二区数据的位置引导。

其中,启动一区、启动二区和启动二区备用区构成了固件存储器的启动区,其启动位置由引导区进行配置。启动一区主要用于存储配对主机的信息,在ota固件升级的过程中,不对该区域的数据进行更改;启动二区主要用于存储固件代码,更改该区域的数据会实现代码功能的变更,ota固件升级主要是替换该区域的数据;启动二区备用区为ota固件升级的数据提供写入位置,一旦升级失败不会影响启动二区的原始数据。

本发明蓝牙鼠标ota固件升级的过程中,固件会先判别当前启动二区的位置,然后将需要更新的数据存储到启动二区备用区的位置,待数据更新完毕并检验正确之后,再将启动二区备用区的位置变更为新的启动二区的位置,此配置方法可以在蓝牙鼠标ota固件升级失败的时候,仍然可以启动之前启动二区的数据进行工作,避免蓝牙鼠标彻底失去功能,保证蓝牙鼠标固件升级的安全性。

本发明的有益效果:本发明通过采用hid协议,对蓝牙3.o鼠标进行ota固件升级,能够方便解决现有蓝牙3.0鼠标无法解决的如下问题:鼠标自身潜在的bug、鼠标生产测试中产生的问题及使用过程中与主机端不兼容。本发明的ota固件升级方法安全有效,操作简单,具有通用性,解决了蓝牙鼠标生产厂商和个人用户使用蓝牙鼠标的痛处,具有一定的实用价值。

[附图说明]

图1为本发明实施例中蓝牙鼠标ota固件升级的结构示意图。

图2为本发明实施例中主机端进行ota固件升级的方法流程图。

图3为本发明实施例中蓝牙鼠标终端进行ota固件升级的方法流程图。

[具体实施方式]

为了更清楚的说明本发明实施例的技术方案,下面将结合附图对实施例进一步详细说明,显而易见的,此处描述的最优的实施例仅用于解释本发明,并不用来限定本发明,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

本发明的基本思想是,蓝牙鼠标与主机端无线连接,通过蓝牙鼠标中的mcu调用主机端下发的升级操作指令,从主机端读取所需要的固件文件并通过ota空中传输,更新到蓝牙鼠标硬件的固件存储器中,从而实现蓝牙鼠标的固件安全升级。

图1为本实施例中蓝牙鼠标ota固件升级的结构示意图。参照图1所示,蓝牙鼠标包括蓝牙mcu和固件存储器两部分,蓝牙鼠标通过无线与主机端进行连接,由蓝牙mcu从主机端读取数据并启动蓝牙鼠标的固件升级。实施例中,蓝牙鼠标是指蓝牙3.0鼠标,主机端是指pc机,也可以选定为平板电脑,该蓝牙mcu采用bcm20730蓝牙3.0处理芯片。蓝牙鼠标的固件存储器设置有引导一区,引导二区,启动一区、启动二区和启动二区备用区,引导一区和引导二区分别用于启动一区和启动二区的位置引导。

由于ota固件升级主要是将新的数据替换到启动二区,但考虑到ota固件升级过程中可能出现蓝牙鼠标断电、信号干扰等突发情况,从而导致ota固件升级中断,启动二区数据更新不完全,蓝牙鼠标不能重新工作。所以,本实施例方案中,蓝牙鼠标采用的固件存储器容量比实际所需的数据容量多出一个启动二区的数据大小,即图1中的启动二区备用区,从而可以保证在固件存储器中保留两个区域来用于存储启动二区的数据。ota固件升级过程中,蓝牙mcu从主机端读取数据,将ota数据写入启动二区备用区,ota数据更新完毕,引导二区信息指向启动二区备用区,并将启动二区备用区变更为启动二区,与此同时,将原来的启动二区变更为启动二区备用区,变更引导二区的信息,从而实现蓝牙鼠标的ota固件安全升级。

图2为本发明实施例中主机端进行ota固件升级的方法流程图。大致包括以下步骤。

步骤s1:蓝牙hid固件升级,接收蓝牙鼠标固件升级指令。

步骤s2:设备启动,准备升级。

步骤s3:信息获取,由蓝牙mcu从主机端获取蓝牙鼠标的状态、命令和固件升级信息,获取成功进入下一步骤s4,否则进入下一步骤s8。

步骤s4:提取*.hex文件进行固件升级,若成功进入下一步骤s5,否则进入下一步骤s8。

步骤s5:判断升级操作是否完成100%,若完成进入下一步骤s6,否则进入下一步骤s8。

步骤s6:数据验证,若验证成功进入下一步骤s7,否则进入下一步骤s8。

步骤s7:形成新固件,ota固件升级成功。

步骤s8:升级过程中任一环节失败,都要返回开始,重新升级固件。

图3为本发明实施例中蓝牙鼠标终端进行ota固件升级的方法流程图。大致包括以下步骤。

步骤s20:读取引导一区和引导二区。

步骤s21:根据引导一区所引导的位置,读取启动一区的数据。

步骤s22:根据引导二区所引导的位置,读取启动二区的数据。

步骤s23:mcu运行数据开始工作。

步骤s24:mcu通过无线连接主机端。

步骤s25:mcu等待主机发出ota固件升级指令。

步骤s26:接收到ota指令以后,开始进入ota固件升级模式。mcu接收主机数据传输,并将数据写入固件存储器中的启动二区备用区。如果写入失败,则直接跳转到步骤s25,mcu继续等待主机的ota指令。如果写入成功,则进入下一步。

步骤s27:检验固件存储器中启动二区备用区的数据。如果检验失败,则直接跳转到步骤s25,mcu继续等待主机的ota指令。如果检验成功,则进入下一步。

步骤s28:将固件存储器引导二区信息变更为指向启动二区的备用区。如果变更失败,则直接跳转到步骤s25,mcu继续等待主机的ota指令。如果变更成功,则进入下一步。

步骤s29:重启mcu,完成蓝牙鼠标终端的固件安全升级。

本实施例蓝牙鼠标ota固件升级的过程中,固件会先判别当前启动二区的位置,然后将需要更新的数据存储到启动二区备用区的位置,待数据更新完毕并检验正确之后,再将启动二区备用区的位置变更为新的启动二区的位置,此配置方法可以在蓝牙鼠标ota升级失败的时候,仍然可以启动之前启动二区的数据进行工作,避免蓝牙鼠标彻底失去功能,保证蓝牙鼠标固件升级的安全性。

本发明的有益效果:本发明通过采用hid协议,对蓝牙3.0鼠标进行ota固件升级,能够方便解决现有蓝牙3.0鼠标无法解决的如下问题:鼠标自身潜在的bug、鼠标生产测试中产生的问题及使用过程中与主机端不兼容。本发明的ota固件升级方法安全有效,操作简单,具有通用性,解决了蓝牙鼠标生产厂商和个人用户使用蓝牙鼠标的痛处,具有一定的实用价值。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动得到的部分功能的变化或替换,都应该涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1