关键词
嵌入式、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。
二、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陷阱(一)第二节。
文章来源:https://www.toymoban.com/news/detail-816070.html
>>>>>回到总目录<<<<<<文章来源地址https://www.toymoban.com/news/detail-816070.html
到了这里,关于[AutoSar]基础部分 RTE 08 runnable mapping的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!