[AutoSar]BSW_OS 06 Autosar OS_Alarms
2026/9/8 14:52:03 网站建设 项目流程

一、

目录

  • 一、
  • 关键词
  • 平台说明
  • 一、Timer
    • 1.1 配置
    • 1.2Periodical Interrupt Timer (PIT)和High Resolution Timer (HRT)
  • 二、Alarm 工作机制
  • 三、Code
    • 3.1创建一个15ms的runnable
    • 3.2mapping到basic task
    • 3.3生成代码

关键词

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

平台说明

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


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

一、Timer

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

1.1 配置


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去激活。

三、Code

3.1创建一个15ms的runnable

3.2mapping到basic task

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),

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询