- 博客(10)
- 收藏
- 关注
原创 程序的内存结构
data: 已初始化的全局/静态变量。bss: 未初始化的全局/静态变量。dec: 上述3者的算术和。hex: dec的16进制。text:代码和常量。
2022-12-12 16:43:47
160
原创 DBC编辑_文本形式编辑
1. DBCDBC是Data Base CAN的缩写。DBC文件是用来描述CAN网络通信信号的一种格式文件。ECU之间的通信、信息的交互以及相互之间的关系,都是通过DBC文件来管理的,也就是ECU之间的通信都要以DBC文件中的内容为标准。DBC文件中定义了总线系统中各个ECU所需要发送和接收的报文,以及每个报文所有Bit的具体定义,同时还定义了个报文/信号的通信属性,例如:通信周期、通信方式、取值范围等。我们可以通过DBC文件来监测与分析CAN网络上的报文数据,也可以通过DBC文件来模拟某个CAN节点(E
2021-08-12 15:33:00
2892
转载 Python canconvert.exe,xlsx转dbc文件。
Python canconvert.exe,xlsx转dbc文件。读取xlsx文件报错:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported‘)只需要下载pyexcel-xls
2021-08-10 09:28:27
1182
原创 UDSOnCAN诊断的ISO模型
概要UDS(全称:UnifiedDiagnostic Services)统一诊断服务,是ISO 15765 和ISO 14229 定义的一种汽车通用诊断协议,位于OSI模型中的应用层。它可在不同的汽车总线(例如CAN, LIN, Flexray, Internet 和K-line)上实现。目前大部分汽车厂商均采用UDS on CAN的诊断协议。从字面的意思来看,诊断是就对机器的检查。但是诊断服务远远超出了这个定义范围。诊断服务可以包括功能监控、错误检测、故障记忆、激活、数据采集,写入信息、下线配置、刷写
2021-06-09 18:46:59
944
原创 CAN诊断的寻址方式
CAN的诊断寻址方式对于CAN诊断帧有两种不同的分类方式,按照寻址方式可以分为物理寻址、功能寻址,按照帧类别可以分为单帧、首帧、流控帧、连续帧。寻址方式在总线上往往连着众多ECU设备,作为诊断设备既可以单独与某一ECU进行通信,也可以同时与所有总线上的ECU设备通信。###1. 物理寻址物理寻址是指总线上始终只有一个ECU响应诊断设备发出的诊断命令,实现点对点通信。物理寻址指定发送特定诊断请求Request,等待指定ECU给与响应。###2.功能寻址功能寻址是指总线上的所有ECU对可以同时响
2021-05-24 16:56:23
6259
原创 《丰田思考法》&《丰田工作法》读后感
《丰田思考法》&《丰田工作法》读后感作为一名程序员,一直以来从事着对日外包业务,对日本客户的工作方式和认真态度很是欣赏,一直想学以致用,但是由于种种原因或者各种理由,始终没有完成系统的归纳,没有达到想要的效果。有幸受到常经理的赏识,加入新的公司。很是巧合,常经理推荐了两本丰田的书《丰田思考法》和《丰田工作法》。认真的读过两本书之后,收获了很多,对自己在今后工作中采用的方式和方法有了新的思考。解决问题书中说到丰田真正强大的地方是丰田思考问题的方法,也就是“解决问题的能力”。作为一个程序员,工作
2021-03-29 08:59:24
2488
原创 UDS诊断会话控制服务(0x10)
DiagnosticSessionControl(0x10服务) 用于将ECU切换到不同诊断会话状态。我们可以通过0x10服务将ECU划分为默认诊断会话、编程诊断会话、扩展诊断会话;并针对其他服务在这三种会话状态下的访问权限进行了划分,这样便于管理各个服务之间的权限问题。在一个Server中,应始终只有一个诊断会话处于活动状态。ECU上电之后进入默认诊断会话(Default diagnostic session)状态,当Client请求一个诊断会话服务,如果这个会话已经运行,则回复肯定响应。服务请求报文
2021-02-21 16:46:13
4158
原创 C编程之美:奇数、偶数的判断方法
奇数、偶数的判断方法通常方法: if(0 == x % 2){}按位操作: if(0 == x & 0x01){}奇数判断通常方法: if(1 == x % 2){}按位操作: if(1 == x & 0x01){}
2020-09-21 16:55:49
471
原创 C编程之美:一种对齐的实现方法
以8为单位对齐unsigned int testFunc(unsigned int data_size){ unsigned int resSize = 0; resSize = data_size; if(resSize & 0x0007) { resSize += (8 - (resSize & 0x0007)); } return resSize;}
2020-09-10 13:31:13
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人