[AutoSar]基础部分 RTE 08 runnable mapping

目录

  • 关键词
  • 平台说明
  • 一、runnable mapping的必要性
  • 二、runnable mapping 通用规则
  • 三、Task type
  • 四、可以不用mapping的runnbale

  

关键词

嵌入式、C语言、autosar、runnable

平台说明

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

在这里插入图片描述

一、runnable mapping的必要性

  runnable如果不mapping的话只是相当于一个函数,OS无法调度,并且一定会在Davinci configurator中报错(当前runnable未mapp)。
  runnable mapping到task之后,将调度交给了OS,在满足一定条件的时候将触发运行runnable。
[AutoSar]基础部分 RTE 08 runnable mapping_第1张图片

二、runnable mapping 通用规则

①同类型的runnable尽量放到同一个task例如init类型。
②同周期的runnable尽量放到同一个task。
③如非必要,将同核的runnable放到同一个task。
④mapping的时候考虑好runnable的优先级核task优先级。
⑤mapping的时候考虑好多核间的cpuload 均衡。

三、Task type

  详细的在后面OS章节讲解,在这里只需要知道如果选auto类型,并且在同一个task中mapping了不同周期的runnable,会被自动判定为extended类型的task。
在这里插入图片描述

四、可以不用mapping的runnbale

①BSW层中的服务组件的callback类型runnable。
②C/S中的服务端runnable,如下图,CpApSWC1中有两个runnable,一个为C/S服务端,一个为10ms类型的runnable。只要我们至少在task中mapping了那个10ms的runnable,那么另一个C/S 服务端的runnable就可以不mapping。至于mapping和不mapping的区别,详情见 [AutoSar]工程中的cpuload陷阱(一)第二节。
[AutoSar]基础部分 RTE 08 runnable mapping_第2张图片

你可能感兴趣的:(CP_Autosar,Autosar,RTE)