嵌入式编码

产生用于嵌入式系统的优化的C和C ++代码

嵌入式编码®生成可读的,紧凑的,和快速的C和C ++用于在大规模生产中使用的嵌入式处理器代码。它扩展MATLAB编码器™和Simulink编码器™与高级万博1manbetx优化用于所产生的功能,文件和数据的精确控制。这些优化提高编码效率,促进与遗留代码,数据类型和校准参数集成。您可以将第三方开发工具来构建嵌入式系统或快速原型板上交钥匙部署的可执行文件。

嵌入式编码提供了内置的支持万博1manbetxAUTOSARMISRA C®和ASAP2软件标准。它还提供了追踪报告,代码文档和自动化软件验证,以支持万博1manbetxDO-178IEC 61508ISO 26262软件开发。嵌入式编码代码是便携式的,并且可以被编译并在任何处理器执行。此外,嵌入式编码提供支持的产品具有先进的优化和设备驱动程序万博1manbetx具体硬件

了解企业如何生成生产代码与嵌入式编码器,用于控制信号处理图像处理和计算机视觉机器学习应用。

入门:

配置代码生成

为嵌入式编码器配置代码生成设置®,您使用的MATLAB编码器应用MATLAB®或嵌入式编码快速入门Simulink的。万博1manbetx您还可以配置每个设置直接使用MATLAB命令和脚本。

从MATLAB编码器应用程序,您可以:

  • 生成代码为您的MATLAB文件和函数
  • 选择您的处理器和代码生成输出
  • 选择嵌入式编码优化

从嵌入式编码快速入门Simulink中,您可以:万博1manbetx

  • 生成代码为您的Simulink模型和子系统万博1manbetx
  • 选择您的处理器和代码生成输出
  • 选择嵌入式编码来优化RAM或执行速度

采用嵌入式编码快速启动从Simulink中的JumpStart产品代码生成。万博1manbetx

选择目标

嵌入式编码器使用配置对象和系统目标文件到您的MATLAB代码和Simulink模型转化为产品质量的源代码和可执行文件。万博1manbetx

对于MATLAB,您指定的以下输出目标之一:

  • MEX文件
  • C / C ++静态库
  • C / C ++可执行

对于Si万博1manbetxmulink中,您所指定的现成运行的配置,其中包括一个:

嵌入式实时目标- 生成ANSI / ISO C,C ++,和封装C ++代码具有用于高效的实时执行浮点和定点数据在几乎任何生产处理器

AUTOSAR目标- 生成C代码和运行时的界面,支持发展万博1manbetxAUTOSAR软件组件(需要AUTOSAR模块组)

共享库目标- 生成您的主机平台执行代码的共享库版本,无论是作为一个Windows®动态链接库文件(.dll)文件或UNIX®共享对象(的.so)文件

此外,MathWorks公司和第三方提供扩展嵌入式编码,以支持MATLAB的附加组件万博1manbetx具体硬件包括ARM®英特尔®,NXP™,意法半导体®和德州仪器™。

使用硬件支持包快速部署在嵌入式万博1manbetx设备上生成的代码。

使用自定义数据工作

嵌入式编码,可以定义和控制生成的代码模型数据出现如何促进软件集成。

为MATLAB代码,嵌入式编码支持所有MATLAB编码器的数据定万博1manbetx义,包括定点对象和预定义的存储类。

对于Si万博1manbetxmulink模型,嵌入式编码支持以下数据字典和规范功能:万博1manbetx

嵌入式编码字典- 允许您查看和自定义代码定义,包括函数接口,存储类,部分和存储单元

万博1manbetxSimulink的数据对象- 提供预定义存储类,包括常量,易挥发,远销全球,全球进口的,定义指令,结构,位字段(包括比特封装结构),以及获取和设置访问方法

模块封装的数据对象- 提供先进的数据预先配置的属性的对象通常在大规模生产中使用,诸如存储器段来校准或调整查找表

用户数据类型- 允许您创建抽象类型复杂的数据,因此可以精确控制模型数据如何显示在生成的代码,接口与任何遗留数据,并增强或替换Simulink的内置类型万博1manbetx

嵌入式编码,您可以访问ASAP2数据交换文件在Simulink,让您与使用ASAP2标准的复杂数据定义导出模型数据。万博1manbetx您可以修改内置功能,产生其他的数据交换机制。

使用嵌入式编码字典定义和控制模型和数据是如何出现在生成的代码。

优化和包装代码

使用嵌入式编码器,可以控制功能边界,保存表达式,并在多个块应用的优化,以进一步减少代码量。数据经由全局变量或函数参数所生成的代码进行交换。你可以跟踪你的模型中生成的代码块和信号。

