网站首页 > 技术教程 正文
初次进入汽车行业的时候对uds还比较陌生,以前写代码一直也没有写过bootloader程序,在茫茫网络的海洋中去查找资料,总是有点没有头绪,其实主要原因是不懂服务,不懂流程。有些前提工作还是非常次要的,那么现在我就来给大家讲讲bootloader
根据ISO 14229协议的诊断服务及ISO 15765-3的通信建议, 刷新通信主要分为3个部分: 刷新前准备工作, 刷新过程, 刷新后的处理过程。 刷新前准备工作和刷新后的处理过程在application软件中,而刷新过程在bootloader中。 刷新的主导过程由上位机根据ISO 14229及ISO 15765标准中规定的流程来进行, 相关通信服务在下文中详细说明。
1.application中刷新前准备
刷新前的准备工作主要用于刷新的各种数据读取和验证, 安全检查工作和各种条件使能工作。 主要过程为, 用读取诊断信息服务0x22读取当前软件版本和主要信息; 用开始诊断会话服务0x10切换当前诊断模式到扩展模式; 用故障码设置服务0x85禁止设置DTC以便于刷新; 用通信控制服务0x28禁止当前网络管理及通信信息, 以便于刷新可以获得最大的流量, 以及阻止其他网络信号的干扰, 保证刷新的顺利进行。 之后用软件控制服务进行刷新前的条件检查, 如电源电压、 数据和软件稳定等检查。
2. boot loader软件
bootloader软件有两大功能: 启动加载跳转功能和刷新功能。
1)启动加载程序
一般启动加载安排在bootloader软件的死循环前面, 用于上电自启, 并检查应用软件是否正确与完备。 如果应用软件效验成功, 则跳入应用软件区域; 否则留在bootloader中, 等待软件刷新
2)bootloader是一个完整的软件, 它用CAN进行刷新, 底层驱动包括CAN驱动的接收和发送部分, 并含有传输层数据处理部分
用开始诊断会话服务切换到刷新模式, 也即从appli-cation软件跳入bootloader软件 ; 用安全加密及算法服务来进行控制器的解密; 用软件控制服务对待更新软件进行存储区域擦除, 之后进入刷新的数据传递过程。 数据传递采用块、 包的形式, 对数据进行整体打包发送, 当本包完成时继续进行下一个包的传递。 主要用请求下载服务, 服务中含有待更新软件的首地址和传输字节数; 传递数据服务含有控制器和诊断设备之间的数据传递; 请求传递数据退出服务, 本服务用于对每块进行效验和的效验, 检查通过后才可以进行下一个数据包的传递。 这3个服务不断地循环进行, 把各个数据块给刷入。 全部数据刷入后, 用软件控制服务对所有的软件区进行CRC_16效验。
3. 最简单直接的方法为控制器复位。 对于非动力方面的控制器, 在不需要进行写数据如VIN等信息的时候, 可以直接复位, 并建议钥匙断电并重新打到IGN ON , 恢复CAN网络上所有控制器模块的网络管理信息和数据通信功能, 及各控制器故障码设置功能。
如果你还有什么疑问,欢迎留言评论
猜你喜欢
- 2024-10-23 基于S12 MagniV系列的LIN Bootloader设计
- 2024-10-23 怎么使用USBasp给arduino烧写bootloader?
- 2024-10-23 腾讯 ROG 游戏手机 6 / Pro 公开内核源码并支持解锁 bootloader
- 2024-10-23 Bootloader引导程序uboot(bootice 引导)
- 2024-10-23 基于CAN总线的Bootloader设计与实现
- 2024-10-23 Rust语言开发操作系统-第二章(最小化内核)
- 2024-10-23 基于RT-Thread完整版搭建的极简Bootloader
- 2024-10-23 海信阅读手机A9现可解锁bootloader并获取root权限
- 2024-10-23 三星警告Galaxy Z Fold 3解锁bootloader将失去相机功能
- 2024-10-23 Realme全机型刷入TWRP_Recvery面具Root刷机包下载最简单教程
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)