- 博客(6)
- 收藏
- 关注
原创 Uds on Can & ISO 15765-2
UDS (Unified Diagnostic Services,统一的诊断服务)诊断协议是ISO 15765和ISO 14229定义的一种汽车通用诊断协议,位于OSI模型中的应用层,它可在不同的汽车总线(例如CAN, LINFlexray, Internet)上实现。UDS协议的应用层定义是ISO 14229-1,目前大部分汽车厂商均采用UDS on CAN的诊断协议。协议的目的是建立统一的诊断服务:多种网络,统—诊断。
2024-03-26 16:37:17
1359
原创 ring buffer 简单实现
开发中经常用到ring buffer ,如果是在freertos ,linux ,rt-thread 中开发,操作系统都实现了队列,而且是带锁和阻塞功能的队列。但是基于autosar os 开发没有现成的队列,这里简单的写了一个ring buffer,具体项目可以进行优化和扩展。因为空的时候rear == front ,满的时候也是front ==rear。需要最基本的属性是rear 、front 、buf。ring buffer 在逻辑上是一个环形,物理上是没办法做到环形的,通常可以使用数组或者链表。
2024-03-24 16:55:54
449
1
原创 从代码看autosar CAN协议栈之CAN发送
简单写一下,学习autosar can协议栈的总结。写的也不好,可能也有很多错误,欢迎指出。主要参考etas的代码,如果有侵权,请联系删除。
2023-10-26 14:37:52
2120
原创 Autosar Can 01
首先在EcuC模块里面有对PDU的定义。这里的PDU我理解的是,每一层之间交互的IPDU。COM/ComIPdus这里面定义了COM的IPDU,这些IPDU就是DBC导入的ECU收发的报文,signal就是用意义的数据。在这边声明了,后面需要在各个模块之间引用,来表明这个模块的PDU从哪里来,到哪里去。这引用的是EcuC/pduCollection,表明了这个报文从哪个地方到哪个地方。Autosar 配置can,模块和模块之间的联系,就是通过声明和引用联系起来的,核心就是PDU的声明。
2023-09-15 17:44:58
331
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人