1 / 15
文档名称:

从MatlabSimulink生成易读可重用代码样稿.docx

格式:docx   大小:445KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

从MatlabSimulink生成易读可重用代码样稿.docx

上传人:梅花书斋 2020/11/28 文件大小:445 KB

下载得到文件列表

从MatlabSimulink生成易读可重用代码样稿.docx

文档介绍

文档介绍:从Matlab Simulink生成易读可重用代码
by: 吴少风
MATLAB提供从MATLAB代码或simulink模型生成C/C++代码功效。从MATLAB b版开始,MATLAB将代码生成Coder作为单独模块公布。MATLAB每十二个月更新两次,经过不停完善,新版本Coder功效更强大。用MATLAB生成C/C++代码含有MATLAB Coder、Simulink Coder、Embedded Coder三个功效模块,MATLAB Coder从MATLAB 代码生成代码,Simulink Coder从Simulink模型生成代码,Embedded Coder结合MATLAB Coder和Simulink Coder,生成嵌入式代码。利用代码生成功效,能够快速从模型生成可靠代码,应用越来越广泛。
要生成易于阅读、重用性好代码,必需进行具体设置。文中内容以易读、可重用为目标,建立嵌入式代码生成演示模型,了解Simulink代码生成相关工具,介绍具体设置步骤,最终生成轻易阅读、可重用代码,供单处理器单任务实时嵌入式系统应用。文中方法为严格控制生成代码个人总结。以文档展现,方便自己以后查看,也期望能为其它人提供部分方便。
简单示例
本部分搭建一个简单PI控制器模型,示范模型建立、设置、生成代码具体步骤。
新建嵌入式代码生成模型,MATLAB->simulink,New / Embedded Coder / Code Generation System。不选择通常simulink模板,可降低模型配置参数设置。
搭建如Error! Reference source not ,保留文档,设置文件名。
图 1. 一个简单示例模型
点击工具栏图标 ,设置模型配置参数,应用并保留。对嵌入式应用,固定步长,离散,可调参数,ERT目标,C语言,设置基础固定,未设置地方保持默认。
solver options: type -- Fixed step. solver -- Discrete.
optimization->signals and parameters:
Default parameter behavior -- tunable.
Pass reusable subsystem outputs as --输出较多选择structure reference.
hardware implementation: 按实际设hardware board, device, device details.
code generation:
System target file -- , Language -- C, generate code only. code generation objectives.
comments: include comments, 默认全选,可按需要选择。
symbols: 命名规则设置,按各自代码规范设置。
interface: 设置整个模型生成代码接口。
code interface package,可选择可重用,Pass root level I/O as,模型输入输出参数通常较多,通常选择结构体,structure reference,模型数据、输入、输出经过各自独立结构体传入参数;part of model data structure,一个结构体传入参数。也可选择不可重用。
configure model functions,点击进入,设置模型具体C原型。get default configuration,可修改模型默认initialize/step函数名,及参数,各输入输出单独作为函数参数,这和结构体传参是矛盾,不能同时设置。
code style: 设置代码风格。
Parentheses括号, -- Nominal(readability),按可读性优化。
Casting mode 强制转换方法,Nominal.
Code indentation 代码缩进, size -- 4.
Code placement: 代码放置,可设置变量定义或申明在单独文件还是和源代码放一起,头文件包含是< >还是" "。
Data type replacement: 数据类型替换。
设置模型中每一个基础模块属性。
包含名称、值、数据类型、采样时间等。子模块或引用模型等这类自定义模块,除了内部基础模块属性外,还要设置各自模块属性。模块中参数等值,必需根据设计配置;假如想使用可调参数,则将参数设置为变量,再设置变量值。生成代码模型中模块名设置,最好遵照目口号言命名规则,因