Simulink代码生成:Autosar模型及代码生成

目录

1. 模型搭建

2. 添加测试模型

3. 运行仿真

4. 代码生成

5. 总结 


1. 模型搭建

要开始在软件架构画布中开发AUTOSAR compositions和 components,需要创建一个AUTOSAR架构模型(需要System Composer)。

1. 创建架构模型

(1) 在Simulink窗口,创建新的Architecture如下图

(2) 选择AUTOSAR Blockset,并得到如下的Autosar架构画布,并保存

(3) 根据自己的项目实际情况添加软件组合或者软件组件,如图这里举例创建了三个不同时间周期的任务,另外可根据实际需求创建不同的软件算法模块

 (4) 把生成Embedded代码的模型放到Autosar的架构里,如下是生成Embedded code的模型

 

 (5) 把模型按照定义的Task进行分类,新建一个子模型,这里命名为Task_10ms

 

 (6)配置模型步长为10ms,定步长离散域

  (7)配置硬件参数,生成代码选择autosar.tlc

   (8)配置Autosar的版本,需要考虑和BSW用的版本对应

  (9) 调整模型的算法模块输入输出类型如下, Bus Element In 和 Bus Element Out, 其他软件Task也用这种方法,分别创建不同的模型

 配置输入输出的数据类型

 最后得到每个算法模块的模型,如下:

 (10) 用Software component调用各个算法模型

全都调用后如下图所示 

 (11) 最后连接每一个模块

到这一步,Composition就创建好了,我们需要用到台架测试能否正常工作

2. 添加测试模型

 (1)替换到原先生成Eembedded代码的模型 

 (2)信号的输入需要添加Bus creator 输出需要添加Bus selector

3. 运行仿真

 仿真效果与Embedded code的模型一样,没有问题

 

4. 代码生成

(1)点Export, 找到Generata Code and ARXML

 (2)选择把代码和ARXML打包成zip

 (3)等待生成代码的过程,出现如下表示生成完成

 

  (4)生成的代码和ARXML文件

5. 总结 

 以上就是用Autosar的架构系统仿真和代码生成,对于Autosar的软件结构,数据结构还有很多内容需要学习,以上只是演示如何利用Simulink的System Composer功能完成架构的设计,怎么把嵌入式的模型调整成架构式的模型,对于代码生成也同样有很多需要了解和配置的地方,有时间再总结吧

AUTOSAR框架中创建软件组件(SWC)和进行模型建模与接口配置,首先需要对AUTOSAR架构有深入的理解,特别是组件(SWC)的结构和Arxml配置。这包括了解组件的接口、端口以及函数和变量的定义方式。推荐参考《AUTOSAR SWC与MBD联合开发详解》,该资料详细介绍了整个开发流程和关键概念。 参考资源链接:[AUTOSAR SWC与MBD联合开发详解](https://wenku.csdn.net/doc/7imb86yfs1?spm=1055.2569.3001.10343) 创建SWC的基本步骤如下: - 定义SWC功能:明确软件组件需要实现的功能,并规划如何与其他组件交互。 - 创建接口:设计组件间的通信接口,包括定义输入和输出端口。 - 编写代码:在.h和.c文件中实现具体的函数和变量,其中.h文件定义接口,.c文件实现功能逻辑。 - 配置Arxml:将组件信息以及接口详细描述写入ARXML配置文件中,确保信息的标准化和准确性。 而通过MBD工具进行模型建模和接口配置,需要执行以下操作: - 搭建MBD开发环境:安装并配置支持AUTOSAR标准的MBD工具,例如MATLAB/Simulink。 - 创建模型:根据SWC的功能定义,使用图形化工具搭建模型。 - 模型配置:将ARXML文件导入MBD工具,使得模型AUTOSAR标准下的接口和组件属性一致。 - 验证和测试:运行模型并进行仿真测试,验证组件行为符合预期。 - 更新Arxml:根据模型调整后的结果,更新Arxml配置文件,保证代码生成的准确性。 - 代码生成:最后,利用MBD工具的代码生成功能,自动生成符合AUTOSAR标准的C代码。 通过上述步骤,可以在AUTOSAR框架内创建标准化的软件组件,并利用模型驱动开发的优势来提高开发效率和质量。 参考资源链接:[AUTOSAR SWC与MBD联合开发详解](https://wenku.csdn.net/doc/7imb86yfs1?spm=1055.2569.3001.10343)
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卡洛斯伊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值