Simulink自动代码生成(一)

  一个simulink模型能够生成代码首先要满足的条件:

 1:确保模型仿真的正确性
 2:将需要的输入和输出改成input和output模块
 3:离散化模型,设置求解器为离散,固定步长

满足上面条件后,接下来怎么生成嵌入式C代码呢?

一 : 嵌入式C代码生成

1:将系统目标文件(system target file)设置成 ert. tlc( Embedded Coder ) 如下图:
在这里插入图片描述

2:硬件实现规定(Hardware Implenmatation) 假如生成的代码用到的硬件平台是stm32,则可以如下设置:
在这里插入图片描述
完成上面的两步操作后,就可以用快捷键ctrl+B生成嵌入式C代码了。但是会发现生成的代码可读性很差所以下面来看怎么优化自动生成的C代码。

二 : 嵌入式C代码生成优化

1:首先我们可以看到 Code Generation 下拉菜单的 Optimization选项:

  当模型中使用参数变量,如Gain模块的增益值,在生成代码时,如果希望使用该参数的值直接展现到代码中,就需要设置参数内联选项,如下图所示框中选项:
在这里插入图片描述
2: 移除数据变量初始化为0。如下图设置:
在这里插入图片描述
3:设置当代码生成后以报告的形式自动打开
在这里插入图片描述
4:设置注释是否展现到代码中,推荐启动注释选项并勾选 Simulink block Stateflow object comments 选项以生成注释,注释中带有可以从代码跳转到对应模型的超链接,方便追溯模块与代码的对应关系。
在这里插入图片描述
5:通过设置各种标示符的不同组合,规定生成代码中各部分变量、常量、函数名、结构体及对象名称的生成规则。不建议修改,如图:
在这里插入图片描述
这些标示符的具体意义如下表所列:
在这里插入图片描述
6:用于添加模型中用到的用户自定义的源文件、头文件等。
在这里插入图片描述
7:C代码中移除real-time模型的结构体数据的错误状态,如图:
在这里插入图片描述
8:设置生成C文件的组织方式,对应的生成文件个数不同 ,具体如下表所列:
在这里插入图片描述
为了简洁,一般设置如下,
在这里插入图片描述
9:生成的C代码中数据类型名的重定义如下:
在这里插入图片描述
**注意:用户填入的自定义类型名不仅是一个别名字符串,还必须在Base Workspace或者数据字典中定义其作为Simulink .AliasType类型对象才可以。**如下:
在这里插入图片描述
转载:https://blog.csdn.net/weixin_38451800/article/details/87986280

  • 12
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值