主要内容

使用PIL进行代码验证和验证

这个例子向您展示了如何使用嵌入式Coder®支持包为ARM®Cortex®-M处理器进行代码验证和验金宝app证使用PIL。

简介

在本例中,您将学习如何配置Simulink®模型以运行处理器在环(PIL)模拟。金宝app在PIL模拟中,生成的代码运行在QEMUARM Cortex-M3仿真器。公益诉讼的结果模拟传输模型来验证数值模拟的等效和代码生成的结果。金宝app公益诉讼验证过程中的一个重要部分设计周期,确保部署代码的行为匹配设计。

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

  • 配置一个Simulink金宝app模型以在ARM Cortex-M3 (QEMU)仿真器目标上运行PIL仿真

先决条件

我们建议填写开始使用ARM Cortex-M处理器的嵌入式编码器支持包金宝app的例子。

任务1 -使用PIL块验证子系统生成的代码

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

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

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

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

1.打开公益诉讼块模型。此模型配置用于ARM Cortex-M3目标。的目标是创建PIL块控制器子系统,您将运行在QEMU ARM Cortex-M3模拟器。

2.打开建模页签,按“CTRL+E”打开“Configuration Parameters”对话框。去代码生成>验证>创建块,并选择公益诉讼

或者,您可以通过以下命令从MATLAB®命令窗口启用PILset_param(“arm_cortex_m_pil_block”、“CreateSILPILBlock”、“公益诉讼”)

3.创建一个PIL块控制器子系统:

一个。右击控制器block in PIL, and go toC / c++代码并选择将这个子系统部署到硬件

4.运行PIL模拟:

一个。复制并放置PIL Cortex-M3控制器块在PIL块。

b。单击运行图标(或按Ctrl+T)来模拟模型。

5.一旦启动模拟,就会启动运行PIL块的QEMU会话。,可以在原始和PIL块子系统之间切换手动开关块。双击数值的差异块来看看模拟的区别控制器子系统和PIL块运行在QEMU模拟器上。

任务2 -验证引用模型代码使用PIL

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

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

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

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

1.打开太平船型模型。此模型配置用于ARM Cortex-M3目标。该模型包含两个model块,它们都指向相同的引用模型。您将配置一个Model块以PIL模式运行,而另一个将设置为普通模式。

2.配置并运行CounterAPIL模式下模型块:

一个。右击CounterA块和选择块参数(ModelReference)

b。选择模拟模式>Processor-in-the-loop(公益诉讼)并点击好吧

3.当模型开始运行时,Scope1显示在QEMU模拟器上运行的PIL仿真输出Scope2显示正常模式模拟输出。

任务3 -验证顶级模型代码使用PIL

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

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

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

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

1.打开顶级模特PIL模型。此模型配置用于ARM Cortex-M3目标。

2.运行顶层模型PIL仿真:

一个。打开应用程序选项卡,选择银/公益诉讼经理

b。银/公益诉讼选项卡上,选择银/公益诉讼模式>Processor-in-the-loop(公益诉讼)选项,并单击运行验证

3.当PIL模拟结束时,alogsOut变量在基本工作空间中创建。的logsOut数据包含PIL仿真结果。您可以访问记录的信号数据count_a而且count_b使用如下命令:

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

  • count_a.Values.Data

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

  • count_b.Values.Data

总结

本例介绍了使用PIL仿真的代码验证工作流程。