主要内容

代码验证和验证与PIL和监视和调优

本示例向您展示了如何使用嵌入式Coder®支持包STMicroelectronics®STM32处理金宝app器进行代码验证和验证使用PIL和监视和调优。

在本例中,您将学习如何配置Simulink®模型来运行处理器在环(PIL)以及监视和优化模拟。金宝app在PIL模拟中,生成的代码运行在STM32 Discovery板上。将PIL仿真结果传输到Simulink中,验证仿真结果与代码生成结果的数值等价性。金宝appPIL验证过程是开发周期的关键部分,它可以确保部署代码的行为与设计相匹配。

监视和调优在模型在目标上运行时启用参数调优和数据记录。

本例介绍了Simulink代码生成和验证工作流,向您展示金宝app了如何:

  • 配置Simulink模型金宝app可在STM32F4-Discovery板或STM32F746G-Discovery板或STM32F769I-Discovery板上运行PIL仿真。

  • 配置一个Simulink金宝app模型来监视和调优。

先决条件

我们建议填写开始使用意法半导体发现板的嵌入式编码器支持包金宝app

所需的硬件

  • STMicroelectronics STM32F407G-Discovery、STM32F746G-Discovery或STM32F769I-Discovery板

  • USB type A转Mini-B电缆

  • USB TTL-232电缆- TTL-232R 3.3V (STM32F4-Discovery板串口通讯)

请注意:此示例使用FTDI朋友USB TTL-232R 3.3V适配器。

请注意:对于STM32F746G-Discovery或STM32F769I-Discovery板,您可以使用与该板编程相同的USB连接所提供的USB串口。

PIL仿真通信接口的选择

嵌入式编码器支持包的意法半导体发现板支金宝app持PIL。

STM32F4-Discovery板支持两种不同的PIL金宝app通信接口:ST-LINK和串行。ST-LINK通信接口不需要任何额外的电缆或硬件,除了用于连接STM32F4-Discovery板到主机的USB type a转Mini-B电缆。串口通信接口需要使用USB TTL-232线缆。使用串行通信接口运行PIL仿真比使用ST-LINK运行PIL仿真快得多。我们建议尽可能使用PIL的串行接口。与PIL不同,用于监视和调优的模拟只使用串行通信接口。因此,您必须有所需的USB TTL-232电缆

STM32F746G Discovery板和STM32F769I-Discovery板支持PIL和Monitor和Tunin金宝appg,通过串口USB连接,在板上标记为ST-LINK。串口通信接口不需要任何硬件,只需通过USB a转Mini-B线缆连接到单板的ST-LINK接口即可。

1.按照以下步骤选择通信接口:

  • 在STM32F4-Discovery板上打开为代码生成配置的模型。要在STM32F746G-Discovery板或STM32F769I-Discovery板上工作,请在“配置参数>硬件实现>目标硬件”窗格中更改目标硬件。对于STM32F4-Discovery,在配置参数>硬件实现>目标硬件资源>公益诉讼>PIL通信接口中,选择ST-LINK串行(USART2)为PIL模拟选择通信方法。

  • 例如,可以在stm32f4discovery_pil_block模型,如图所示。

对于“STM32F746G-Discovery”或“STM32F769I-Discovery”,“配置参数”中的“>硬件实现>目标硬件资源> PIL > COM口”输入Windows操作系统串口的COM口。按照步骤3和步骤4配置COM口。

2.对于STM32F4-Discovery,如果您选择使用串行通信接口,请遵循下面的硬件设置说明:

  • 将USB TTL-232电缆的接地脚连接到其中一个接地STM32F4-Discovery板上的引脚

  • 将USB TTL-232线缆的RX引脚连接到STM32F4-Discovery板上的引脚

  • 将USB TTL-232线缆的TX引脚连接到阿兹卡班的囚徒第三章STM32F4-Discovery板上的引脚

  • 将USB TTL-232电缆的USB端连接到主机

  • 通过USB type a to Mini-B线缆连接STM32F4-Discovery单板,为单板上电

3.完成上述步骤后,您的主机上应该可以使用一个新的串行/ COM端口。要找到与适配器电缆相关的COM端口,请遵循以下步骤:

  • 在Windows®中打开设备和打印机

  • 双击USB TTL-232适配器设备的条目

  • 在设备属性对话框中,单击“硬件”选项卡,然后单击“属性”按钮

  • 单击“端口设置”页签

4.将COM端口号复制到Simulink模型,如图所示。金宝app

使用PIL块验证子系统生成的代码

这个例子展示了如何使用PIL块进行子系统代码验证。用这种方法:

  • 您可以验证为子系统生成的代码

  • 您必须提供一个测试控制模型来提供一个测试向量或刺激输入

  • 您必须将原始子系统与生成的PIL块交换;您应该小心避免在这种状态下保存您的模型,因为您将失去您原来的子系统

1.打开stm32f4discovery_pil_block模型。此模型配置用于STM32F4-Discovery目标。你可以运行这个模型STM32F746G-DiscoverySTM32F769I-Discovery目标,通过将硬件板更改为STM32F746G-DiscoverySTM32F769I-Discovery在“配置参数>硬件实现”窗格中。

的目标是创建PIL块控制器您将在STM32发现板上运行的子系统。

2.按照上面任务1中的步骤选择PIL通信接口。

3.的任务1 -步骤2启用PIL使用PIL进行代码验证和验证(ARM Cortex-M处理器金宝app的嵌入式编码器支持包)的例子。

4.创建一个PIL块控制器的任务1 -步骤3使用PIL进行代码验证和验证(ARM Cortex-M处理器金宝app的嵌入式编码器支持包)的例子。

