Autosar SWC在Simulink中设置多个runnable

本文介绍了如何在Simulink中利用Autosar开发应用层软件,特别是针对不同运行周期的函数调度。通过建立多个runnable并在FunctionCallGenerator中配置调用周期,结合function-call,可以实现不同周期的任务调度。步骤包括模型建立、设置调用周期、创建runnable、映射function以及代码生成。关键点在于TreatEachDiscreteRateAsASeparateTask选项的设置,以生成多个runnable的Arxml文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Simulink中开发autosar应用层软件,对于多种不同运行周期的函数调度需求,有两种方案,

1.SWC只有一个runnable,在SWC内部通过stateflow触发Event事件来调度,配合function-call即可实现

2.SWC建立多个runnable,在利用FunctionCallGenerator与function-call配合,生成的runnable放到对应的task中调用,即可实现。

第一种方案在非autosar的simulink模型开发中很常见,本文主要描述第二种方案的实现过程。

目录

Step1:建立模型

Step2:设置调用周期

Step3:function-call触发

Step4:建立runnable

Step5:runnable与function映射

Step6:生成代码

注:


Step1:建立模型

建立符合Autosar的Simulink模型,包括RTE接口等

该模型只为测试使用,仅供参考

Step2:设置调用周期

利用FunctionCallGenerator设置调用周期

本例设置两个周期,一个0.01s,一个0.02s

Step3:function-call触发

Subsystem内利用function-call,生成周期性调用的函数。在该Subsystem实现对应的函数逻辑。

Step4:建立runnable

Autosar Dictionary中建立runnable,本示例建立了两个runnable,与前面的function-call对应

Step5:runnable与function映射

在Autosar SW Component中建立runnable与function的映射关系

Step6:生成代码

如下所示,生成了两个函数,即两个runnable。

将生成的arxml导入bsw工程中,进行后面的task mapping即可。

注:

需要将Treat each discrete rate as a separate task勾选,才可以生成多个runnable

若发现生成的Arxml文件是多个,请在Autosar Dictionary-XML Options选择Single file,则生成的只有一个对应模型名的Arxml文件。

附件

测试模型及生成的代码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赞哥哥s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值