说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210405378.4 (22)申请日 2022.04.18 (71)申请人 重庆长安汽车股份有限公司 地址 400020 重庆市江北区建新 东路260号 (72)发明人 胡运 杨涛 王忠才  (74)专利代理 机构 重庆博凯知识产权代理有限 公司 50212 专利代理师 陆瑞 (51)Int.Cl. G06F 21/64(2013.01) G06F 21/52(2013.01) G06F 9/445(2018.01) (54)发明名称 一种基于UDS-FBL的AP P完整性检查方法 (57)摘要 本发明公开了一种基于UDS ‑FBL的APP完整 性检查方法, 通过UDS统一诊断服务发送与刷写 相关的请求报文; 生成并下载bootloa der程序和 应用程序对应的二进制数据, 将其存储至控制器 的ROM空间, 进入Bootloader编程模式, 接收通过 诊断服务下载FALSHDRIVER , 然后通过 FALSHDRIVER擦除应用程序, Bootloader程序将 应用程序有效标志位写为无效, 再把ROM空间中 对应应用程序的区域擦除; 再将新的应用程序二 进制数据写入应用程序对应的ROM空间中; Bootloader程序进行新的应用程序完整 性校验, 校验成功, 则将新的应用程序有效性设置为有 效, 控制器 重启并进 入新的应用程序。 权利要求书1页 说明书3页 附图3页 CN 114741737 A 2022.07.12 CN 114741737 A 1.一种基于UD S‑FBL的APP完整性检查方法, 其特 征在于: 包括: 通过UDS统一诊断服 务发送与刷写相关的请求报文; 生成并下载bootloader程序对应的二进制数据, 将bootloader程序对应的二进制数据 存储至控制器的ROM空间, 该ROM空间为 不可编程区域; 生成并下载应用程序对应的二进制数据, 将应用程序对应的二进制数据储存至控制器 的ROM空间, 该ROM空间是在进行程序刷写时擦除和写入的可编程区域; 所述UDS统一诊断服务支持默认、 扩展和编程模式; Bootloader程序包含UDS诊断协议 层、 数据传输层以及CA N驱动层, 其能够实现完整的诊断协 议栈, 该诊断协 议栈支持默认、 扩 展和编程模式; 应用程序包括诊断协 议栈, 支持默认和扩展模式; 应用程序设置外部编程请 求标志位, 用于执 行切换编程诊断模式的诊断请求命令; 当在应用程序中接收到切换编 程诊断模式的诊断请求命令时, 设置外部编 程请求标志 位, 重启控制器, Bootloader程序对外部编程请求标志位判断, 进而进入Bootloader编程模 式; 进入Bootloader编程模式后, 接收通过诊断服务下载FALSHDRIVER, 然后通过 FALSHDRIVER擦除应用程序,  Bootloader程序 将应用程序有效标志位写为无效, 再把ROM空 间中对应 应用程序的区域擦除; 应用程序对应的二进制数据设置为A 1, 通过CRC计算可以得出C1, 将C1按照A1的存储格 式bin或S19或hex方式进行拼接, 将C1拼接到A1后面, 形成新的应用程序二进制数据A2, 再 将新的应用程序二进制数据写入应用程序对应的ROM空间中; Bootloader程序进行新的应用程序完整性校验, 校验成功, 则将新的应用程序有效性 设置为有效, 控制器重启并进入新的应用程序。 2.根据权利要求1所述的一种基于UDS ‑FBL的APP完整性检查方法, 其特征在于: 控制器 的ROM空间分为Bootloader程序区域和应用程序区域, Bootloader程序区域存储的是 bootloader源码经过编译后的二进制可执行代码, 控制器上电或复位时, 完成自检后软件 会跳转至其区域的入口; 应用程序区域存储的是应用程序源码经过编译后的二进制可执行 代码, bootloader程序可以对此区域的ROM进行擦除与写入, bootloader程序执行后, 会跳 转至此区域入口。 3.根据权利要求1所述的一种基于UDS ‑FBL的APP完整性检查方法, 其特征在于: bootloader程序在收到新的应用程序二进制数据A2后, 将A1和C1分别存储入ROM空间和RAM 空间。 4.根据权利要求1所述的一种基于UDS ‑FBL的APP完整性检查方法, 其特征在于: bootloader程序在收到新的应用程序二进制数据A2后, 判断A2是否为最后4个byte, 如果 是, 则将A2存入RAM空间, 否则将A2存入ROM空间, 对ROM空间内的A2进行CRC计算, 得出新的 CRC值C2, 将C1和C2进行比较, 相同则将新的应用程序有效标志位写为有效。权 利 要 求 书 1/1 页 2 CN 114741737 A 2一种基于UDS ‑FBL的APP完整性检查方 法 技术领域 [0001]本发明涉及数据处理技术领域, 具体涉及一种基于UDS ‑FBL的APP完整性检查方 法。 背景技术 [0002]随着汽车电子技术跟新迭代, 越来越多的汽车电子器件需要基于原有硬件上进行 升级软件; 同时, 由于嵌入式软件的开发无法避免设计测试阶段未能测出的bug。 应用软件 的升级以及问题修复都要求电子器件本身具 备应用软件的能力。 [0003]常用的汽车电子器件软件升级方式是利用统一诊断服务协议IOS ‑14229中的诊断 命令, 通过车载网络连接的诊断仪/刷新仪, 发送一系列的诊断请求, 将新的软件由外部设 备传输至控制器中, 并指导控制器进行软件升级。 但现行方案中, 从应用程序 APP的生成, 到 升级完成到控制单元, 需要经过多次传输保存, 无法保证APP是否被篡改、 丢失部分数据等 情况发生。 发明内容 [0004]针对上述现有技术的不足, 本发明所要解决的技术问题是: 如何提供一种应用程 序刷新时, 降低AP P被篡改或数据丢失风险的基于UD S‑FBL的APP完整性检查方法。 [0005]为了解决上述 技术问题, 本发明采用了如下的技 术方案: 一种基于UD S‑FBL的APP完整性检查方法, 其特 征在于: 包括: 通过UDS统一诊断服 务发送与刷写相关的请求报文; 生成并下载bootloader程序对应的二进制数据, 将bootloader程序对应的二进制 数据存储至控制器的ROM空间, 该ROM空间为 不可编程区域; 生成并下载应用程序对应的二进制数据, 将应用程序对应的二进制数据储存至控 制器的ROM空间, 该ROM空间是在进行程序刷写时擦除和写入的可编程区域; 所述UDS统一诊断服务支持默认、 扩展和编程模式; Bootloader程序包含UDS诊断 协议层、 数据传输层以及CAN驱动层, 其能够实现完整的诊断协议栈, 该诊断协议栈支持默 认、 扩展和编程模式; 应用程序包括诊断协议栈, 支持默认和扩展模式; 应用程序设置外部 编程请求标志位, 用于执 行切换编程诊断模式的诊断请求命令; 当在应用程序中接收到切换编程诊断模式的诊断请求命令时, 设置外部编程请求 标志位, 重启控制器, Bootloader程序对外部编程请求标志位判断, 进而进入Bootloader编 程模式; 进入Bootloader编程模式后, 接收通过诊断服务下载FALSHDRIVER, 然后通过 FALSHDRIVER擦除应用程序,  Bootloader程序 将应用程序有效标志位写为无效, 再把ROM空 间中对应 应用程序的区域擦除; 应用程序 对应的二进制数据设置为A1, 通过C RC计算可以得出C1, 将C 1按照A1的存 储格式bin或S19或hex方式进行拼接, 将C1拼接到A1后面, 形成新的应用程序二进制数据说 明 书 1/3 页 3 CN 114741737 A 3

.PDF文档 专利 一种基于UDS-FBL的APP完整性检查方法

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于UDS-FBL的APP完整性检查方法 第 1 页 专利 一种基于UDS-FBL的APP完整性检查方法 第 2 页 专利 一种基于UDS-FBL的APP完整性检查方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-17 23:59:32上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。