[AutoSar]BSW_OS 06 Autosar OS_Alarms

这篇具有很好参考价值的文章主要介绍了[AutoSar]BSW_OS 06 Autosar OS_Alarms。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、


  

关键词

嵌入式、C语言、autosar、OS、BSW

平台说明

项目 Value
OS autosar OS
autosar厂商 vector ,
芯片厂商 TI 英飞凌
编程语言 C,C++
编译器 HighTec (GCC)

[AutoSar]BSW_OS 06 Autosar OS_Alarms,CP_Autosar,Autosar,BSW,OS
>>>>>回到总目录<<<<<<

一、Timer

  不管何种单片机,其硬件肯定都会有晶振,它将为系统提供基本的时钟信号。autosar OS可以用这个基准时钟去触发alarmsschedule table

1.1 配置

[AutoSar]BSW_OS 06 Autosar OS_Alarms,CP_Autosar,Autosar,BSW,OS
[AutoSar]BSW_OS 06 Autosar OS_Alarms,CP_Autosar,Autosar,BSW,OS

1.2Periodical Interrupt Timer (PIT)和High Resolution Timer (HRT)

  见[AutoSar]工程中的cpuload陷阱(一)

二、Alarm 工作机制

  1.在OS启动后,硬件中断会使TickTime增加,当System Counter == 设定的Alarm 的值的时候便会执行对应的alarm的动作;
  2.alarm action包括:①激活一个task。②设置一个时间用于extended task。③调用一个回调函数。④增加OS计数值。
  3.使能一个alram可以通过OS 启动或者另一个task去激活。

[AutoSar]BSW_OS 06 Autosar OS_Alarms,CP_Autosar,Autosar,BSW,OS

三、Code

3.1创建一个15ms的runnable

[AutoSar]BSW_OS 06 Autosar OS_Alarms,CP_Autosar,Autosar,BSW,OS

3.2mapping到basic task

[AutoSar]BSW_OS 06 Autosar OS_Alarms,CP_Autosar,Autosar,BSW,OS

3.3生成代码

FUNC(StatusType, OS_CODE) SetRelAlarm

(

  AlarmType AlarmID,

  TickType Increment,

  TickType Cycle

)

Rte_Start(void)中生成
    (void)SetRelAlarm(Rte_Al_TE_CpApSWC1_RunnableSWC1_AglDet_15ms, RTE_MSEC_SystemTimer(0U) + (TickType)1U, RTE_MSEC_SystemTimer(15U)); /* PRQA S 3417, 1840 */ /* MD_Rte_Os, MD_Rte_Os */
Rte_Stop(void)中生成
 (void)CancelAlarm(Rte_Al_TE_CpApSWC1_RunnableSWC1_AglDet_15ms); /* PRQA S 3417 */ /* MD_Rte_Os */
在Os_Alarm_Lcfg.c中生成
/*! Alarm configuration data: Rte_Al_TE_CpApSWC1_RunnableSWC1_AglDet_15ms */

CONST(Os_AlarmActivateTaskConfigType, OS_CONST) OsCfg_Alarm_Rte_Al_TE_CpApSWC1_RunnableSWC1_AglDet_15ms =

{

  /* .Alarm = */

  {

    /* .Job                   = */

    {

      /* .Dyn      = */ OS_ALARM_CASTDYN_ALARM_2_JOB(OsCfg_Alarm_Rte_Al_TE_CpApSWC1_RunnableSWC1_AglDet_15ms_Dyn),

      /* .Counter  = */ OS_COUNTER_CASTCONFIG_TIMERPFRT_2_COUNTER(OsCfg_Counter_SystemTimer),

      /* .Callback = */ Os_AlarmActionActivateTask

    },

    /* .Autostart             = */

    {

      /* .AlarmTime        = */ 0u, /* 0.0 sec */

      /* .Cycle            = */ 0u, /* 0.0 sec */

      /* .ApplicationModes = */ OS_APPMODE_NONE,

      /* .AlarmMode        = */ OS_ALARMMODE_ABSOLUTE

    },

    /* .AccessingApplications = */ (OS_APPID2MASK(OsApplication_Core3) | OS_APPID2MASK(SystemApplication_OsCore3) | OS_APPID2MASK(SystemApplication_OsCore4) | OS_APPID2MASK(SystemApplication_OsCore5)),  /* PRQA S 0410 */ /* MD_MSR_Dir1.1 */

    /* .OwnerApplication      = */ &OsCfg_App_OsApplication_Core3

  },

  /* .Task  = */ &OsCfg_Task_OsTask_core3_basic

};
  OS_ALARM_CASTCONFIG_ALARMACTIVATETASK_2_ALARM(OsCfg_Alarm_Rte_Al_TE_CpApSWC1_RunnableSWC1_AglDet_15ms),

