当前位置: 首页 > news >正文

AUTOSAR—TM模块介绍及使用概要

TM模块在服务层,提供一些基于时间的服务功能,如测量CPU和任务的负载,周期执行一些回调函数。
主要功能: 定时器复位、获取时间宽度、定时器转换、定时器同步、繁忙等待

根据所要测量的场景不同,有1us16bit、1us24bit、1us32bit、100us32bit四种类型可选;
以1us16bit定时器类型为例,讲几个常用函数。
Tm_ResetTimer1us16bit(Tm_PredefTimer1us16bitType* TimePtr):对定时器实例进行复位;
Tm_GetTimeSpan1us16bit(Tm_PredefTimer1us16bitType* TimePtr, usint16* TimeSpanPtr) : 计算当前时间和参考时间的差;
Tm_ShiftTimer1us16bit(Tm_PredefTimer1us16bitType* TimePtr, usint16 TimeValue): 偏移定时器实例的参考时间,直接将定时器数值进行偏移;
Tm_SyncTimer1us16bit(Tm_PredefTimer1us16bitType* TimeDstPtr, Tm_PredefTimer1us16bitType* TimeSrcPtr): 同步两个定时器,把源定时器时间值给到目的定时器
Tm_BusyWait1us16bit(uint8 WaitingTimeMin) :通过保证最短等待时间进行轮询来执行繁忙等待,说白了就是延时一段时间

  • 例子:

1、在测试代码执行所用时间时就可以这样:

Tm_ResetTimer1us16bit(Tm_PredefTimer1us16bitType* TimePtr)
/运行的代码/
Tm_GetTimeSpan1us16bit(Tm_PredefTimer1us16bitType* TimePtr, usint16* TimeSpanPtr) 

2、对于需要在不同时间执行不同逻辑的周期任务中,可以搭建时间状态机:参考Tm用户手册;

关于Gpt:Tm模块依赖于Gpt驱动,在Gpt配置中要做如下配置:

1、	在General-> GptPredefTimer1usEnablingGrade中选择api等级
2、	在GptPredefTimerChannelConfig中配置通道
具体的配置可以参考《AUTOSAR_MCAL_GPT_UM.pdf》

相关文章:

  • 深入剖析 Kubernetes 弹性伸缩:HPA 与 Metrics Server
  • 文件解析:doc、docx、pdf
  • 开发环境搭建-06.后端环境搭建-前后端联调-Nginx反向代理和负载均衡概念
  • RAG了解与实践
  • QEMU源码全解析 —— 块设备虚拟化(1)
  • MySQL root用户密码忘记怎么办(Reset root account password)
  • Java面经
  • 字节跳动AI原生编程工具Trae和百度“三大开发神器”AgentBuilder、AppBuilder、ModelBuilder的区别是?
  • 蓝桥试题:传球游戏(二维dp)
  • 基于海思soc的智能产品开发(芯片sdk和linux开发关系)
  • unity console日志双击响应事件扩展
  • C#核心(21)万物之父Object中的方法
  • Lambda表达式使用介绍
  • 【Bootstrap5】Bootstrap5学习笔记
  • 数据库复习(第五版)- 第七章 数据库设计
  • 3.6c语言
  • 【算法系列】基数排序
  • 维度建模事实表技术基础解析(以电商场景为例)
  • 洛谷 P1480 A/B Problem(高精度详解)c++
  • 相机几何与标定:从三维世界到二维图像的映射
  • 六旬老人举报违建后遭蒙面袭击续:海南陵水县住建局已暂停俩房产项目网签
  • 以色列称“将立即允许恢复”人道主义物资进入加沙
  • 被围观的“英之园”,谁建了潮汕天价违建?
  • 上海:到2027年,实现近海航线及重点海域5G网络高质量覆盖
  • 30平米的无障碍酒吧里,我们将偏见折叠又摊开
  • 呼吸医学专家杜晓华博士逝世,终年50岁