我的任务是使用AUTOSAR的最新版本(R19-11)为CAN模块创建一个软件栈。我不会使用任何配置工具。根据我在AUTOSAR 网站上所读到的内容,这些模块是我必须实现的: CAN驱动程序、接口、状态管理器、PDU路由器和AUTOSAR COM。因为我不会使用数据超过8字节的帧,所以我不需要CAN传输协议模块。
当向堆栈下发送PDU时,一些模块向这些接收到的PDU(在本地称为SDU)中添加元数据,然后将它们发送到下一层。我已经读过,我们必须为这些PDU分配唯一的I。此外,我们必须有一个路由表(在PDU路由器内),它将用于根据每个PDU的ID来确定其目的地。
我的问题是:
发布于 2020-04-17 02:43:00
实际上,AUTOSAR中的配置工具的优点是,您不必一直手工操作代码及其配置。
那么,不实现CanTp也意味着,您没有客户诊断(UDS)吗?顺便说一下,CAN有高达64个字节的帧。
AUTOSAR_SWS_CommunicationStackTypes Ch中定义了PduIdType。8.1.1.SWS_COMTYPE_00005, SWS_COMTYPE_00006, SWS_COMTYPE_00007, SWS_COMTYPE_00014。
简而言之,它们是无符号整数,基于零并且是连续的,以便用作模块配置中的配置索引。它们是为每个BSW模块创建的,因此您有一组CanIf-PduIds、PduIds、IpduM、Com-PduIds、SecOC,它们也可以在Rx和Tx之间拆分(所以一组RxPduIds从0开始,而TxPduIds集也从0开始)。因此,一个CanFrames PDU可以在CanIf、PduR、Com等中具有不同的PDU in,并且多路复用帧被分成不同的PDU,每个多路复用器具有不同的PduIds。
关于它的另一章是AUTOSAR_TPS_EcuConfiguration Ch。3.4com-堆栈配置
它包含句柄It的概念,它们的定义,分配,甚至命名约定和一些用例.
https://stackoverflow.com/questions/61190007
复制相似问题