这个例子展示了如何使用ARM®Cortex-A处理器的Embedded Coder®支持包来金宝app使用PIL模拟验证代码。
配置一个Simulink金宝app模型以作为处理器在环(PIL)仿真运行。在PIL仿真中,生成的代码在仿真的ARM Cortex-A9 (QEMU)仿真器上运行。将PIL仿真结果传输到Simulink®,验证仿真结果与代码生成结果的数值等效性。金宝appPIL验证过程是设计周期的一个关键部分,用来检查生成代码的行为是否与设计相匹配。更多信息PIL模拟技术,见SIL和PIL模拟.有关QEMU仿真器的更多信息,请参见QEMU的网站。
本节展示如何为Controller子系统自动生成PIL块,以验证生成代码的行为。
1.打开arm_cortex_a_pil_block模型。该模型是一个装置-控制器系统的测试装置系统。
2.在硬件选项卡,单击金宝app硬件设置.在“配置参数”对话框中设置代码生成>验证>高级参数>创建块来公益诉讼.点击好吧.
3.右键单击控制器子系统,原子子系统,代码复用子系统(金宝app模型)块,并选择块参数(子系统).2 .在“功能块参数”对话框中,选择当作原子单位对待.点击好吧.
4.右键单击子系统块并选择C/ c++ Code >将这个子系统部署到硬件上.
5.在“子系统的构建代码”对话框中,单击构建.一种新的模式,无标题的*
,包含一个以子系统命名的PIL块。
6.复制PIL block from无标题的*
到测试线束模型。关闭无标题的*
模型不保存。
7.在模拟选项卡,单击金宝app运行使用生成的PIL块在ARM Cortex-A (QEMU)上执行来启动模拟。
在PIL仿真中,测试线束模型在Simulink中执行,而PIL块在嵌入式处理器上执行。金宝app属性指定的持续时间内运行模拟仿真停止时间价值。在模拟过程中,您可以:
使用手动开关在两个输出之间切换
观察数值差异的范围。
本节展示如何使用模型(金宝app模型)块公益诉讼工作流。
1.打开arm_cortex_a_model_pil_block模型。CounterA模型参考块包含仿真模型。CounterB模型参考块包含PIL模拟中要测试的模型。有关模型引用的更多信息,请参见参考现有的模型(金宝app模型).
2.在应用程序选项卡的Simulin金宝appk工具条,在代码验证,验证和测试,点击银/公益诉讼经理.
3.在银/公益诉讼选项卡的Simulin金宝appk工具条,设置被测系统来SIL/PIL模式的模型块
.
4.在PIL模拟模式下配置和运行CounterA块。打开CounterA方块蒙版,右键单击方块并选择块参数(ModelReference).在“功能块参数:CounterA”对话框中设置模拟模式来Processor-in-the-loop(公益诉讼)
.点击好吧.
5.在银/公益诉讼选项卡,单击金宝app运行验证使用在ARM Cortex-A (QEMU)上执行的参考模型块来启动PIL模拟。
6.当模型运行时,Scope1显示运行在ARM Cortex-A (QEMU)上的PIL模拟输出。Scope2显示了正常模式的模拟输出。
本节展示了如何创建和测试一个顶级模型PIL模拟。
1.打开arm_cortex_a_top_model_pil模型。
2.在应用程序选项卡的Simulin金宝appk工具条,在代码验证、验证和测试,点击银/公益诉讼经理.
3.在银/公益诉讼选项卡的Simulin金宝appk工具条,设置被测系统来顶级模特
并设置银/公益诉讼模式来Processor-in-the-Loop(公益诉讼)
.
4.启动PIL模拟模型,上银/公益诉讼选项卡上,单击运行验证.
当PIL模拟停止时仿真数据检查自动打开以显示输出的比较,count_a
和count_b
,在模拟和PIL执行之间。