vector autosar RTM使用与集成

本文介绍了在基于TI芯片的autosarOS平台上,使用C/C++语言实现RTM(RuntimeMeasurement)以监控CPU负载的过程,重点讲述了RTM集成、MP的创建和配置,以及如何通过GetMeasurementItem获取实时cpuload数据。技术难点包括未使用XCP和DCM,以及手动测量控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键词

嵌入式、C语言、autosar、vector、cpuload

平台说明

项目Value
OSautosar OS
芯片厂商TI,
编程语言C,C++
编译器HighTec (GCC)

>>>>>回到总目录<<<<<<

技术背景

为了实现RTM的集成和CPUload的测量。

技术难点(关注点)

RTM的集成。只是用来临时监控,为节约开发时间,未用到XCP,DCM。仅实现了测量cpuload,未加入MP用于测量函数运行时间。

abbreviation

MPMeasurement Point
RTMRuntime Measurement

整体架构#流程

在这里插入图片描述

实现过程

一、RTM introduction

1.Runtime Measurement (RTM)允许用户确定BSW模块和用户代码段的运行时和CPU负载。
2.用于测量stack。
3.可以加入MP打桩。
4.可以用canoe作为上位机图形化显示,传输协议为XCP协议(CAN, FlexRay or Ethernet network communication)。

二、Architecture Overview

在这里插入图片描述
在这里插入图片描述

三、RTM集成

1.导入RTM module
在这里插入图片描述
2.创建MP ,RtmMeasurementPointType 为CPU_Load.
在这里插入图片描述

3.配置RtmCpuLoadMeasurement
在这里插入图片描述
在这里插入图片描述

4.配置通用参数
在这里插入图片描述

5.创建低优先级task放入Rtm_mainfunction
在这里插入图片描述

6.code
从文档中可知,可以通过调用GetMeasurementItem 获取cpuload。其中参数ItemType输入为RTM_ITEM_CPU_LOAD_CURRENT
在这里插入图片描述
从代码中可知计算cpuload的公式为。
在这里插入图片描述
其中deltaTime为在Rtm_MainFunction中调用Rtm_Time_MainFunctionRuntimeUpdate(currentTime, 0u);更新,所以deltaTime = Rtm_MainFunction的调度周期。
其中Rtm_CpuLoadTime会在退出idle task的时候被置为0,再次进入idle task的时候将时间间隔赋值给Rtm_CpuLoadTime。这个值用来表示非空闲任务所占用的时间,以此来计算cpu load。在这里插入图片描述
在这里插入图片描述
Rtm_GetCpuLoadTime(locCoreIndex)的值为Rtm_GetCpuLoadTimeOfPCPartitionConfig
在这里插入图片描述
在文档中可知,生成的OS_VTH_SCHEDULE会在task 抢占 激活运行的时候调用Rtm_StartMeasurementFct() 和Rtm_StopMeasurementFct()
在这里插入图片描述
在这里插入图片描述
因为没用到DCM和XCP,需要手动调用开始、结束测量和获取cpuload具体数值。可以设定一个标志位,用lauterbach去控制。找到对应的MP id ,调用Rtm_StartMeasurementFct(mp_id)
在这里插入图片描述
在这里插入图片描述

7.测试结果
仅显示为实时cpuload,瞬时有cpuload满了的情况。
在这里插入图片描述

小结

该笔记仅为临时使用,后续若用到并完善了XCP和canoe再更新。

>>>>>回到总目录<<<<<<

Autosar RTM是指Autosar Runtime Measurement(运行时度量)模块。RTM模块是AUTOSAR架构中的一个关键组件,用于对汽车电子控制单元(ECU)的性能进行度量和监测。RTM模块可以帮助开发人员了解ECU的负载情况,例如计算CPU负载。 要计算CPU负载,可以使用RTM模块提供的功能。具体步骤如下: 1. 导入RTM模块到项目中。可以从NXP官网获取AutoSAR的MCAL安装包,以获取RTM模块。 2. 在项目中配置RTM模块。需要设置RTM模块的核心定义(RtmCoreDefinitions),度量点(RtmMeasurementPoints),以及其他相关配置(RtmGeneral和RtmCpuLoadMeasurement)。 3. 使用RTM模块提供的API和接口来获取和计算CPU负载。可以根据具体需求,选择合适的度量点和方法来获取CPU负载数据。 需要注意的是,如果想要安装RTM1.0.0版本,需要通过NXP support系统提交case,申请相应的license和权限。安装RTM1.0.0版本可能需要更多的配置资料,但建议安装该版本以满足项目需求。 总结来说,Autosar RTM是一个用于度量和监测汽车电子控制单元性能的模块。要计算CPU负载,可以使用RTM模块提供的功能和API,并根据项目需求进行相应的配置和安装。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Autosar RTM】](https://blog.csdn.net/yuqian_ke/article/details/126009733)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [试用基于S32K144平台的AutoSAR4.2.1的MCAL](https://blog.csdn.net/bjxdbz/article/details/108372509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老灰╮(╯-╰)╭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值