Canoe 诊断接口函数(Diagnostic CAPL Functions)两种节点实现27服务解锁说明

一、使用接口函数前准备

1、配置cdd

在这里插入图片描述
在这里插入图片描述

2、导入27解锁密钥算法dll

在这里插入图片描述

二、在Test Module节点里解锁

1、创建对应节点

在这里插入图片描述

2、例程路径

在帮助文档路径 CAPL Functions » Diagnostics » diagGenerateKeyFromSeed 里有相关例程适用Test Module节点。
在这里插入图片描述

3、例程说明

(1)首先是发送27 01请求,等待收到响应,其中test开头函数(testWaitForDiagRequestSent,testWaitForDiagResponse)只能在TestModule节点使用。
在这里插入图片描述
(2)从响应中取出种子,种子经过算法计算出密钥
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)将计算的密钥赋予密钥发送请求,等待发送完成,即完成解锁待测ECU
在这里插入图片描述

三、在Network Node节点里解锁

1、创建对应节点

在这里插入图片描述

2、例程路径

在帮助文档路径 CAPL Functions » Diagnostics » diagStartGenerateKeyFromSeed 里有相关例程适用Network普通节点。此方法适合无法使用test函数的节点以及密钥计算时间超过1ms的案例。
在这里插入图片描述
在这里插入图片描述

3、例程说明

27解锁流程说明如下图,和Test module节点一致,区别在于计算结果通过调用函数_Diag_GenerateKeyResult来表示。注意,安全密钥的计算可能需要超过1毫秒的时间,这将导致CANoe中的实时事件处理可能出现问题,如有需要,可使用定时器实现Test module节点testwait开头的等待函数的功能。
在这里插入图片描述

四、总结

保证解锁流程的顺序性,即首先确保种子请求发送成功,并成功收到种子请求的响应,再进行密钥计算,计算完成后,才发送密钥请求,即能成功解锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云溪溪儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值