![](https://img-blog.csdnimg.cn/direct/00d6e1e9d43f44f6bc8ae9a801b6305d.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Autosar
本专栏为Autosar初学员准备,将详细介绍如何从一个小白成长为Autosar高手。
专栏内容主要以ETAS工具链为基础,介绍如何从0到1构建Atosar系统,将一步一步带领你熟悉各个模块的配置。
Jason小小
这个作者很懒,什么都没留下…
展开
-
Autosar-诊断配置详解-2
P2StarServerMax与P2Server_max的含义类似,区别在于,P2StarServerMax这个时间参数是在ECU给出NRC 0X78之后生效的,ECU返回NRC 0X78,说明ECU当前处理能量不足,所以需要更长的反应时间,即P2StarServerMax。General的选项最主要是要配置Dcm的Mainfunction的周期,因为有些报文要及时处理,因此最好把周期设置为1ms。因为DBC文件中有Dcm的Pdu,因此工具还自动生成了Dcm模块,只是该模块是空的,需要后续进行配置。原创 2024-03-01 10:50:40 · 889 阅读 · 0 评论 -
Autosar-诊断配置详解-1
诊断服务处理与特定的服务请求强绑定(不同的诊断请求依赖于不同的一个或几个模块来实现)。带有诊断属性的PDU到达PduR模块后,PduR调用Dcm_StartOfReception,通知Dcm模块接收的数据大小,并提供第一帧或单帧的数据,如果数据规模溢出缓冲区大小,或者请求的服务不可用允许Dcm拒绝接收诊断数据。Dcm和Dem的交互:DEM模块提供了检索与故障内存相关的所有信息的功能,以便Dcm模块能够通过从故障内存中读取数据重新响应测试人员的请求,通俗的讲就是Dcm能够读取Dem记录的DTC信息。原创 2024-03-01 10:45:50 · 1155 阅读 · 0 评论 -
Autosar教程-Mcal教程
以我们使用的F1KM-S4(R7F7016533)来说,它的是64 bytes, page是4bytes。Data flash的擦除时间一般都比较长,F1KM-S4(R7F7016533)擦除64 bytes都需要10ms,这会给整个系统造成很大的负担。1)分配一块数倍于数据的存储区域,比如数据大小为8byte, 那系统可以配置一块8N的flash块(sector),比如8*8=64Byte。2)数据的修改先被存放在RAM里面,当需要写flash时,就把RAM的数据再定定入到sector中。原创 2024-03-15 15:14:57 · 504 阅读 · 0 评论 -
Autosar-WdgM配置详解-1
然后SWC在它的runnable中会调用这两个port, 而WdgM则在它的Mainfunction中去判断这两个Port有没有在规定的时候内被调用。超时狗喂狗很简单,即采用Timeout模式计时,在Timeout时间内都可以喂狗,当检测到超过设定的Timeout时间仍未喂狗则会触发进一步安全保护措施。WdgM超时的时间偏差,这里设置为0表示不容忍有偏差,即只要超时了就执行看门狗规定的动作。按下图配置看门狗的超时时间,下图为设置看门狗2^16分频作为其超时时间。1.2创建、配置WdgIf模块。原创 2024-02-21 18:42:46 · 744 阅读 · 0 评论 -
Autosar-WdgM配置详解-2
按以下步骤创建两个RPort: RPort_StartCheckPoint, RPort_EndCheckPoint。MasterSWC的runnable需要周期运行,因此需要给它加一个TimingEvent.WdgM已经提供了deadline的port,接下来就是需要SWC使用WdgM的port。1.5.2创建MasterSWC的Internal Behavior。按下图步骤完成MasterSWC到MCU的Mapping。1.8MasterSWC到MCU的mapping。1.5.4创建Runnable。原创 2024-02-22 09:10:55 · 490 阅读 · 0 评论 -
Autosar-WdgM配置详解-3
AliveSupervision的主要作用是统计一个被监控的函数的运行次数,是否在设定的范围内,如果不在则说明被监控的函数运行异常。在MasterSWC的RE_TestRun这个runnable里会调用两个检测点函数,我们可以在两个检测点函数之间,加入我们所需要监控的代码。WdgM提供一个Global状态的端口,于是SWC可以创建一个端口与WdgM进行连接,这样就可以获取Global的状态。一旦状态被设置为WDGM_GLOBAL_STATUS_STOPPED,则接下来的代码会执行复位操作。原创 2024-02-23 08:23:58 · 887 阅读 · 0 评论 -
Autosar-NvM配置详解-2
定义头文件,其中NVRAM块的所有者声明了永久RAM数据块、ROM数据块(如果配置)和每个配置回调的回调函数原型。定义NVRAM块的块管理类型,有NVM_BLOCK_NATIVE, NVM_BLOCK_REDUNDENT, NVM_BLOCK_DATASHEET.一个特定于块的回调例程的入口地址,如果没有可用的ROM数据来初始化NVRAM块,该回调例程将被调用。3)2为NVRAM块配置的块管理类型NVM_BLOCK_REDUNDANT。2)1为NVRAM块配置的块管理类型NVM_BLOCK_NATIVE。原创 2024-02-27 15:18:07 · 959 阅读 · 0 评论 -
Autosar-NvM配置详解-1
Fee:Flash的写操作只能是整页进行写,为了给用户层面提供一个类似单字节写操作的动作,Flash通过一些机制来实现这个过程。NvM:NvM主要考虑的是数据的存储,直接与应用层进行交互。它主要针对的对象是数据,关心的是数据的可靠操作,比如使用CRC验证数据是否正确等。MemIf:MemIf是为了解耦NvM层与Fee、Ea层而存在,有了MemIf层的存在,NvM层才能保持独立性。Ea是为了隔离EEPROM驱动与MemIf,保证Memif的独立性。按以下步骤创建Sw Data Def Props:.原创 2024-02-27 15:21:01 · 879 阅读 · 0 评论 -
Autosar-CanNm、Nm配置详解-2
当接收到NM PUD,并且PDU的整车唤醒位为1时(下图中bit4),而且CanNmCarWakeUpRxEnabled为TRUE,而且CanNmCarWakeUpFilterEnabled为FALSE,则Nm_CarWakeUpIndication被调用,然后在Nm_CarWakeUpIndication中再调用用户的CarWakeupCallout函数。CanNm中剩下的就是PDU的配置项,就是要配置TX NM PDU, RX NM PDU, 以及NM PDU中的用户数据部分。这是为特别节点设置的。原创 2024-02-20 09:20:59 · 852 阅读 · 0 评论 -
Autosar-CanNm、Nm配置详解-1
ComM要实现3种状态,那Can总线也要对应有3种状态:COMM_FULL_COMMUNICATION, COMM_NO_COMMUNICATION,COMM_SILENT_COMMUNICATION。一个系统中可能存在着多种NM设备,比如Can、Lin、Ethnet, ComM模块需要与这些设备进行通信,但是它不能与具体的设备通信,比如它不能直接调用CanNm的API,因为直接调用的话就与CanNm耦合在一起了。NM管理着很多的总线设备,各总线设备使能通信、禁止通信的过程中要与其他总线有个同步的过程。原创 2024-02-20 09:18:26 · 813 阅读 · 1 评论 -
Autosar-Mcal配置详解-MCU
根据手册,PLL0OUT = PLL0CLKIN * Nr / Mr * 1/6 = 80M, 根据这些信息配置PLL0.根据手册,PLL1OUT = PLL1CLKIN * Nr / Mr * 1/6 = 80M, 根据这些信息配置PLL1.TAUJ时钟 = MainOSC / 1 = 24M / 1 = 24M。ADC1时钟 = PLLCLK2 / 1 = 40M / 1 = 40M。ADC时钟 = MainOSC / 2 = 24M / 2 = 12M。CAN时钟 = PLLCLK = 80M。原创 2024-02-19 12:20:48 · 494 阅读 · 0 评论 -
Autosar-Mcal配置详解-Can
(1)发送节点Node_A比接收节点Node_B的时间慢了,也就是说Node_A当前位的ss段产生的时候,Node_B 当前位的ss段已经在2个Tq之前产生了;(3)这样就会导致接收节点Node_B的下一位能够提前2个Tq,从而Node_B的下一位采样点和Node_A下一位的采样点能够同步。(1)发送节点Node_A当前位的SS段诞生2Tq时长之后,接收节点Node_B的当前位才产生SS段;硬同步发生在报文的SOF位,所有接收节点调整各自当前位的同步段,使其位于发送的SOF位内;原创 2024-02-19 09:55:05 · 745 阅读 · 0 评论 -
Autosar-Mcal配置详解
解压后双击每个文件进行安装,因文件名太长有可能出现文件路径超过256字节的情况,建议把里面的安装文件放到磁盘的根目录,然后双击安装。外设的配置文件在这个压缩包中:《AUTOSAR_RH850_F1KM_MCAL_Ver42.08.00_SPAL_CAN_LIN_QM_MP_REE.zip》。生成的代码在Output文件夹中,里面是各个外设的子文件夹,每个文件夹又包含:src、include,分别存放了C代码的源文件和头文件。瑞萨的MCAL代码把外设的代码分成两部分,一部分是公共代码,即静态代码;原创 2024-02-18 14:44:46 · 645 阅读 · 0 评论 -
Autosar-BswM 配置详解
执行完后“BswM_AR_InitBlockTwo”,会切换到“BswM_AR_ReadAllComplete”这个步骤,如果条件满足的话,执行完该步骤的所有动作。2.在Mcu从running的状态切换到休眠和关机的状态时,BswM也需要执行模式的转换,并且最后切换EcuM的状态。BswM根据这个变量的状态,进入不同的状态机,执行不同的动作。上表配置内容的意思是,BswM初始化过程中会先走到“BswM_AR_InitBlockTwo”这个步骤,如果条件满足的话,会执行这个步骤所有的动作。原创 2024-02-18 10:54:44 · 823 阅读 · 0 评论 -
Autosar-EcuM配置详解
查看ETAS的相关资料,官方是建议在创建OS时创建一个TaskInit任务,然后配置它为自启动,这样的话EcuM_Init函数启动OS后,TaskInit任务就被自动启动了。但是ETAS工具是按Flexible来配置开关、机流程的,因此EcuM只需要在初始化的时候配置Block0和block1就可以了。接下来只能交给BswM来做了,在这里可以看出来了吧,EcuM和BswM要相互配合,MCU程序才能跑起来。以上这两部分初始化是在OS还没有启动前做的初始化动作,那还有一些OS启动后才能做的初始化还未进行。原创 2024-02-18 10:39:24 · 755 阅读 · 0 评论 -
Autosar-从0到1
RTE的配置赖于上面的所有步骤,因此需要在以上arxml文件导入工程,做好相应配置后,最后再去配置RTE。现在已经可以创建BSW代码了,那还需要创建RTE,OS代码,这两个又还要依赖ECUM和BSWM,因此在那之前还需要导入ECUM和BSWM.创建一个ECU Extract把以上的所有ECU的配置都抽取出来,外部供商有了ECU Extract就可以实现ECU的功能了。上两个步骤我们添加了BSWM和ECUM,因此生成BSW代码需要先把这两个模块先上,按以下步骤包含这两个模块。原创 2024-02-07 12:22:06 · 1019 阅读 · 0 评论