温馨提示:关注公众号“嵌入式软件实战派”回复“AUTOSAR”获得整个AUTOSAR实战教程。
前面讲完了SWC和Port的基本知识原理和配置过程,接下来讲Runnable。
前面的文章请见:《AUTOSAR SWC详解》《AUTOSAR Port原理概念详解》《AUTOSAR Port配置教程》
1. Runnable是什么东西?
在讲Runnable之前,首先要搞清楚什么是Runnable?如果你要简单粗暴的答案,那就是:Runnable就是一个C语言的运行函数。说是简单粗暴的答案,其实是不是很严谨的答案,Runnable也有可能是个宏定义的一串东西,以宏函数的形式表现出来。我也很好奇,为啥AUTOSAR管这玩意叫Runnable。按我理解,就这个英语单词来看,它是个可运行的东西,其实AUTOSAR官方也叫Runnable Entity,这样理解的话,它就是跟RTE扯上关系了。这个东西绝对跟RTE、Task这种东西绑一起的。从最终生成的代码来看也印证这一点。其实,不用纠结,Runnable就是SWC的一部分,是在RTE中可运行的东西,或者单纯理解为一个运行函数。
2. Runnable的不同种类
凡是都分个三六九等,Runnable根据不用的用法场景也有不同的作用。Runnable可以是由周期触发执行,也可以是某个时间触发执行,仅仅用于初始化时执行也可以。我们分别称它们为:
3. On Data Reception Runnable配置
接下来看看Runnable的配置。前面讲Port的配置的时候,已经讲过这个On Data Reception Runnable配置了,我们再复习下。
1.给李家的SWC新建一个Runnable
2.接着在Port Access选择Read
3.在Trigger的窗口里New一个On Data Reception的Trigger