[AutoSar]基础部分 RTE 08 runnable mapping
2024-01-09 17:02:39
??
关键词
嵌入式、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://blog.csdn.net/weixin_42447823/article/details/135479514
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!