内容简介:自动生成代码技术具有生成的代码效率高、一致性好、开发便捷等诸多优点,也正是因为这些优点使得这项技术已经成为汽车、航空航天、工业控制等领域嵌入式软件开发的主流方式。本次研讨会将主要讨论如何通过Embedded Coder从Simulink/Stateflow模型生成嵌入式C代码,如何通过数据对象定义C代码中的变量和参数,如何定制C代码的函数原型,如何控制C文件的生成,如何生成可以重用的C代码,如何对被引用的模型进行代码生成,如何进行代码和模型的等效性测试等话题。simulink的c代码生成工具有3种:Embe
编辑推荐: |
本文来自于csdn,文章将主要讨论如何通过Embedded Coder从Simulink/Stateflow模型生成嵌入式C代码,希望对您的学习有所帮助。 |
自动生成代码技术具有生成的代码效率高、一致性好、开发便捷等诸多优点,也正是因为这些优点使得这项技术已经成为汽车、航空航天、工业控制等领域嵌入式软件开发的主流方式。本次研讨会将主要讨论如何通过Embedded Coder从Simulink/Stateflow模型生成嵌入式C代码,如何通过数据对象定义C代码中的变量和参数,如何定制C代码的函数原型,如何控制C文件的生成,如何生成可以重用的C代码,如何对被引用的模型进行代码生成,如何进行代码和模型的等效性测试等话题。
simulink的c代码生成 工具 有3种:
Embedded coder:自动生成嵌入式系统的C/C++代码
Simulink coder:自动生成Simulink/Stateflow的C/C++代码
Matlab coder:自动生成Matlab的C/C++代码
下面是一个比较好的自动代码生成教学视频:simulink自动代码生成
视频主要内容如下:
1、使用simulink coder生成代码;
2、使用embedded coder生成代码;
然后对以上两种方式生成的C/C++代码进行管理,主要有以下应用场景:
1.使用数据对象进行数据管理;
2.代码生成的优化配置;
3.模型机算法函数原型的控制;
4.子系统算法函数以及文件的控制;
5.从自定义模块生成可重用代码;
6.平台化模型的代码生成;
7.代码的等效性测试(SIL: software in the loop)。
使用数据对象进行数据管理的过程如下:simulink代码生成通过数据对象进行数据管理。具体而言,就是先设置数据对象,然后将数据对象和模型参数关联,就可以通过配置数据对象影响代码生成。
这里的对象和平时所说的面向对象编程是同一个概念,类(class)有一个包,包里面又会包括几个类,而类里面会定义方法(method)和属性(property)。我们可以通过类去创建对象或者说派生对象,然后可以通过类里面的属性值去设置这些类派生对象的属性。
simulink里面有两个包:simulink package、mpt package(专门用于嵌入式代码生成)。
简单的基于simulink的嵌入式代码生成
这篇文章生成的是通用行的C代码,也就是将生成的代码直接加入工程中就可以使用,不存在控制器的差别
模型如下
第一步:设置解算器
固定步长,离散,0.01s运行一次算法
代码生成选项,选择ert.tlc,这个生成的嵌入式代码
代码生成页面
可以看见我们生成的代码中的变量是用结构体进行计算的,那么这么简单的算法,我们能否用平时习惯的变量方式去表示呢,答案是肯定的,这就需要我们进行数据的管理
二、数据管理
首先,双击信号线为信号线添加名称,那么我们就简单的对信号线命名为x,y,z。之后点击2选项
这里存储类型一定不能是auto.
之后代码生成crtl+b
以上所述就是小编给大家介绍的《Simulink模型的嵌入式代码》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Looking For a Challenge
the University of Warsaw / the University of Warsaw / 2012-11 / 0
LOOKING FOR PROGRAMMING CHALLENGES? Then this book is for you! Whether it's the feeling of great satisfaction from solving a complex problem set, or the frustration of being unable to solve a task,......一起来看看 《Looking For a Challenge》 这本书的介绍吧!