用Titan实现刷新规范
通过不同语句的组合形成一个刷新流程,下面以1001为例来说明如何配置服务:
1.从左侧选中10服务;
2.拖放到中间的画布;
3.在右侧属性窗口配置该服务的属性。
注意:1.什么是FastSA?SA一般由两条服务组成:RequestSeed和ResponseKey,FastSA指的就是这两条服务的组合。系统会自动根据配置调用SADLL,计算Key。2. 添加语句的方式:拖放。
ttn与ttb的关系
ttn是ttb的源文件,ttn可生成ttb,ttb不可以反向生成ttn,所以需要注意保存ttn。
2.如何执行脚本?
我们首先会用到QzSaturn这个工具,QzSaturn是一款总线和诊断测试工具,是整个工具链中的主软件,文件后缀为:*.stn。
QzSaturn的主要功能包括:报文监控、图形监控、总线记录与回放、全车诊断、工程面板、流程、诊断、刷新、网报报文发送等,覆盖了汽车电子开发与测试中常用的功能。刷新是其功能之一。
刷新步骤:
1.导入ttb文件
将配置完成的脚本导入到QzSaturn刷新子窗口中。
2.导入刷新数据文件
指的是要刷的数据文件,支持HEX、S19和BIN。
3.基本参数的配置
对ECU基本参数进行配置,如:RequestID、ResponseID。
4.SA算法库的导入
刷新前一般需要解锁SA,解锁算法由SA算法库实现。在windows平台的文件后缀为*.dll,DLL本身的制作方法见下文。
5.CRC配置
选择相应的CRC类型及相关信息,并点击按钮计算CRC。
6.开始刷新。
如何制作SA算法库?
本质是制作一个特定接口的动态链接库*.dll。
制作工具:Visual Studio 2015
开发语言:C++/C++
接口函数:extern “C” __declspec(dllexport) UINT32 saturn_key_generate(UINT8* p_seed,
UINT32 seed_length,
UINT32 level,
UINT8* param,
UINT8* p_key,
UINT32 key_length,
UINT32& key_size)
参数说明:
P_seed:Seed
Seed_length:Seed长度,一般为4;
Level:SA level.以2701为例,应填01
Param:用户自定义
P_key:Key Buffer,用于存储函数返回的Key
Key_length:Key Buffer的指定长度,
Key_size:Key实际长度,一般跟Seed长度一致
两种方式:源码封装方式、二次封装方式。
源码封装方式:直接在图示位置写代码实现SA算法。
二次封装方式:在图示位置调用外部算法库。一般用于整车厂需要对算法保密的场景。
通过以上操作,可以实现适应不同场景、灵活和高效的刷新。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』