- 博客(34)
- 收藏
- 关注
原创 AUTOSAR以太网之AutoIp
AutoIP 协议首先在 169.254.1.0 到 169.254.254.255 的 AutoIP IPv4 地址范围内选择随机地址,之后针对选定的地址发送ARP探测消息(ARP专题里面讲过探测报文),ARP 探测消息中包含一条ARP请求消息,其发送方地址设置为 0.0.0.0,目标地址设置为选定的IP 地址。由ARP模块调用,取出当前IP给ARP模块,用于IP冲突内部检测,当然是从AutoIp的表中取出的Ip地址,并且会把此Ip地址的状态也一并取出来。取出MAC地址,作为src地址,并开始计时。
2024-07-01 16:37:21
821
原创 AUTOSAR以太网之IPv4
这个函数除了对模块配置进行初始化,如果有分包和组包使能,则会对一些相关配置进行初始化如buf长度和位置指针等。如果不涉及分包和组包,那么初始化内容很简单。源地址合法性包括是否是loop back IP、预留IP、广播ip或autoip等,如果是这些IP不再往下分析了。然后经过头校验:版本校验,长度校验,checksum校验等。调用时机是在Icmp和Udp需要发送的时候,提供数据封装。取出协议进行识别,看是UDP,TCP,还是ICMP。上述校验合法后,继续校验源地址合法性。目的地址也需要校验,这里不细说。
2024-06-27 15:48:04
493
原创 AUTOSAR以太网之DHCP
车里面主要是客户端。客户端的初始化。DHCP客户端维护一张表。表涵盖有一个或多个客户端。初始化时把每个客户端赋初值。包括client当前状态,socket未绑定、客户端IP地址,客户端MAC地址。Server的IP地址等。初始化在TcpIp初始化的内部进行。
2024-06-25 20:26:52
990
原创 AUTOSAR以太网之ICMP
ICMP(Internet Control Message Protocol)是TCP/IP协议族中的一种协议,用于在IP网络中传输控制和错误信息,可以检测网络连接状态、诊断网络故障、测试网络性能等。ICMP类型ICMP协议的类型用于指示控制和错误消息的种类,每种类型有多个代码,用于表示不同的错误和控制信息。下面介绍几种常见的ICMP类型。回显请求和回显应答(Echo Request and Echo Reply)回显请求和回显应答是ICMP协议中最常用的类型,用于测试网络的连通性和性能。
2024-06-20 17:08:38
1032
原创 AUTOSAR以太网之ARP
免费ARP报文:是一种特殊的ARP报文,该报文携带的发送端IP地址和目标IP地址都是本机地址,报文源MAC地址是本机地址,目的MAC地址是广播地址。确定其它设备的IP地址是否与本机的IP地址冲突。当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。
2024-06-18 16:21:10
857
原创 汽车车载信息安全隐患分析
车载 T-BOX 的安全隐患主要有 3 个方面:一是固件逆向,攻击者通过逆向解析车载 T-BOX 固件,获取密钥,解密通信协议;但 CAN 总线采用非破坏性总线仲裁方式,具有校验简单、一发多读等特点,安全防护措施薄弱,攻击者若通过 CAN 总线进行报文重放、拒绝服务、篡改等方式进行攻击, 将导致驾驶员控制指令失效、汽车无法正常行驶的后果。由于车载信 息娱乐系统的功能丰富,攻击者既可以通过 USB、蓝牙、Wi-Fi 等通信方式进行攻击,也可以通过软件升级获得访问权限对系统进行攻击。(5)车内网络传输攻击。
2024-05-01 15:41:51
373
原创 汽车网关的作用
值得一提的是,网关还具备速率适配功能,能够处理接收和发送消息之间不同类型的速率变化,如定期和立即发送变更。综上所述,网关作为车辆电子电气构架中的核心部件,通过实现多项关键功能,确保了车辆内部数据的安全、可靠和高效传输。首先,网关能够将局域网上的数据转换成可识别的ASCII码,如OBD2诊断数据,这大大方便了诊断工作,使得技术人员能够更快速、更准确地定位问题所在。网关在车辆电子电气构架中扮演着至关重要的作用,它承担着多项关键任务,确保车辆内部数据的安全、可靠和高效传输。
2024-05-01 14:20:10
319
原创 功能安全基本概念
EE系统的故障,所引起的整车危害,不能导致一些不可接受的风险。关注的是风险,和对人的危害。整个功能安全就是研究如何降低风险,以及关注的是为什么会有失效。
2024-03-22 14:56:53
421
原创 浅谈SHE与HSM
是由HIS(由Audi、BMW、Porsche、Volkswagen组成)制定的标准,中文意思“安全硬件扩展”,是对任何给定微控制器的片上扩展。由于需要额外的引脚、外壳和更大面积的PCB,芯片的成本更高。攻击者可以通过窃听CPU和HSM之间的线路,来获取有关秘密业务的信息,或要求HSM签名不是由CPU生成的数据,从而导致安全性降低。业界基于SHE(Secure Hardware Extension,安全硬件扩展)规范提出了HSM硬件规范,该规范也被广泛接受,很多应用于汽车的微处理器支持这个规范。
2023-11-27 18:15:42
1928
原创 Chapter09 系统控制单元SCU
上文提到为了要改写某些特定寄存器必须去掉一层保护,而WDTxCON0寄存器,需要密码来解锁。密码寄出去你WDTSCON0 是被SCU通用的保护方案所保护。值允许配置的master具备写操作。这种特点包括ENDINIT bit与WDT寄存器合作。否则写尝试不会改变寄存器。这些寄存器被End of Initialization的保护机制保护,简写成EndInit。是一种写保护,只在特定时间段。在系统初始化或者app初始化的时候,有一些只编辑一次的寄存器,如果这些寄存器在正常运行时被操作会导致极大的影响。
2023-10-14 16:55:58
151
原创 UDS诊断
一般默认上电后是在默认会话模式下,当某一个服务端正在运行时,只会出现一个会话模式,不会同时存在两个会话模式。CAN_Server:表示从ECU发送了NRC为0x78的否定响应消息到开始发送下一个响应消息之间的增强型定时器性能要求数值,通常取5000ms。P2*CAN_Client:当客户端在接收到否定响应码为0x78的否定响应后等待服务器发送响应时的增强型超时设置(FF或SF);P2定时器是在服务会话下工作的,如果ECU无法在规定时间内完成对诊断服务的判断,服务器便向诊断仪发送延迟的负响应。
2023-10-09 15:07:03
427
原创 Chapter 06 非易失存储器
这里需要强调的是,PF0的S0~S39,也就是640KB,属于HSM的专有区域。,PFLASH 4个double word 为32字节,加上22bit ECC,DFLASH 是1个double word 加上22bit ECC。:是物理扇区的更细分层面,一个逻辑扇区由一组PFASH 或DFLASH的wordline组成,或者UCB的一个单独的wordline。: 一个指令可以编程的最大数量,PFLASH 是8个page即256字节,DFLASH为4个page为32字节;
2023-10-08 20:19:20
400
原创 Chapter02 内存映射
存储器映射描述了从不同片上总线的角度“看到”的单元、存储器和保留区域的地址位置和访问可能性。这16个段区间里面,0、2、12、13、14为预留。1、3、4、5、6、7分别对应最多的6个CPU的DSPR、DCACHE、DTAG。这里分两部分讲述0~14的15个段为第一部分,第15段为第二部分,先看第一部分。其中1、3、7主要是PSPR和DSPR、PCACHE和DCACHE。从第8段起是PF0~5。15是低位的128M是SPB,高位的128M是SRI。CAN、I2C、时钟、PORT、HSM等等均在此段中。
2023-09-14 14:07:09
207
转载 R155法规
换言之,CSMS认证是VTA认证的前提,而最终车辆准入必须完成CSMS认证及VTA认证。但是,随着技术的演进,智能网联汽车的信息安全问题不容忽视。车辆制造商(主机厂)应满足R155法规中7.2网络安全管理体系要求的内容,其中7.2.2章节具体阐述了CSMS认证应涵盖的具体方面。(b)R155附录5中B部分和C部分提及的缓解措施与所识别的风险无关或不足,主机厂应确保实施另一种适当的缓解措施。(b)具备用于识别车型所有可能风险的流程(需要考虑R155附录5,Part A提及的风险和其他相关风险);
2023-09-13 11:17:08
639
原创 Chapter01-芯片介绍
在程序运行时为了交换分区,新的镜像需要载入在未激活的PFLASH的分区。SOTA开启后,会有一组PFLASH作为CPU可执行的地址空间,作为激活的分区,而另一部分则是可以读写的非激活分区。建议通过在UCB_PFLASH中安装扇区特定的写保护来保护所使用的扇区,镜像的起始地址在UCB_BMHD并且标准的,且执行在BHMD UCB的标准编程。在一些变化的场景中,1MB的block可以和3MB的block做交换,因为代码镜像必须符合A和B的分区,3M的多余的那2M区域,不能用于代码镜像。
2023-09-12 23:44:43
464
原创 CAN协议帧格式及其错误机制
故障限制是一种检查机制,可以区分短时干扰(例如电缆的噪声耦合到传输介质)和永久性故障(例如,节点发生故障并干扰总线). CAN通信节点的状态分为暂时错误(Error active和Error Passive)和永久性故障(Bus Off);永久性故障节点自动脱离总线,防止网络锁定;Bus Off恢复需要满足于以下两个条件:在bus off发生后,总线上已经检测到了128次11个连续的隐性位(逻辑’1’);用户程序请求恢复,通常MCU中的CAN控制器都可以支持自动恢复和手动恢复两种方式。
2023-09-05 10:04:02
311
原创 商用车主要ECU的英文缩写
车道偏离预警系统主要由HUD抬头显示器、摄像头、控制器以及传感器组成,当车道偏离系统开启时,摄像头(一般安置在车身侧面或后视镜位置)会时刻采集行驶车道的标识线,通过图像处理获得汽车在当前车道中的位置参数,当检测到汽车偏离车道时,传感器会及时收集车辆数据和驾驶员的操作状态,之后由控制器发出警报信号,整个过程大约在0.5秒完成,为驾驶者提供更多的反应时间。在现代汽车中,SCU已经成为了一个非常重要的组成部分,它能够提高发动机的启动效率和可靠性,减少排放物的产生,同时也能够提高驾驶员的舒适度和安全性。
2023-08-31 11:04:38
2924
转载 车载网络安全之ISO/SAE21434
TARA,全称Threat Analysis and Risk Assessment,威胁分析与风险评估,是汽车电子电气架构中常用的网络安全威胁分析与风险评估方法论。TARA从道路交通参与者角度,确定道路交通参与者受威胁场景影响的程度。注:对照功能安全HARA分析:HARA(Hazard Analysis and Risk Assessment)是指危害分析和风险评估。危害分析:危险分析是整个过程的第一步,用来评估风险的ASIL等级。危险分析的目的是确定ASIL水平和所需的安全状态。
2023-08-29 22:29:51
408
原创 MCAL的CAN-ID过滤器配置
只要Mask和Filter都设置为0,则无论任何消息均可以进入CanDriver。如果不需要指定ID,则总线上所有消息都会被接收,在POLL模式下设置如下。Interrupt模式下,不设ID拦截的模式没有尝试成功。步骤3,想要的ID进行过滤,每个ID一个obj。步骤1,设置为interrupt。步骤2,这里是full,区别在于。
2023-08-11 10:41:56
203
原创 专栏文章目录
CAN总线速率配置多路CAN总线配置CAN的ID过滤器配置CAN报文数据的取值与赋值SAE J1939简介SecOC专题之新鲜值TripCntSecOC专题之新鲜值ResetCntSecOC专题之新鲜值MessageCntSecOC专题之新鲜值ResetFlagSecOC专题之消息收发双方的新鲜值更新SecOC专题之发送流程剖析
2023-08-11 09:38:57
341
原创 我的4个月创作纪念日
学习一如既往,做不到每日坚持,但要做到每周有新体会。哈哈哈,不贴了,自己写的没写出什么大bug。有了动笔的习惯,好记性不如烂笔头。当做日常积累,一步一脚印。技术面广+某个领域深耕。
2023-08-09 17:02:54
30
原创 SecOC工作流程剖析(发送)
返回的时候要求所有模块都知道此报文已经发送成功,CanIf先报告给PduR,PduR报告给SecOC,SecOC通过PduR_SecOCIfTxComfimation返回给PduR再到Com。这里又有一个疑问,既然需要把发送结果通知给所有组件,为什么PduR不直接把通知的线左右分别指向Com和SecOC,而是通过复杂的先通知SecOC,又让SecOC借路返回给Com呢?它决定SecOC接收消息时,如果此时PduId还有未处理的消息的时候,新消息是直接丢弃、队列形式排队、还是替换未处理消息;
2023-07-24 17:58:35
558
原创 SAE J1939简介
J1939协议是一种用于卡车、公共汽车和移动液压等重型车辆的通讯协议。是一种基于CAN的高层协议,建立在CAN(ISO11898)上。现在广泛应用于商用车,农业机械、森林防火车辆及特种车辆、移植到工业控制及新能源等。J1939协议的传送速度稳定在250kbps,数据链路层描述了构建报文、访问总线以及诊断传送故障的规则,应用层(J1939/71和J1939/73)定义了在网络中传送的每条报文的具体数据.
2023-07-18 14:02:35
511
原创 CAN报文数据的取值与赋值
介绍某个信号在DBC文件中和报文结构中分别是如何描述的以8 byte的CAN数据为例,其位序为下保持不变。在.dbc描述中,一般只会给出某个信号的startbit及len,我们先以大端为例阐述这样的一个例子: startbit = 20, len = 15那么大端的数据范围是上图中38bit为LSB,20bit为MSB,DBC描述是从MSB->LSB方向描述一个信号,接下来看看小端是如何描述的。
2023-07-05 09:15:30
309
原创 SecOC专题之新鲜值MessageCnt
本系列为一步步拆解SecOC组成及工作流程而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出1、Message Counter在FV中变化最快;2、由于Message Counter是选择性截断,而校验Mac又需要完整的FV,那么接收方只接收了部分FV,那么作为接收方如何拿到全部的FV呢?首先,FV会被定期的Reset Counter清零,这就是的Message Counter的高位不会增加的很大。
2023-06-16 15:56:36
600
原创 SecOC专题之新鲜值ResetCnt
本系列为一步步拆解SecOC组成及工作流程而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出Reset Counter 要比Trip Counter变化更快一些,在实际项目中应该是秒级。
2023-06-16 10:36:10
458
原创 SecOC专题之新鲜值TripCnt
本系列为一步步拆解新鲜值的分发及管理而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出Trip Counter是新鲜值中变化最慢的一个part,并且自增到最大值时,会从头开始翻转计数。Trip Counter需要收发双方都保存,由于其变化较慢,所以不会经常进行同步该值。这就要求开发过程中保证每次对该值的读写必须要正确。
2023-06-16 09:57:48
673
原创 MCAL配置——多路CAN
在MCAL USER MANUAL中关于CAN中断的说明,选择所需要配置的中断号。这里我们配置的时CAN10的Node0。TC377上面,明确指出了只有两路CAN可供使用,CAN0的node0和node1. CAN1的node0和node1。但因为电阻适配问题,整个开发板只有CAN0的node0和CAN1的node0可供使用。在手册中找到CANRAM地址,起始地址为0xF0210000,并加上ACCENNODEi0这个地址。已有P20.7和P20.8配置,目前新需要配置的端口是P23.0和P23.1。
2023-04-03 14:57:57
1007
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人