通过使用设置PIL连接目标
包
您可以使用目标计划
在Simulink之间提供PIL连接金宝app®以及目标硬件。在本例中,开发计算机是目标硬件。
-
创建一个
目标。董事会
对象,提供MATLAB®对目标硬件进行描述。hostTarget = target.create(“董事会”,…“名字”,“示例英特尔板”);
为了在金宝appPIL模拟中支持代码生成和数据I/O,将对象与处理器、连接和通信描述相关联。
-
为了支金宝app持代码生成,请将单板与
目标。处理器
对象,该对象包含语言实现。对于本例,创建一个目标。处理器
对象并重用现有对象目标。LanguageImplementation
对象。有关设置自定义的信息目标。LanguageImplementation
对象,看到注册新硬件设备。处理器= target.create(“处理器”,“名字”,“ExampleProcessor”);处理器。语言实现= target.get(“LanguageImplementation”,…“英特尔- x86 - 64 (Windows64)”);
关联
目标。董事会
对象使用new目标。处理器
对象,使用处理器
财产hostTarget。处理器= processor;
-
创建一个对象,其中包含执行目标应用程序的详细信息。对象描述在目标硬件上运行目标应用程序所需的工具。要捕获用于启动和停止目标应用程序的系统命令,可以使用
HostProcessExecutionTool
或SystemCommandExecutionTool
类。applicationExecution = target.create(“HostProcessExecutionTool”);applicationExecution。Name =“Windows应用程序”;
创建一个
命令
对象,用于下载和运行目标应用程序。给字符串变量赋值“(EXE)美元”
到字符串
属性作为目标应用程序名称的占位符,该名称直到执行时才知道。runCommand = target.create(“命令”);runCommand。字符串=“(EXE)美元”;applicationExecution。StartCommand = runCommand;hostTarget.Tools.ExecutionTools = applicationExecution;
-
创建一个
CommunicationInterface
对象,该对象为目标硬件提供通信通道的详细信息rtiostream API实现。使用:
发货的TCP/IP
rtiostream
实现源文件。一个
BuildDependencies
对象指定的rtiostream
API,与目标应用程序一起编译的源文件。一个
MainFunction
对象将参数传递给目标应用程序
Comms = target.create(“CommunicationInterface”);审稿。Name =Windows TCP接口;审稿。频道=“TCPChannel”;审稿。一个PIImplementations = target.create(“APIImplementation”,…“名字”,“x86 RTIOStream实现”);api = target.create(“API”,“名字”,“RTIO流”);com . apiimplementations . builddependencies = target.create(“BuildDependencies”);comms.APIImplementations.BuildDependencies.SourceFiles =…{fullfile (“(MATLABROOT)美元”,…“工具箱”,…“编码器”,…“rtiostream”,…“src”,…“rtiostreamtcpip”,…“rtiostream_tcpip.c”)};apiimplements . mainfunction = target.create(“MainFunction”,…“名字”,“TCP RtIOStream主”);com . apiimplementations . mainfunction . arguments = {“利用”,' 1 ',“- port”,' 0 '};hostTarget。通信接口=通信;
-
该步骤是可选的。PIL仿真使用通信协议在Simulink和目标硬件之间传输数据。金宝app的
目标。PILProtocol
类描述协议的参数。对于本例,您可以通过增加协议使用的I/O缓冲区大小来提高目标运行时性能。创建一个
目标。PILProtocol
对象,并指定I/O缓冲区大小。pilProtocol = target.create(“PILProtocol”);pilProtocol。Name =“Windows PIL协议”;pilProtocol。SendBufferSize = 50000;pilProtocol。ReceiveBufferSize = 50000;hostTarget。CommunicationProtocolStacks = pilProtocol;
如果不执行此步骤,默认执行
目标。PILProtocol
使用值。 -
您可以配置PIL模拟,为生成的代码生成执行时概要文件。要支持金宝app代码执行概要分析,必须创建一个计时器对象,该对象描述从目标硬件上运行的生成代码检索当前时间的过程。计时器对象描述必须包括检索时间的函数及其实现的描述。
这个例子使用了一个C函数,
timestamp_x86
,将当前时间返回为auint64
数据类型。timerSignature = target.create(“函数”);timerSignature。Name =“timestamp_x86”;timerSignature。ReturnType =“uint64”;
捕获API对象中的函数。
timerApi = target.create(“API”);timerApi。函数= timerSignature;timerApi。Language = target.Language.C;timerApi。Name ='Windows Timer API';
捕获函数的依赖关系,即运行函数所需的源文件和头文件。
timerDependencies = target.create(“BuildDependencies”);timerDependencies。IncludeFiles = {“host_timer_x86.h”};timerDependencies。IncludePaths = {“美元(MATLAB_ROOT) /工具箱/编码器/资料/ src”};timerDependencies。SourceFiles = {“host_timer_x86.c”};
创建一个组合了API和依赖项的对象。
timerImplementation = target.create(“APIImplementation”);timerImplementation。API = timerApi;timerImplementation。BuildDependencies= timerDependencies; timerImplementation.Name =“Windows定时器实现”;
创建计时器对象并将其与计时器信息关联。
Timer = target.create(“定时器”);计时器。一个PIImplementation = timerImplementation; timer.Name =“Windows计时器”;
将计时器分配给处理器对象。
处理器。定时器=定时器;
-
前面的步骤创建了用于通信和运行目标应用程序的目标硬件支持。金宝app现在,通过创建对象,在开发计算机和目标硬件之间建立连接
TargetConnection
对象。指定:通信信道,与目标硬件通信接口中指定的信道相同——请参阅第4步。
连接属性。
目标,即在前面步骤中指定的单板描述。
Connection = target.create(“TargetConnection”);连接。Name =“主机进程连接”;连接。目标= hostTarget;连接。CommunicationChannel = target.create(“TCPChannel”);connection.CommunicationChannel.Name =“外部流程TCPCommunicationChannel”;connection.CommunicationChannel.IPAddress =“localhost”;connection.CommunicationChannel.Port =' 0 ';
-
要在MATLAB中注册连接,请使用
target.add
函数将目标硬件和连接信息添加到MATLAB内存中。默认情况下,该信息仅对当前MATLAB会话可用。要使注册在MATLAB会话之间保持,请指定名称-值对“UserInstall”,真的
。target.add([hostTarget connection],“UserInstall”,真正的);
-
现在可以将开发计算机指定为PIL模拟的目标硬件。在运行PIL模拟之前,请在“配置参数”对话框中设置硬件板来
英特尔电路板示例
。
另请参阅
相关的话题
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。