Autosar
文章平均质量分 62
.小白一枚.
这个作者很懒,什么都没留下…
展开
-
[.小白一枚.]Autosar开发笔记_实践篇_网管功能屏蔽
如果没有特殊要求,比如要求代码编译生成文件的大小,不建议直接把配置工程的NM、CanNM直接删掉,因为工程里有一些其他的关联模块,删掉之后会有较大的改动,包括源代码工程里会有相关的手写码;3、具体项目手写码部分:由于项目代码中使用网络管理中的部分状态作为一些条件,这里也注释掉或修改条件;由于新项目不需要网络管理功能,所以需要基于以往项目的代码进行阉割,将网管功能屏蔽掉,让我们看一下具体需要关注哪些地方。从模块上看:按照Autosar的分层架构,网络管理涉及的模块有:NM、CanNM、BswM、EcuM。原创 2024-06-11 11:24:10 · 238 阅读 · 0 评论 -
[.小白一枚.]Autosar_输入文件_1_DBC文件编辑(查漏补缺)
A2:右键Message,New一个新的Signal Group,给信号组分配信号时,直接将所属该信号组的信号长按然后拖到Message,再从Message拖到Group,(工具不支持直接拖给信号组,相当于Signal映射的Msg,而Signal Group只是给信号统一分配在一起管理)A1:Signal 添加到对应的 Messages里,在已映射的Message下右键Signal,Edit Mapped Signal到Rx Signals里后,该Message会自动被识别为Rx Message。原创 2024-04-19 17:59:27 · 228 阅读 · 1 评论 -
[.小白一枚.]Autosar_CanDriver_2_波特率与采样点配置
则根据采样点计算公式。原创 2024-01-22 15:23:05 · 967 阅读 · 2 评论 -
[.小白一枚.]Autosar_CAN学习笔记_1 CAN报文格式和相关机制
例如:总线上有两条报文,CanId分别为0x122、0x129,线与后,由于0x122的第8位(bit 3)为显性0,0x129为隐性1,显性覆盖隐性电平后总线上为显性,所以0x122在仲裁中胜出;发送节点向总线发送报文时,在发完crc段后会发送ACK段(1 Bit 隐形电平),等待接受节点接收报文且CRC校验通过认为接受报文与发送节点发出的报文一致,接收节点会应答ACK段(1 Bit 显性电平)告知发送节点接收完毕;具体实现原理:“线与”2、CAN总线仲裁机制。原创 2024-01-22 10:02:07 · 464 阅读 · 0 评论 -
[.小白一枚.]Autosar_OS学习笔记_1 入门术语扫盲
在实时操作系统(RTOS)中,任务是一个更细粒度的运行实体,它可以是一个轻量级的进程或一个线程,拥有特定的优先级和运行状态。①运行状态(Running):处于运行状态时,CPU资源被分配给该任务,该任务的指令被执行。在操作系统当中,任务为用户函数的执行提供了框架,是用户函数的载体,操作系统通过调度器来管理任务的先后执行顺序,为任务提供了异步执行和并发执行的管理机制。在AUTOSAR OS中,中断的优先级始终高于任务的优先级,即最低优先级的中断都可以打断最高优先级的任务,即使该任务不可抢占也不例外。原创 2024-01-18 11:11:49 · 1184 阅读 · 1 评论 -
[.小白一枚.]Autosar_Bootloader学习笔记_3 相关机制
增加延时的目的在于在判断完 “ 应用程序有效 ”为有效后,延时一段时间继续在boot里,此时发送10 02进入的就是bootloader的 02(编程) 会话,这就是常听到的后门刷写机制实现的原理,当app跑飞、卡死时想要更新app,只需下电再上电时持续发送编程请求(10 02)就可以在stay in boot期间进入boot的编程会话,继续进行正常刷写流程;Stay In Boot 功能的实现是在验证 “ app有效标志 ” 是否有效之后增加的延时,原创 2024-01-17 14:29:42 · 651 阅读 · 0 评论 -
[.小白一枚.]Autosar_Bootloader学习笔记_2 启动和刷写时序流程
PBL只具备刷写SBL的功能,并不具备刷写APP的功能,也就意味着PBL刷写SBL的流程从开始就是固定的,避免了异常工况导致丧失刷写能力的发生,ECU重新供电后,仍然可以使用PBL更新SBL,之后在用SBL更新APP;SBL和PBL的区别在于SBL运行在RAM里,PBL在Pflash,PBL主要功能在于检查 “ 是否有重编程请求 ” 和 “ app有效标志是否置起 ”,根据检查结果选择是否激活SBL,剩余的刷写步骤都由SBL来完成,直至刷写成功后重启;A:在执行内存擦除时,原创 2024-01-17 09:49:55 · 1827 阅读 · 2 评论 -
[.小白一枚.]Autosar_Bootloader学习笔记_1
TransferData服务请求包括一个blockSequenceCounter,以便在多个TransferData请求的序列中,如果TransferData服务失败,可以改进错误处理。这意味着在RequestDownload (Ox34)或RequestUpload (Ox35)请求消息之后的第一个TransferData (Ox36)请求消息以1的blockSequenceCounter开始。客户端使用TransferData服务将数据从客户端传输到服务器(下载)或从服务器传输到客户端(上传)。原创 2024-01-16 11:06:15 · 1349 阅读 · 1 评论 -
Can通信栈_通信模式管理
状态,等待Communication Allowed的触发信号,只有 “CommunicationAllowed=TRUE” 才能将通信模式转换为FULL_COM,如果没有Allowed的使能,则FULL_COM请求不会被执行;Autosar的分层架构上看,user向ComM请求通信,而真正干活的是NM和CanSM,ComM就是将用户的请求传达给NM和CanSM模块。CanSM切换的是总线模式,下层模块为CanIf,调用CanIf提供的接口对can控制器和can收发器的模式进行切换,详细状态及子状态见。原创 2024-01-04 17:02:00 · 1083 阅读 · 1 评论 -
Autosar 通信栈【Communicate Stack】-1 报文的收发(COM层process详解)
这一篇只简单的理一下,Autosar架构下,Can报文的收发流程和参与的模块。原创 2023-12-27 15:51:22 · 2457 阅读 · 3 评论 -
Can BusOff笔记
此时BSM状态为CANSM_BSM_S_FULLCOM,子状态为FULLCOM_S_RESTART_CC,进入case:调用CanSM_FullCom_S_Restart_CC,在此函数中调用CanSM_SetControllerModeRepeat将所有cancontroller模式设置为。(BusOff事件发生时间计时,由busoff发生后从0开始,在1ms函数CanSM_FullCom_S_Tx_Off中周期++,只有在BusOff事件刚发生或者cansm初始化时清0)原创 2023-12-20 17:30:21 · 3281 阅读 · 2 评论 -
XCP学习笔记
PID包含0x00 <= DAQ <= 0xFB范围内的(绝对或相对)ODT数。ODT编号是指对象描述符表(ODT),该表描述了剩余数据字节中包含哪些数据采集元素。什么又是ODT呢?这里引入几个概念元素(Element):通过XCP地址来指定的一个测量对象的内存。对象描述表(ODT:Object Description Table): 归并元素的测量内存,在一个DTO报文中聚集最多的可发送的内存的表。ODT条目(Entry):为创建ODT的元素的测量对象的XCP地址。原创 2023-12-14 10:38:33 · 2131 阅读 · 1 评论 -
【.小白一枚.】Autosar_CanDriver_1_CAN接收邮箱掩码设置
另外还有网络唤醒报文的BasicCan掩码设置,因为规定网络唤醒报文的ID范围是0x500 ~~ 0x53F,计算掩码时需要注意这个。因为BasicCan类型的邮箱接收的是一段ID范围的报文,以上三条报文取段范围为0x1B0 -- 0x1F7。---------------------------文章编辑参考PlutoZuo大佬的博客。1:0001,每位都需要关心(因为需要确定ID的第一位是1),所以掩码:0111。0 -- 7 :0000 -- 0111,关心。111,所以掩码:1000;原创 2023-12-07 11:29:29 · 1067 阅读 · 0 评论 -
Autosar 网络管理
1、主动唤醒 :ECU节点有主动工作请求,通过网管报文唤醒其他节点2、被动唤醒: ECU节点接收到其他(有主动工作请求)节点的网管报文当主动和被动唤醒都被释放时,就需要休眠; 模式详解见:https://blog.csdn.net/wteruiycbqqvwt/article/details/107618518原创 2023-12-07 10:40:40 · 882 阅读 · 0 评论