- 编程事件开始于0x10 的编程会话请求。当服务器接收到请求时,服务器应该分配需求的编程资源。
- 编程事件需要安全权限的,对于排放相关的和安全相关的0x27服务应该是必须的。有些系统是不需要0x27服务。具体0x27服务解锁方法由ISO 14229决定。
- 下载数据之前主机厂会先写安全码写入服务器中。安全码定义了修改服务器内存。一旦采用这个选项,应该将安全码写入安全信息中。
- 服务器中的永久内存没有存储内存擦除历程,则应该下载内存存储擦除例程。下载程序应该遵循RequestDownload (…), TransferData, and RequestTransferExit的顺序。
- 主机厂通过0x31服务检查内存存储擦除例程是否下载成功。可选择的方式有:RequestTransferExit的肯定响应和否定响应的代码。
- 当存储技术需要为了允许应用软件/数据下载时,可以通过0x31执行擦除指令。
- 服务器在永久内存中没有内存编程例程的情况下,则应该下载内存编程例程。下载应该遵循
RequestDownload (0x34), TransferData (0x36), and RequestTransferExit (0x37)的顺序. 值得注意的是内存编程算法和内存擦除算法可能一起下载。 - 0x31可以用来检查下载内存程序例程是否下载成功,这个是由主机厂定义的。检查的方法同5
- 下载软件或者数据应该遵循以下规则:
⎯ RequestDownload (0x34);
⎯ TransferData (0x36);
⎯ RequestTransferExit (0x37).
软件/数据有可能需要多个TransferData (0x36) request 才能完成(如果数据长度超过最大网络层缓冲区大小)。 - 主机产定义是否需要采用0x31来检查内存数据是否下载成功,方法同5。
- 一旦软件/数据完成下载,可选routineIdentifier (由主机厂定义的数据)允许客户端检查是否下载成功 。这个例程让服务器检查所有相关的程序并且让服务器执行必要的动作去证明下载和编程进入存储器都是成功和有效的(例如校验,DTC等等)。
- 在下载应用软件/数据之后,车辆制造商专门执行进一步的操作,例如将配置数据(例如VIN等)写入服务器。 这也取决于在用完启动软件时重新编程的服务器所支持的功能。
UDS-编程阶段
最新推荐文章于 2024-04-16 10:19:37 发布