首页
社区
课程
招聘
[原创][车联网安全]使用STM32开发板实战汽车UDS诊断
发表于: 2023-12-31 15:12 14999

[原创][车联网安全]使用STM32开发板实战汽车UDS诊断

2023-12-31 15:12
14999

UDS(统一诊断服务)是车上很重要的一个诊断协议,但除非能接触到实际项目,否则目前没见过有开源的能进行真实 UDS 诊断的练习板,纯讲理论没啥意思

我在闲鱼买了一套 UDS_bootloader 的源码,目前跑通了几个 UDS 服务的功能,水一篇文章,介绍一下如何通过一块 STM32 的开发板实际练习 UDS 诊断,配套固件也会传上来,师傅们可以自己买板子烧进去练习

STM32F103ZE 开发板,用来跑我们的 UDS 代码的

TJA1050 CAN 控制器接口模块,用来转换 CAN 信号的,淘宝卖的默认是没有排针的,要是自己有电烙铁可以焊上排针,方便接杜邦线

CAN 调试仪,用来与 STM32 建立 CAN 通信的,什么品牌无所谓,我用 PCAN 习惯了

Jlink 或 STlink(主要是烧写固件的,最好买带这个排线的,不然自己按照引脚定义去接杜邦线去嗷)


还需要一些杜邦线用来连接这几个硬件设备

软件主要是用两个,一个是 Jflash(https://www.segger.com/products/debug-probes/j-link/tools/j-flash/about-j-flash/#software)用来烧录固件,当然如果你用别的调试器就选择对应的软件即可,一个是 TSMaster(https://github.com/TOSUN-Shanghai/TSMaster/releases)用来进行 CAN 通信的(夸一夸 TSMaster,个人觉得很好用

Jlink 直接通过排线与 STM32 开发板相连即可,STM32 右边的 USB 接口是个串口可以看 UART 日志

TJA1050 的 RX 接 STM32 的 PA11,TX 接 STM32 的 PA12,VCC 接STM32 的 5V,GND 接 STM32 的 GND

TJA1050 的 CANH 接 CAN 分析仪的 CAN_H、CANL 接 CAN 分析仪的 CAN_L( 这里以 PCAN 为例)

安装好 Jflash 之后打开,选择新建项目

点击三个点,在输入框输入 STM32F103ZE 过滤出来,选择下面那个短的,然后 ok

把两个固件都拖到右边的数据文件窗口,然后点击 Target -> Production Programming 烧写固件(hex 文件都是记录着地址信息的,直接烧录即可)

然后打开串口调试工具,波特率设置为 115200,按下复位键看看是不是有输出了,如下输出说明正常

UDS 定义了一系列的服务,每个服务都有自己的 ID 即 SID(Service Identifier),接下来通过开发板实际进行 UDS 诊断通信体验一下,具体理论知识可以参考网上其他文章或者直接看 14229 的标准,文末我会上传附件

22 服务通过 ID 读取数据,例如读取当前会话状态的 ID 是 F1 86,那么可以使用 7DF # 03 22 F1 86 来读取当前会话,F1 86 后面跟的 01 就是当前会话状态

在 14229 标准里面还有很多 ID,比如 F1 90 读取 VIN 码等(开发板暂未实现),以及厂商也会自定义 ID 

先使用 7DF # 03 22 F1 86 读取当前会话

切换到扩展会话 7DF # 02 10 03 然后 0x22 读取会话确认一下 7DF # 03 22 F1 86,一般在扩展会话进行一些高权限的操作,比如读写数据

切换到编程会话 7DF # 02 10 02 此时观察串口可以看到进入到了 bootloader 的代码中,一般在这个会话状态进行刷写烧录相关操作

当进入非默认会话后如果不及时发送 3E 维持会话,过一阵就会退回默认会话


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 9
支持
分享
最新回复 (5)
雪    币: 3024
活跃值: (30866)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2023-12-31 22:48
2
雪    币: 11314
活跃值: (2907)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
刚好是汽车行业的,天天搞UDS,都烦透了,居然在看雪看到UDS内容。
我可以好好显摆一下了。
2024-1-3 11:04
0
雪    币: 340
活跃值: (14000)
能力值: ( LV13,RANK:606 )
在线值:
发帖
回帖
粉丝
4
diasstudy 刚好是汽车行业的,天天搞UDS,都烦透了,居然在看雪看到UDS内容。 我可以好好显摆一下了。[em_6]
哈哈哈哈,师傅多指教
2024-1-3 11:49
0
雪    币: 27
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
dddd
2024-1-4 16:57
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
ddddd
2024-4-12 11:20
0
游客
登录 | 注册 方可回帖
返回
//