Simulink自动代码生成:Code Generation配置(一)

  本节我们来学习 Code Generation 相关内容,可以说 Code Generation 配置是自动代码生成最重要的配置,虽然很多情况下很多配置不需要改动(默认的配置就满足需求),但是明白它们是如何影响代码生成的对我们项目开发还是相当必要的,也便于我们在需要更改代码配置的时候做到心有数。接下来我将分几节对该部分内容进行讲解,主要是写一篇长文章需要耗费的时间太长了,博主还要上班实在没时间一次写那么多。

一. 打开 Code Generation

  建立如图所示的仿真模型,该模型在之前文章中出现过,不知道它是什么意思的去查找以前的内容,链接如下:
   Simulink自动代码生成:原子子系统(Atomic Subsystem)
在这里插入图片描述
  单机 Model Settings 图标打开 Configuration Parameters 对话框,之后就可以看到 Code Generation 选项了。在 Code Generation 选项下有很多子选项,之后我们将对这些子选项进行一一讲解,并演示它们对代码生成的影响,在此大家先不要着急。
在这里插入图片描述

二. 对 Code Generation 进行配置

2.1 对 Target selection 进行配置

  选中 Code Generation 会看到对话框右侧有几个选项,下面对一些常用的选项进行讲解,若你们感兴趣也可以自己进行更深入的探究。
  首先是 Target selection,该选项可以对系统目标文件,代码生成的目标语言进行配置,我们所生成的软件针对的是嵌入式系统,因此在 Browse 中选择 ert.tlc(Embedded Coder),代表生成的目标文件为嵌入式软件。Language 选项选择C而不是选择C++,通常情况嵌入式开发都是把C语言作为首选语言。
在这里插入图片描述

2.2 对 Build process 进行配置

  (1)编译过程(Build process):在这里我们选择只生成代码。若不勾选此选项会多生成一些文件,对代码本身没有影响,因此为了减少生成不必要的文件我们对其进行勾选。
  (2)对 Package code and artifacts 进行设置,在不勾选 Package code and artifacts 时生成的文件如下:
在这里插入图片描述
  勾选 Package code and artifacts 并将压缩文件的名字改为 MyCalculation 后生成的文件如下:
在这里插入图片描述
在这里插入图片描述
  对比之下可以看出文件路径中多了一个名为 MyCalculation 的压缩包,将压缩包解压后,可以看到里面包含了所有源文件和头文件。
在这里插入图片描述
  Toolchain settings 包括以下配置参数:
  Toolchain - 指定一组第三方软件工具,用来编译生成的代码。工具链可以包含编译器、链接器、存档器和其他预编译或编译后工具,用于在目标硬件上下载并运行可执行文件。
  Toolchain 的默认值为 “Automatically locate an installed toolchain”。Toolchain 参数显示 “Automatically locate an installed toolchain” 下方的工具链的名称。
  点击 Validate Toolchain 按钮,检查工具链是否存在,并验证代码生成器是否具有使用该工具链所需的信息。生成的 Validation Report 将指出选定的工具链是通过验证还是验证失败,并标识要解决的问题。
在这里插入图片描述
  打开帮助文档可以看到 Toolchain 相关解释。
在这里插入图片描述
  笔者这个没有出现 Validate 按钮,正常情况下应该是有的,如图所示,还请高人指点我的为什么没有。
在这里插入图片描述
  Build configuration - 指定优化设置。默认情况下,Build Configuration 设置为 “Faster Builds”。您还可以选择 “Faster Runs”、“Debug” 和 “Specify”。如果选择 “Specify”,您可以自定义工具链的选项。当您点击 Apply 时,自定义工具链设置将应用于当前模型。
在这里插入图片描述

2.3 对 Code generation objectives 进行配置

  首先对 Prioritized objectives 进行设置,它表示代码生成目标的优先级,也就是你生成的代码以什么为首要目标,比如代码执行最快,或是占用内存最少,或是要优先满足什么标准等。在此我选择大多数汽车行业都要遵循的标准MISRA C:2012 guidelines。在这里插入图片描述
  相关的解释在帮助文档中可以看到。
在这里插入图片描述
  是否检查模型设置,点看下拉菜单可以看到三个选项:(1)在生成代码前不检测模型,(2)在生成代码前检测模型并发出警告,(3)在生成代码前检测模型并发出警告和停止代码生成。同时也可以点击 Check Model 手动进行代码检测。
在这里插入图片描述
  检测完成后,可以得到模型检测报告,指出模型中不合理的地方,方便我们对其进行修改。
在这里插入图片描述

三. 总结

  本节内容比较简单,接下来我们将用几节的时间对 Code Generation 其它子选项进行讲解。耐心的看完所有配置,相信大家会对代码生成有一个初步的认识,博主本人也只是一位普通的学习者,希望大家能互相探讨,互相进步。

  • 27
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
Simulink代码生成是指将Simulink模型转换为可执行代码的一项功能。通过使用Simulink Coder工具箱,用户可以生成C语言、C++代码或二进制可执行文件,从而可以在目标硬件上运行Simulink模型。 Simulink代码生成的过程分为以下几个步骤:首先,用户需要配置代码生成器选项,包括指定目标硬件和选择代码生成器工具。其次,用户需要将Simulink模型中的各个模块映射到目标硬件的函数或任务。然后,代码生成器会将模型转换为等效的C或C++代码。最后,用户可以使用所生成的代码与目标硬件进行集成和执行。 Simulink代码生成的好处是可以节省开发时间和提高开发效率。通过使用代码生成器,用户不需要手动编写大量的底层代码,从而减少了出错的可能性。此外,代码生成器还提供了一些优化选项,可以有效地提高代码的运行效率和占用资源的效率。 Simulink代码生成还具有可维护性和可扩展性的优势。生成的代码易于理解和修改,可以根据需要进行定制。此外,用户还可以使用生成的代码作为基础,构建更复杂的系统或进行后续的开发和调试。 总而言之,Simulink代码生成是一种将Simulink模型转换为可执行代码的功能,它可以提高开发效率、减少错误,并具有可维护性和可扩展性。它是一种强大而灵活的工具,可以满足各种应用领域和开发需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

谁呀!咋滴了!

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

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

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

打赏作者

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

抵扣说明:

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

余额充值