只需轻点按钮,您就可以使用 MATLAB 和 Simulink 生成代码并在硬件上运行。但编码只是其中一环。了解如何使用 MATLAB、Simulink 和 Polyspace,完成下一个嵌入式系统从原型构建到量产的设计、编码和验证。您可以:
- 生成优化的 C、C++、CUDA、Verilog、VHDL 和结构化文本
- 使用浮点和定点设计工具来进行成本与性能的权衡
- 使用在环测试验证和分析生成的代码
- 符合标准,如 AUTOSAR、ISO 26262、DO-178、MISRA C 和 CERT C
- 使用硬件支持包附加功能,在从 Arduino® 到 Zynq® 的主流开发板上进行原型构建
“利用基于模型的设计,我们成功地进行了首飞,控制和集成方面都没有任何问题。我们使用 Embedded Coder 从 Simulink 模型生成控制律代码,不再因手动生成代码而拖慢进度,让团队有更多时间着眼于整个项目在更高层面的目标。”
从 MATLAB 生成代码
只需三个迭代步骤即可从 MATLAB 生成 C、C++、CUDA 和 HDL 代码。代码可随处运行和部署:从桌面端到移动设备,再到嵌入式系统。MATLAB Coder 可以随着设计的演化自动生成新代码,无需手动编码。这样可以加速并实现更多的设计迭代。
您可以将生成的代码作为源代码、静态库或动态库,集成到在 MATLAB 之外、于桌面端或云端运行的应用程序中。您也可以将生成的代码打包为 MEX 函数,直接在 MATLAB 中使用。
从 Simulink 生成代码
使用 Embedded Coder 将您的模型转换为高质量的源代码和可执行文件,用于原型构建和量产。您可以使用默认的 C/C++ 设置,也可以借助 SIMD 指令、数据存储类以及代码在内存区段中的布局来进一步优化性能。生成可直接集成到您的运行时系统中的 ANSI/ISO C/C++、MISRA-C 或 AUTOSAR 源代码。您也可以生成完整的即用型可执行文件,它会自动下载到您的自定义硬件设备上并运行。
使用双向可追溯性链接检查模型的生成代码,或生成包含代码、数据、函数接口和代码指标的报告。
定点
使用丰富的数据类型和工具,从双精度快速转向开发 8 位、16 位和 32 位定点及单精度算法。Fixed-Point Designer 提供数学、按位、数组和矩阵运算等函数,帮助您针对定点和浮点计算优化设计。
从您的 MATLAB 代码、Simulink 模型和 Stateflow 图轻松生成行为一致的 C/C++ 代码,以及可综合的 Verilog® 和 VHDL® 代码。
使用数据类型覆盖,您的嵌入式定点或单精度设计可以即时切换到双精度,以分析量化的影响。此外,相关工具还能帮助您快速定位溢出、精度损失以及范围或精度浪费的根源。
验证设计和代码
编写和管理需求,并将其追溯到模型、生成的代码和测试用例。检查设计是否符合模型标准,例如 MAB。开发和执行基于仿真的测试(包括软件在环、处理器在环和硬件在环的测试)。使用 Embedded Coder,您可以通过任务级和函数级性能剖析来分析生成的代码。
Polyspace 产品支持手写代码和生成的代码。您可以通过它们来证明软件中不存在运行时错误、强制执行编码规则,并使用 CWE、CERT-C 和 ISO/IEC 17961 等标准检查安全漏洞。
硬件支持
无论您的应用是信号处理、计算机视觉、图像处理还是控制系统,都可以快速生成代码并针对您的硬件进行编译。
生成代码并在嵌入式平台(如 Raspberry Pi™ 或 Arduino®)上进行原型构建。在移动平台上,您可以将生成的代码集成到自己的 App 中,并在 iPhone、iPad 或 Android™ 设备上运行,包括访问摄像头、麦克风和加速度计等设备内置传感器。将嵌入式系统部署到功能强大的微处理器。
此外,MathWorks 和 Connections 合作伙伴为主流硬件提供内置的即交即用式集成。
了解更多