[发明专利]一种智能设备安卓系统对密码键盘系统固件升级的方法在审
| 申请号: | 202110399885.7 | 申请日: | 2021-04-14 |
| 公开(公告)号: | CN113064621A | 公开(公告)日: | 2021-07-02 |
| 发明(设计)人: | 罗勇军 | 申请(专利权)人: | 艾体威尔电子技术(北京)有限公司 |
| 主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/654;G06F13/42;G06F3/02 |
| 代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 席小东 |
| 地址: | 100195 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 智能 设备 系统 密码 键盘 升级 方法 | ||
1.一种智能设备安卓系统对密码键盘系统固件升级的方法,其特征在于,包括以下步骤:
步骤F1,智能设备包括安卓系统和密码键盘系统;在智能设备内部,使安卓系统和密码键盘系统直接通过串口硬件进行连接;
步骤F2,智能设备的安卓系统,采用内部串口通信方式,对密码键盘系统完成固件升级。
2.根据权利要求1所述的智能设备安卓系统对密码键盘系统固件升级的方法,其特征在于,步骤F2具体包括:
预先定义安卓系统和密码键盘系统进行通信的数据包结构;所述数据包结构包括五个字段,分别为:Direction字段、Step字段、Len字段、Content字段和CRC16字段;
所述Direction字段用于标识传输方向,其中,Host表示由安卓系统发往密码键盘系统;Chip表示由密码键盘系统发往安卓系统;
Step字段表示下载交互步骤编号,共分为五个步骤,顺次进行;
Len字段表示数据包长度;
Content字段用于存放数据包的内容;
CRC16字段为数据包的CRC校验字段;
固件升级过程包括Step1-Step5:
Step1,当安卓系统需要对密码键盘系统进行固件升级时,安卓系统持续向密码键盘系统发送开始进行固件升级的指令;
然后,安卓系统判断是否在设定时间内接收到来自于密码键盘系统的数据应答包;如果没有,则下载超时,表明密码键盘系统固件升级失败,结束流程;如果有,则执行Step2;
其中,对于密码键盘系统,当接收到来自于安卓系统的固件升级的指令时,密码键盘系统向安卓系统返回的数据应答包携带以下信息:
Direction字段标识从密码键盘系统发往安卓系统;
Step字段为Step1;
Content字段携带有密码键盘系统的芯片序号C-SN、调试阶段的启动等待时间C-Time、调试阶段参数信息C-Info和密码键盘系统当前所处阶段Stage;其中,密码键盘系统当前所处阶段Stage包括调试阶段和产品阶段;
Step2,安卓系统向密码键盘系统发送获取密码键盘系统相关参数的指令;然后,安卓系统判断是否在设定时间内接收到来自于密码键盘系统的数据应答包;如果没有,则表明升级超时,安卓系统退出下载流程进入启动流程,即:返回Step1;如果有,则执行Step3;
其中,对于密码键盘系统,当接收到来自于安卓系统的获取密码键盘系统相关参数的指令时,密码键盘系统向安卓系统返回的数据应答包携带以下信息:当前所处阶段Stage和设备序号E-SN;其中,如果密码键盘系统当前没有被写入设备序号E-SN,则设备序号E-SN为空;
Step3,安卓系统向密码键盘系统发送芯片参数数据包;然后,安卓系统判断是否在设定时间内接收到来自于密码键盘系统的数据应答包;如果没有,则表明升级超时,安卓系统退出下载流程进入启动流程,即:返回Step1;如果有,则执行Step4;
其中,安卓系统向密码键盘系统发送的芯片参数数据包,包括:需写入的序列号E–SN、本阶段的启动等待延时E–Time、flash加扰配置和RSA公钥号;其中,需写入的序列号E–SN是指:如果Step2接收到的设备序号E-SN为空,则需写入的序列号E–SN为向密码键盘系统写入的用于对密码键盘系统唯一标识的序列号E–SN;如果Step2接收到的设备序号E-SN不为空,则需写入的序列号E–SN为空;
flash加扰配置为:配置对密码键盘系统的flash是否进行加扰操作;
Step4,安卓系统向密码键盘系统发送固件信息数据包;然后,安卓系统判断是否在设定时间内接收到来自于密码键盘系统的数据应答包;如果没有,则表明升级超时,安卓系统退出下载流程进入启动流程,即:返回Step1;如果有,则执行Step5;
其中,安卓系统向密码键盘系统发送的固件信息数据包,包括:
Refresh参数,含义为:本次下载是否刷新Flash扰码,即:用于对密码键盘系统的flash进行配置,如果Step3中flash加扰配置为需要对flash进行加扰操作,则Refresh参数代表需要刷新Flash扰码;否则,不需要刷新Flash扰码;
Erase参数,含义为:需要对密码键盘系统的flash擦除的flash区域;
F-Protect参数,含义为:启动密码键盘系统时,flash区域中的只读锁定的区域;
F-Valid参数,含义为:固件数据包文件头结构有效;其中,固件数据包是指Step5中需要发送给密码键盘系统进行固件升级的固件数据包;
sg-Start参数,含义为:固件数据包的起始位置;
sg-Len参数,含义为:固件数据包的长度;
sg-Ver参数,含义为:升级后的程序文件版本;
sg-Opt参数,含义为:使用的HASH选项;
sg-Hash参数,含义为:固件数据包的的HASH校验值;
sg-Crc32参数,含义为:固件数据包的的CRC32校验值;
密码键盘系统接收到来自于安卓系统的固件信息数据包后,根据固件信息数据包的内容,执行相应操作,包括:
如果Refresh参数为需要刷新Flash扰码,则密码键盘系统刷新Flash扰码;
根据Erase参数,密码键盘系统将对应的flash区域擦除;
根据F-Protect参数,密码键盘系统将对应的flash区域只读锁定;
读取F-Valid参数,然后,根据sg-Start参数、sg-Len参数、sg-Hash参数和sg-Crc32参数,密码键盘系统获得固件数据包的起始位置、长度、HASH校验值和CRC32校验值;
Step5,安卓系统向密码键盘系统发送固件数据包;然后,安卓系统判断是否在设定时间内接收到来自于密码键盘系统的升级成功应答;如果没有,则表明升级超时,安卓系统退出下载流程进入启动流程,即:返回Step1;如果有,则表明密码键盘系统升级成功,结束流程;
其中,安卓系统向密码键盘系统发送的固件数据包,包括:
F-Unlock参数:写入固件数据包时,密码键盘系统的Flash对应的只读寄存器的值,即:操作flash前需解除只读保护;
F-Addr参数:表示固件数据包的起始地址;
F-Data参数:表示固件数据包的具体内容;
其中,在固件数据包超过1K时,安卓系统需分块发送固件数据包,直至分块全部发送完成;
密码键盘系统接收到来自于安卓系统的固件数据包后,根据固件数据包的内容,执行相应操作,包括:
根据F-Unlock参数,密码键盘系统将flash的对应区域解除只读保护;
根据F-Addr参数和F-Data参数,定位到固件数据包的具体内容;然后,根据Step4的sg-Start参数、sg-Len参数、sg-Hash参数和sg-Crc32参数,对固件数据包进行校验,如果校验通过,则将固件数据包写入到Flash对应区域,执行Flash,完成对密码键盘系统的固件升级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于艾体威尔电子技术(北京)有限公司,未经艾体威尔电子技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110399885.7/1.html,转载请声明来源钻瓜专利网。





