UDS刷写--文件下载参数说明

  1. 擦除指令 31,可用例程服务31代替(这里可以选择不擦除,用例程服务31+擦除地址和长度等信息代替);

● 擦除内存参数说明:

名称

功能说明

不擦除

不擦除内存

分块擦除

按设置块大小擦除内存

总擦除

擦除Flash所有内存

● 参数类型+擦除指令:默认31 01 FF 00,可以修改

名称

功能说明

自定义参数

按照擦除指令设置发送

带地址类型,地址,长度

擦除指令+地址类型+地址信息+长度信息

带地址,长度

擦除指令+地址信息+长度信息

● 应答校验:擦除指令31的校验,默认71 01,可以手动填写

  1. 请求下载 34

● 传输方式参数说明

名称

功能说明

34标准流程

34+36(01.02.03...FF...)+37

多个34,一个37

34+36(01.02.03...FF...)+34+36(01.02.03...FF...)...+37

● 拆分最大块:将文件拆分,设置块大小,分块刷;默认0是不拆分;

34块延时:每个34指令收到74响应,再发34的延时;

36块延时:每个36指令收到76响应,再发36的延时;

  1. 流控设置

● Bstime:每个块之间的延时,默认按照ECU的流控;可以用自定义手动设置。

 Tx_STime:发送的最小时间,默认ECU流控;可以用自定义手动设置。

  1. 34请求下载

● 34请求数据格式:默认 ”00“,可手动设置。

● 地址格式:勾选时34指令后面加上地址格式(如:34 00 44+),默认”44“,可手动设置。

● 结束请求37+:37结束下载指令,请求可以手动设置。

● 校验应答77

  1. 36数据下载

● 36固定总长:固定36一次最大传输长度。

● 36传输序号:设置36传输要按照”块序号“传输。

● 起始值:传输序号起始值。

● 大端(小端):传输数据字节顺序,大端是高字节在前,小端是低字节在前。

● 补全块:补全不连续的块。

  1. 校验地址格式:校验指令的地址格式。

  1. 导入刷写文件,支持 .hex/.s19/.bin/.app

● 重新加载文件:刷新加载文件。

● 计算校验值:计算块校验值。

  1. 下载文件地址,长度和校验值管理

● 合计:

全选所有块序号。

● 地址信息:

 地址信息和长度信息可以手动填写,默认加载 .hex/.s19文件自动识别。

● 校验值:37指令的校验值,可以手动填写。

<think>好的,我需要帮助用户查找与UDS刷写上位机相关的技术资料、工具和教程。根据用户提供的引用内容,首先应该整理现有信息中的关键点。 引用[1]提到oe软件支持多种协议和通信方式,并可与UDS刷写上位机配合使用。引用[2]提到基于CANoe开发的Bootloader上位机,符合UDS流程,还提到支持周立功CAN卡的上位机。引用[3]讨论了CAPL脚本在UDS刷写中的应用,以及配合V公司的CAN卡和oe软件。引用[4]详细描述了上位机的参数设置和操作界面,如升级设置、ID配置等。 接下来,需要将这些信息分类,分为工具、开发框架、教程和脚本资源、操作指南几个部分。工具部分应包括CANoe、周立功CAN卡配套工具和V公司CAN卡。开发框架方面,基于CANoe和CAPL脚本的开发是重点。教程资源可以从Vector官网、优快云博客和GitHub获取。操作指南需要涵盖参数配置、刷写流程和调试技巧。 然后考虑用户可能需要的问题,比如工具对比、CAPL脚本学习、参数设置常见问题等。确保回答结构清晰,分点明确,并且每个部分都引用相关文献支持。同时,要避免使用Markdown格式,保持自然的中文表达,符合用户要求的可见层结构。最后生成相关问题,帮助用户深入探索。</think>### UDS刷写上位机相关技术资料与工具整理 #### 一、主流工具与软件平台 1. **CANoe及其配套工具** - CANoe是开发UDS刷写上位机的核心工具,支持完整的UDS协议栈和诊断功能[^2][^3] - 提供Diagnostic/Flash组件用于刷写流程管理 - 支持CAPL脚本开发定制化刷写逻辑[^3] 2. **国产硬件支持方案** - 周立功CAN卡配套工具链 - 支持S32K144/英飞凌等MCU的Bootloader开发[^2] - 典型参数配置界面示例: ```python # 伪代码示例 set_uds_params( phy_id=0x701, func_id=0x7DF, response_id=0x7E8, address=0x08000000, block_size=1024 ) ``` 3. **开源工具链** - SavvyCAN(基础CAN分析) - cantools(Python CAN协议解析库) - 基于Python的UDS模拟器框架 #### 二、核心开发技术栈 1. **CAPL脚本开发** - 实现UDS服务序列(例:预编程条件检查) ```capl on preFlashingCheck() { write("检查电压状态..."); if(TestDevice.Voltage < 9000) return ERROR; // 更多预条件验证[^3] } ``` - 刷写流程状态机实现[^3] 2. **刷写参数配置规范** - Flash分块大小:通常512B-4KB - 安全算法集成(RSA/ AES) - 重试机制设计(建议3次尝试)[^4] #### 三、学习资源推荐 1. **官方文档** - Vector CANoe诊断手册(重点第6章Flash编程) - ISO14229-1标准文档(UDS协议) 2. **实践教程** - 优快云《UDS刷写CAPL脚本开发指南》 - GitHub开源项目"UDS-Bootloader-Example" - B站视频教程《基于CANoe的ECU刷写实战》 3. **调试技巧** - 使用Trace功能记录通信时序 - 断点调试ECU响应(重点关注0x78 pending响应) - 错误代码解析工具(推荐使用CANdelaStudio) #### 四、典型开发流程 1. 环境搭建 - CAN通道配置(500kbps典型速率) - 加载CDD/ODX诊断描述文件 2. 功能开发 - 实现$10 $27 $34 $36 $37等关键服务 - 设计进度显示控件(参考引用[4]的界面设计) 3. 测试验证 - 异常场景测试(断电恢复测试) - 兼容性测试(不同MCU型号)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值