读懂AUTOSAR :DiagnosticLogAndTrace DLT(四)-- API解析

一、周期调用的函数:Dlt_TxFunction

根据参数DltGeneralTrafficShapingSupport,决定如何去发送DLT消息。如果为TRUE,那需要参考参数DltLogChannelTrafficShapingBandwidth为每个Log通道设置发送带宽;如果为FALSE,那么所有缓存的DLT消息会立即发送。

    /* traffic shaping */
#if (DLT_ENABLE_TRAFFIC_SHAPING == STD_ON)
    txChannel->trafficShapingTimer += txChannel->transmitCycleTime;
    if (txChannel->trafficShapingTimer >= DLT_TIME_1S) {
        txChannel->trafficShapingTimer = 0u;
        txChannel->trafficShapingCount = 0u;
    }

    if (txChannel->trafficShapingCount >= txChannel->trafficShapingBandwidth) {
        Dlt_OverflowHandle(txChannel); /* avoid overflowTimer stop updating */
        return;
    }
#endif

Dlt_TxFunction函数会检查“缓冲溢出”标识。如果发生溢出,那么DLT命令“BufferOverflowNotification”会立即发出,直到“溢出”标识被清掉(经过DltLogChannelBufferOverflowTimer参数配置的时间,此标识自动被清掉)

如果一个DLT消息无法被发送,那么每次调用Dlt_TxFunction都会尝试发送一次该消息,直到尝试了DltLogChannelMaxNumOfRetries参数所配置的次数。

二、上层调用函数

2.1. Dlt_Init

2.2.  Dlt_RegisterContext

 入参:

1.  sessionId -- 对于BSW而言,应传入模块ID; 对于SWC而言,应传入端口定义参数值(port defined argument value)

2. appId -- 要注册的Application ID

3. contextId -- 要注册的Context ID

4. appDescription -- app 描述,最长255个字符 (这里所说的描述到底是什么?

5.  lenAppDescription -- app描述的字符长度

6. contextDescription -- context描述,最长255个字符

7. lenContextDescription -- context描述的字符长度

2.3. Dlt_SendLogMessage

这是BSW模块或SWC模块所使用的发送LOG报文的接口

 有如下入参。

sessionId--仅仅对BSW来讲,这实际上是模块号。例如Det模块号15.

logInfo--对报文进行滤波的相关信息的结构体。

logData--被记录的参数的buffer,这个指针表示Log报文的payload。

logDataLength--数据buffer的长度

Autosar是汽车行业广泛使用的一种软件架构标准,旨在提高汽车电子系统的可靠性和可维护性。它通过提供标准化的接口和通信协议,使得不同厂家和供应商开发的软件和硬件组件可以相容且互操作。Autosar标准包含了许多不同的模块和组件,它们分别负责不同的功能,如通信、诊断、操作系统等。要读懂Autosar代码,首先需要了解Autosar标准的整体架构和各个模块之间的关系。 在阅读Autosar代码时,需要熟悉标准中定义的各种接口和数据结构,了解它们的作用和用法。此外,还需要理解Autosar中使用的不同软件架构模式和设计模式,例如发布订阅模式、状态机模式等。很多Autosar代码都会按照这些模式进行设计和实现,因此读懂这些模式对于理解代码至关重要。 此外,由于Autosar标准是由多个汽车厂商和供应商共同制定和维护的,因此在阅读Autosar代码时还需要关注不同厂商或供应商对标准的实现方式和扩展。虽然Autosar标准化了接口和通信协议,但在实际应用中仍然存在一些厂商特定的实现和扩展,这些内容也需要在阅读代码时予以理解。 总之,要读懂Autosar代码,需要对Autosar标准有深入的了解,包括整体架构、各种接口和数据结构、软件架构模式和设计模式,以及不同厂商或供应商的实现方式和扩展。同时,也需要对汽车行业的背景和需求有一定的了解,这样才能更好地理解Autosar代码的含义和用途。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大表哥汽车人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值