>>>>>回到总目录<<<<<<文章来源地址https://www.toymoban.com/news/detail-818031.html

到了这里,关于[AutoSar]BSW_OS 06 Autosar OS_Alarms的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Autosar BSW层CAN控制器相关参数------11(物理层。位时间、Tq、采样点等)

            生活不易,猫咪叹气。好久没更新,距离上次更新已经是快半年前了。毕业到现在,已经在这家公司呆了快2年了。快的话一个月,慢的话两个月,马上就是提桶的日子了。                            说回我们的正题。                 平时在工作上,对于通

    2024年02月10日
    浏览(44)
  • AutoSar Classic Platform Os功能安全机制解析

    功能安全(Function Safety,有时也简称为FuSa)在工业控制、智能网联汽车、航空航天等安全关键领域中已经有了成熟的应用。在国内和国际,也有众多标准定义了它的思路、流程和规范。本系列文章试图以浅显的方式,为这方面的初学者提供一些有益的参考。 我们不妨先来看

    2024年02月14日
    浏览(44)
  • 【AUTOSAR】 项目和代码详解(二)----RTA-OS配置

    RTA-OS是一个静态可配置的、先发制人的实时操作系统用于高性能、资源受限的应用程序。RTAOS是开放标准AUTOSAR R3的完整实现。AUTOSARR4.0(含多核)、AUTOSAR R4.1、AUTOSAR R4.2、AUTOSAR R4.3操作系统规范,也完全符合版本2.2.3的OSEK/VDX操作系统的标准。OSEK现已在ISO 17356中标准化。 rtaoscfg是

    2024年02月07日
    浏览(158)
  • Autosar诊断实战系列16-UDS19 06扩展数据配置及工程问题讨论

    在本系列笔者将结合工作中对诊断实战部分的应用经验进一步介绍常用UDS服务的进一步探讨及开发中注意事项, Dem/Dcm/CanTp/Fim模块配置开发及注意事项,诊断与BswM/NvM关联模块的应用开发及诊断capl测试脚本开发等诊断相关实战内容。 Autosar诊断实战导读快速链接:

    2024年02月09日
    浏览(46)
  • 【AUTOSAR】--01 AUTOSAR网络管理基础

    AUTOSAR网络管理做了几个项目了,但发现还是有些理解不够深入的地方,最近趁着有个新项目也要做AUTOSAR网络管理,再从头梳理一下AUTOSAR网络管理,预计用2-3篇文章,把AUTOSAR网络重新梳理完成。 这是第一篇,主要从如下三部分展开描述: 1)AUTOSAR网络管理的基础知识; 2)

    2024年01月20日
    浏览(75)
  • 【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM

    在AUTOSAR分层架构中,AUTOSAR COM模块位于RTE和PDUR之间,提供面向信号的数据接口的RTE包装AUTOSAR信号I-PDUs拆包的传输收到I-PDUs和提供收到收到I-PDUs信号。RTE路由的信号分成I-PDUs成为传播信号路由组从收到I-PDUs,I-PDUs成为传播通信传输控制(启动/停止I-PDU组)复制发送请求之间最小距

    2024年02月09日
    浏览(45)
  • 【AUTOSAR】 项目和代码详解(八)----AUTOSAR CANIF 配置

    如下图所示,CANIF(CAN Interface)模块位于底层CAN设备驱动程序(CAN驱动和收发器驱动)和上层通信服务层(CAN状态管理器、CAN网络管理、CAN传输协议、PDU路由器)之间,它表示到上层通信层的CAN驱动程序的服务或接口。CAN接口模块提供了唯一的接口来管理不同类型的CAN硬件设

    2024年02月15日
    浏览(92)
  • AUTOSAR 项目和代码详解(一)----AUTOSAR开发工具链

    AUTOSAR开发工具链介绍 软件名版本 功能说明等 资源情况及指导文件 安装情况 备注 集成编译环境 CW for MPC55xx and MPC56xx 2.10 针对MPC55xx和MPC56xx系列,32位芯片。 FSLFlexLM,CW2.10和CW5.1的license管理器,需绑定真实的MAC地址 CWS12v5.1 针对S12系列,16位芯片。若需G64,则要安装补丁包《

    2024年02月16日
    浏览(53)
  • 【AUTOSAR应用层建模】-AUTOSAR Blockset工具箱

    Autosar Blockset工具箱是Matlab/Simulink发布的针对汽车电子控制领域进行Autosar 软件组件设计的工具箱,本文对该工具箱进行浅显的介绍,后续有机会将会进行具体的展开。 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 Simulink与MATLAB相集成,能够在Simul

    2024年02月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包