拓冰建站拓冰建站
首页 / 资讯中心 / 正文

[AutoSar]BSW_OS 06 Autosar OS_Alarms

一、目录一、关键词平台说明一、Timer1.1 配置1.2Periodical Interrupt Timer (PIT)和High Resolution Timer (HRT)二、Alarm 工作机制三、Code3.1创建一个15ms的runnable3.2mapping到basic task3.3生成代码关键词嵌入式、C语言、autosar、OS、BSW平台说明项目ValueOSautosar OSautosar厂商vector 芯片厂商TI 英飞凌编程语言CC编译器HighTec (GCC)回到总目录一、Timer不管何种单片机其硬件肯定都会有晶振它将为系统提供基本的时钟信号。autosar OS可以用这个基准时钟去触发alarms和schedule 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去激活。三、Code3.1创建一个15ms的runnable3.2mapping到basic task3.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),回到总目录
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门