此示例显示了如何为Raspberry PI™硬件模型使用Simulink®支持包的显式分区,以创建原子子系统并在金宝appMulti金宝appcore Raspberry PI处理器上执行任务。
多核编程可帮助您提高部署应用程序的性能,允许您在典型的计算负载下模拟,并尝试多种配置分区和映射应用程序的配置。
在该示例中,配置用于多核执行的覆盆子PI Simulink模型。金宝app此示例还向您展示了如何在单个核心覆盆子PI处理器上执行相同的Simulink模型,并比较单核和多核执行的金宝app结果。
我们建议您完成用于覆盆子PI硬件的Simulink支持包金宝app入门金宝app例子。
这个支持包金宝app有一个预配置的多核项目。
1.要打开此文件夹,请选择金宝appSimulink开始页面>金宝app用于覆盆金宝app子PI硬件的Simulink支持包>覆盆子pi multicore.。
2.在这方面创建项目对话框,输入项目名称,然后选择要保存项目的文件夹位置。
3.点击好的。
4.警告信息,项目文件夹不存在。你想创建它吗?
, 被陈列。点击是的。项目文件夹打开。
这楷模文件夹包含两个覆盆子PI Simulink模型。金宝app
覆盆子PI多核音频
覆盆子pi multicore简单
此示例展示了Raspberry PI MultiCore执行RaspBerryPI_Multicore_Simple Simulink模型的并发任务的执行。金宝app
要打开模型,请双击RaspBerryPI_Multicore_Simple模型。
这款Sim金宝appulink Model有三个方面,输入那功能, 和输出。
1。输入区域
该区域由柜台组成,其上限是10.
,以及随机数发生器。这采样时间计数器和随机数生成器块上的参数设置为0.5
秒。
2。功能区
计数器和随机数发生器输出乘以,并将所得输出与提供的值进行比较临界点堵塞。这临界点值设置为7.
。
3.输出区域
如果导致输出大于设置的值临界点模块时,树莓Pi板配置的LED灯点亮。
1.打开RaspBerryPI_Multicore_Simple Simulink金宝app模型。
2.在这方面硬件Simulink模型的金宝app标签,在模式部分,选择跑在船上然后点击构建,部署和启动。
3.要打开与Raspberry PI的SSH连接,请在Matlab®命令窗口执行此命令:
r = raspberrypi('
;
r.openshell.
4.要查看Raspberry PI Core上的负载,请在Raspberry PI shell执行此命令:
HTOP.
观察到仅利用一个CPU来执行模型,并且平均核心负载很高。
您可以配置Simulink模型以利用并发执行金宝app。配置模型以进行并发执行后,您可以选择要部署到您的模型的体系结构。
打开RaspBerryPI_Multicore_Simple Simulin金宝appk模型。
在这方面造型选项卡,单击模型设置。
选择硬件实现>硬件板并选择覆盆子PI.
设备。
选择代码生成>界面>高级参数并清楚地清除MAT文件日志记录
选择。
选择求解器,然后在里面求解器选择部分,选择固定步骤
为了类型和自动(自动求解器选择)
为了求解器。
在下面求解器细节, 选择允许任务同时执行目标。选择此选项时,Simulink允许引用的模型中的每个速率作金宝app为覆盆子PI处理器上的独立并发任务。
点击配置任务。
在里面并发执行对话框,下面并发性建模选项部分,选择为并发行为启用显式模型分区。
点击选择选择目标架构。
在里面目标架构对话框中,选择Multicorecustomapi-Multicore,具有核心亲和力
。
清除保留兼容属性选项可将现有目标属性设置重置为其默认值。或者,选择保留兼容属性选项以保留现有的目标属性设置。
点击好的。
这并发执行对话框更新包含代码生成属性如图所示的任务。
配置模型以进行并发执行后,可以使用显式分区添加单个任务并映射分区。这使您可以将模型的不同部分执行到架构的不同部分。有关更多信息,请参阅模型隐含和显式分区
将模型块转换为原子子系统
确保将模型的根级别转换为原子子系统块。
打开RaspBerryPI_Multicore_Simple Simulin金宝appk模型。
选择输入该模型的区域。
在这方面造型标签,下面成分部分,选择原子子系统来自从选择创建组件部分。
重复步骤2-3功能和输出模型的区域。
添加定期触发器和任务
周期性触发器代表多个定期中断源,例如多个定时器。触发的周期性是触发时间表或触发期间的任务的基本速率。此模型仅使用一个定期触发器。在定期节点下创建三个任务输入那功能, 和输出地区。
在里面并发执行对话框,右键单击定期节点并选择添加任务。任务节点出现在配置执行等级制度。
选择任务节点并输入任务的名称和句点,然后单击申请。在此示例中,任务的时段与块的采样时间相同,0.5
秒。
(可选)为任务指定颜色。颜色说明了块到任务映射。如果未分配颜色,则Simulink选择默认颜色。金宝app如果为模型启用采样时间颜色,则该软件致授予设置。
重复步骤1-3以为模型的每个区域创建周期性节点。
点击申请有必要的。
将块映射到任务,触发器和节点
创建任务和触发器后,您可以将分区显式分配给这些执行元素。
在里面并发执行对话框,单击任务和映射节点。这任务和映射窗格出现。原子子系统块在表中显示在表中,每个块下方的选择任务条目。
分配任务给输入原子子系统,点击选择任务盒子里的盒子姓名列和选择定期:Task1
从下拉列表中。块到任务映射符号显示在模型块的左上角。
重复步骤1-2功能和输出原子子系统。
1.打开RaspBerryPI_Multicore_Simple Simulink金宝app模型。
2.在这方面硬件Simulink模型的金宝app标签,在模式部分,选择跑在船上然后点击构建,部署和启动。
3.要打开与Raspberry PI的SSH连接,请在Matlab®命令窗口执行此命令:
r = raspberrypi('
;
r.openshell.
4.要查看Raspberry PI Core上的负载,请在Raspberry PI shell执行此命令:
HTOP.
观察到三个CPU内核用于执行模型,并且与单核执行相比,平均核心负载低。
笔记: 在里面楷模文件夹,提供了RASPBeryPI_Multicore_SIMPLE_TASKS_MAPPED SIMULI金宝appNK MODEM供您参考。该模型已被配置为同时执行,并且已明确划分。您可以在Raspberry PI板上部署金宝app此Simulink模型,并在Raspberry PI Shell窗口中观察类似的结果。
使用Raspberry PI资源监视器应用程序并观察壳体终端的核心占用率。参考使用覆盆子PI终端部分。
实现RaspBerryPI_Multicore_Audio Simulink模型金宝app楷模文件夹。
为任何Raspberry PI Simulink模型实现多核执行。金宝app