5.的任务1 -步骤4运行PIL模拟使用PIL进行代码验证和验证(ARM Cortex-M处理器金宝app的嵌入式编码器支持包)的例子。

6.对于STM32F4-Discovery,一旦启动PIL模拟,就会启动一个新的OpenOCD会话。OpenOCD用于将代码下载到处理器。如果选择ST-LINK作为PIL通信接口,那么在PIL仿真过程中也将使用OpenOCD进行主机到目标的通信。在STM32F746G-Discovery或STM32F769I-Discovery上,将生成的可执行文件复制到单板的Windows盘符中。

7.,可以在原始和PIL块子系统之间切换手动开关块。双击数值的差异块来看看模拟的区别控制器子系统和运行在STM32发现板上的PIL块。

使用PIL验证引用的模型代码

这个例子展示了如何通过运行PIL模拟来验证为引用模型生成的代码。用这种方法:

  • 您可以验证为引用模型生成的代码

  • 您必须提供一个测试控制模型来提供一个测试向量或刺激输入

  • 您可以轻松地在正常和PIL模拟模式之间切换Model块

1.打开stm32f4discovery_model_pil_block模型。此模型被配置为STM32F4-Discovery目标。你可以运行这个模型STM32F746G-DiscoverySTM32F769I-Discovery目标,通过将硬件板更改为STM32F746G-DiscoverySTM32F769I-Discovery“配置参数>硬件实现”。该模型包含两个model块,它们都指向相同的引用模型。注意,硬件板更改也必须通过双击在参考模型中进行CounterTypeACounterTypeB打开引用的模型并执行上面的步骤。您将配置一个Model块以PIL模拟模式运行,另一个以正常模式运行。

2.按照上面任务1中的步骤选择PIL通信接口。

3.配置并运行CounterA模型块在PIL模拟模式下的任务2 -步骤2使用PIL进行代码验证和验证(ARM Cortex-M处理器金宝app的嵌入式编码器支持包)的例子。

4.当模型开始运行时,Scope1显示在STM32发现板上运行的PIL模拟输出Scope2显示正常模式模拟输出。

验证顶级模型代码使用PIL

这个例子展示了如何通过运行PIL模拟来验证为模型生成的代码。用这种方法:

  • 您可以验证为顶级模型生成的代码

  • 必须配置模型以从MATLAB工作区加载测试向量或刺激输入

  • 您可以轻松地在正常和PIL模拟模式之间切换整个模型

1.打开stm32f4discovery_top_model_pil模型。此模型配置用于STM32F4-Discovery目标。你可以运行这个模型STM32F746G-DiscoverySTM32F769I-Discovery目标,通过将硬件板更改为STM32F746G-DiscoverySTM32F769I-Discovery“配置参数>硬件实现”。

2.按照上面任务1中的步骤选择PIL通信接口。

3.的任务3 -步骤2运行顶层模型PIL仿真使用PIL进行代码验证和验证(ARM Cortex-M处理器金宝app的嵌入式编码器支持包)的例子。

4.PIL模拟完成后,alogsOut变量在基本工作空间中创建。的logsOut数据包含PIL仿真结果。您可以访问记录的信号数据count_acount_b使用如下命令:

  • count_a = get(logsOut,'count_a');

  • count_a.Values.Data

  • count_b = get(logsOut,'count_b');

  • count_b.Values.Data

使用STM32F746G-Discovery或STM32F769I-Discovery板进行监视和调优

在构建原型和开发算法时,在算法在硬件上运行时监视信号和调优参数是很有用的。的仿真软金宝app件监视和调优Feature启用了此功能。STM32F746G-Discovery和STM32F769I-Discovery板支持基于通用测量和校准协议(X金宝appCP)的监视和调谐。

金宝appSimulink为支持XCP的目标提供了以下附加特性:金宝app

  • 仪表板对象,如滑块和仪表板范围。有关更多信息,请参见指示板

  • 模拟数据检查器(SDI),用于可视化记录的信号。有关更多信息,请参见模拟数据检查器

STM32F4-Discovery板不支持XCP。金宝app关于STM32F4-Discovery板的使用方法,请参见外部模式,使用STM32F4-Discovery板

在此任务中,将运行stm32f7discovery_external_mode模型。

1.打开stm32f7discovery_external_mode模型。

2.这个示例模型为日志记录选择了一个信号。若要选择其他信号,请右键单击所需信号并选择日志选择信号选择。

3.指定串行通讯端口根据说明书PIL仿真通信接口的选择部分。

4.硬件选项卡,单击监视和调优配置模型进行仿真。

此时,您的模型正在STMicroelectronics Discovery板上运行,并从Monitor & Tune与Simulink通信。金宝app您可以选择模拟>数据检查按钮查看已记录的信号,如图所示。

5.您可以通过以下方式优化参数并可视化选择的日志记录信号:

  • 双击Manual Switch块以更改输入源。

  • 使用滑块改变信号增益。

  • 双击Scope块以查看模拟结果。

在执行这些操作时,模型在目标上实时运行。

6.控件,停止监视和调优模拟停止按钮,如图所示。

停止Monitor & Tune模拟将终止在STM32 Discovery板上运行的代码的执行。

注意:在模拟过程中的任何时候,您都可以打开外部模式控制面板,如图所示。的硬件>控制面板提供更多选项,例如在不终止所生成代码的执行的情况下连接或断开与目标的连接。

限制

在XCP上运行Monitor & Tune有一些限制。有关详细列表,请参见利用XCP通信进行外部模式仿真(金宝app仿真软件编码器)