ECU安全访问系列_2(代码篇)

本文探讨了ECU安全访问的重要性,防止不正确的诊断服务导致车辆功能异常或安全隐患。文中介绍了如何通过0x10开头的SID进行安全会话初始化,并展示了C++代码实现的命令发送和接收API。同时,强调了安全算法的严谨性,以避免因误操作导致车辆故障或锁定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要加安全访问权限呢?

因为某些诊断服务操作会涉及对服务端的功能产生永久性改变,这种服务如果普通人能用诊断仪直接使用这些诊断服务去胡乱操作一通,万一对服务端内部一些功能参数被错误修改,那么整车正常行驶都可能会造成一定危害,严重的甚至造成重大交通事故,比如:

  • 写参数服务会通过改变服务端内部的一些标定参数来永久性改变控制器的功能或者性能,如:改写发动机烟度限制参数可以对发动机扭矩响应有一定提升;

  • 输入输出控制会操作服务端外部的一些执行器,如果操作不当造成部件损坏或人身危险;

安全算法访问交互代码

一般我们都会有SID为0x10开头的先访问,比如10 03命令,用于指示ECU将进入安全的session。ecu回复SID+0x40作为肯定回复之后开始发送安全算法

之前我们已经对Can的单帧和多帧发送底层代码做了描述,今天我们直接将这部分封装成一个api

对于10 03的命令发送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ToF君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值