从MATLAB代码和Simulink模型生成代码嵌入式编码选项使您可以:万博1manbetx

  • 生成的数学函数和操作的处理器专用代码
  • 对于出口到传统的或外部环境重用代码
  • 消除不必要的初始化,终止,日志记录和错误处理代码
  • 仅整数的应用程序删除的浮点代码

其他嵌入式编码器的优化和配置选项可用于Simulink模型,使您能够:万博1manbetx

  • 生成代码变种使用预处理程序的编译宏
  • 控制每个生成的文件的格式
  • 确定数据如何被全球的定义和引用
  • 指定的内容和评论安置

SIMD代码生成从Simulink模型。万博1manbetx

评论,跟踪和记录代码

嵌入式编码提供了检查生成的代码为您的MATLAB文件和函数或您的Simulink模型和子系统的几个功能。万博1manbetx利用这些功能,您可以:

  • 生成代码报告描述的代码模块,功能接口和静态代码度量
  • 控制标识格式生成的全局数据,数据类型和函数
  • 包括MATLAB代码生成的代码注释,包括函数帮助文本

使用Sim万博1manbetxulink,嵌入式编码还提供了插入高层次的需求与链接到需求的源代码注释的功能(需要万博1manbetxSimulink的要求™)。对于Simulink的代码生成的代码报告万博1manbetx还包括一个代码的接口描述,可追溯性报告,和生成的源文件和代码的显示。模型和生成的代码之间存在双向链接,因此很容易每行代码和其相应的Simulink模型元件,包括子系统,块,MATLAB函数和代码之间导航,并万博1manbetxStateflow的®图表和过渡。

万博1manbetxSimulink的代码生成报告,强调算法和实现之间的双向追溯。

执行和验证码

嵌入式编码,您可以合并生成的代码到你的代码执行环境。

使用MATLAB,如由编码器MATLAB提供从使用相同的执行框架嵌入式编码执行生成的代码。

使用Sim万博1manbetxulink,嵌入式编码显著扩展了Simulink的编码器提供的实时执行框架。默认情况下,代码可具有或不具有实时操作系统(RTOS)和在单任务,多任务,多芯,或异步模式中执行。您也可以使用嵌入式编码器,用于软件在环(SIL)和处理器在环(PIL)测试验证代码的执行结果。万博1manbetxSimulink的TestTM万博1manbetxSimulink的覆盖范围帮助自动化测试执行,结果比较,并覆盖分析。还支持执行代码分析分析。万博1manbetx

生成主计划

嵌入式编码器将基于您提供在实时环境中部署的代码信息的可扩展的主程序。此功能可以生成并从建立模型的完整定制的可执行文件。

执行多速率,多任务和多内核代码

嵌入式编码使用模型中指定的周期的采样时间生成单速率或多速率代码。对于多速率,多任务的机型,它采用了一个名为速度分组,对于基准利率任务和模型中的每个子速率任务生成独立的功能策略。您还可以使用Simulink的并发万博1manbetx执行模型制作多线程代码的多核处理。

执行SIL和PIL测试

嵌入的用于SIL测试或使用Simulink仿真模式或S-功能块PIL测试嵌入式目标在Simulink生成的代码编万博1manbetx码器能自动化执行。万博1manbetxSimulink的测试有助于自动化测试执行,并从最初的模拟结果的测试结果进行比较。可以进行结构代码覆盖分析,测量测试的完整性万博1manbetxSimulink的覆盖范围或与第三方工具的集成。代码分析分析提供主机或目标处理器的执行时间。

执行软件合环(SIL)和处理器在环(PIL)的通过嵌入式编码器生成的代码测试。

最新功能

对于ARM FFT代码替换库支持万博1manbetx

产生用于快速傅立叶变换(FFT),使用代码替换库对于臂的Cortex-A和Cortex-M处理器优化的代码

减少数据副本

生成具有用于数据存储的存储块存储子系统内和跨模型参考边界大的总线结构中较少的数据的副本的代码

优化多维数组

通过重用多维数组是保持尺寸的缓冲区减少内存

位运算符

通过从逻辑运算块生成位运算符减少ROM

多线程图像处理工具箱功能

由生成代码增加执行速度为图像处理工具箱功能与多线程功能

SIMD矢量化的循环

使用SIMD内部函数向量化循环和数组英特尔和ARM处理器

校准和检测通过XCP和第三方工具

生成代码,它支持参数调谐和信号监测通过万博1manbetx一个ASAM MCD-1 XCP通信信道以及第三方校准工具如ETAS INCA和矢量CANape的

看到发行说明对任何这些特征和对应的功能的详细说明。

编码器峰会

观看现场工程师和开发人员提出了新的功能,软件设计,嵌入式代码生成,等等。