外部模式通过启用参数调优和信号监控来验证算法代码。在本节中,您将向目标添加外部模式特性。
这里我们假设您的硬件是通过串行通信接口连接到主机的。如果您的硬件通过以太网接口连接到主机计算机,也可以采用类似的步骤。否则,您可能需要创建自定义外部模式。有关创建自定义外部模式的详细信息,为TCP/IP或串行外部模式通信创建传输层(金宝app仿真软件编码器).
创建并添加ExternalMode
对象,extModeObj
,你的目标
对象,tgt
,通过调用addNewExternalMode
例如,使用此外部模式配置使用的名称,“RM46 SCI外部模式”
.
extModeObj = addNewExternalMode (tgt,“RM46 SCI外部模式”);
不要删除ExternalMode
对象,extModeObj
,来自MATLAB®工作空间,然后保存目标。
确认外部模式配置“RM46 SCI外部模式”
添加到您的目标。
显示(tgt);
TIRM46Lx2 Launchpad Display Name TIRM46Lx2 Launchpad RM46 TI Deployer 1 FreeRTOS 1 MyPIL串行RM46 SCI外部模式0
输出显示外部模式配置“RM46 SCI外部模式”
添加到目标器。但是,外部模式配置不用于硬件“TIRM46Lx2 Launchpad”
,这一事实表示为硬件的对应位置为0
指定setup函数,SetupFcn
,为您的硬件。
extModeObj。SetupFcn =“matlabshared.target.tirm46.internal.extModeSetupFcn (hObj)”;
添加外部模式基础的通用目标端源文件的位置。
extModeSrcFiles =美元(MATLAB_ROOT) / rtw / c / src / ext_mode /串行的;extModeObj。源文件{结束+ 1}= fullfile (extModeSrcFiles,“ext_serial_pkt.c”);extModeObj。源文件{结束+ 1}= fullfile (extModeSrcFiles,“rtiostream_serial_interface.c”);
在这里,美元(TARGET_ROOT) / src / / TI_RM46852LxSerialRtiostream.c '
表示一个源文件,该文件根据指令实现主机和目标硬件之间的串行通信为TCP/IP或串行外部模式通信创建传输层(金宝app仿真软件编码器).其余三个文件是代码生成器软件提供的用于串行通信接口的文件。
请注意
$ (MATLAB_ROOT)
是一个令牌,代表MATLAB的根文件夹,将由代码生成软件解析。
添加目标特定源文件的位置。
extModeObj。源文件{结束+ 1}=“$ (TARGET_ROOT) / src / TI_RM46852LxSerialRtiostream.c”;extModeObj。源文件{结束+ 1}=“$ (TARGET_ROOT) / src / ext_svr_serial_transport.c”;
请注意
$ (TARGET_ROOT)
是表示目标的根文件夹的令牌,将由代码生成软件解析。
更新构建配置对象,buildConfigurationObj
.
buildConfigurationObj。IncludePaths{结束+ 1}=美元(MATLAB_ROOT) / rtw / c / src / ext_mode /串行的;buildConfigurationObj。SourceFilesToRemove = {美元(MATLAB_ROOT) / rtw / c / src / rtiostream / rtiostreamserial rtiostream_serial.c”};buildConfigurationObj。定义了{结束+ 1}=“EXTMODE_DISABLEPRINTF”;
映射ExternalMode
对象,extModeObj
,到,到硬件
对象,hw
,其I/O接口名称,“串行”
.
地图(tgt、hw extModeObj ioInterfaceName);
确认外部模式配置“我的外部模式”
是用于硬件的吗“我的ARM Cortex M板”
及其I/O接口“串行”
.
显示(tgt);
TIRM46Lx2 Launchpad Display Name TIRM46Lx2 Launchpad RM46 TI Deployer 1 FreeRTOS 1 MyPIL Serial RM46 SCI External mode Serial
输出显示外部模式配置“RM46 SCI外部模式”
是用于硬件的吗“TIRM46Lx2 Launchpad”
,这个事实通过显示来表示“串行”
,即它使用的I/O接口,在硬件的相应位置。
查看ExternalMode
对象,extModeObj
.
extModeObj
sourcfiles: {} PreConnectFcn: " SetupFcn: " CloseFcn: "
根据需要设置硬件的属性值。有关更多信息,请参见matlabshared.targetsdk.ExternalMode
将描述目标的信息保存到其框架中。
saveTarget (tgt);
复制外部模式和太平模式文件到目标文件夹。
拷贝文件(fullfile (codertarget.arm_cortex_r.internal.getSpPkgRootDir (),...“arm_cortex_r_examples”,“公益诉讼”),...fullfile (tgt.Folder),“f”);拷贝文件(fullfile (codertarget.arm_cortex_r.internal.getSpPkgRootDir (),...“arm_cortex_r_examples”,“externalmode”),...fullfile (tgt.Folder),“f”);
请注意
的saveTarget
函数覆盖该文件matlabshared.target.tirm46.ConnectivityConfig.m
.因此,PIL模式的文件需要重新复制。
测试外部模式是否正常工作。
testTarget (tgt,“externalmode”);
测试完成后,将显示汇总结果。如果测试通过了
,然后可以继续添加下一个特性。否则,如果测试either失败的
或者是不完整的
,测试摘要下面显示一个到测试诊断日志的链接。
在MATLAB中,在首页选项卡上,选择新的> Si金宝appmulink模型.模型的默认名称是无标题的
.将名称更改为测试
.
在应用程序选项卡上,单击在硬件板上运行.在在硬件板上运行对话框中,设置硬件板比如你注册的硬件,TIRM46Lx2发射台
.
在硬件选项卡上,单击硬件设置.
在“配置参数”对话框中选择解算器
.
从类型列表中,选择固定步
.从解算器列表中,选择汽车
.
在“配置参数”对话框中,选择硬件实现
选项卡。
选择外部模式组。确认硬件的外部模式属性已正确显示,如下图所示。
在MATLAB中,在首页选项卡上,选择新的> Si金宝appmulink模型.模型的默认名称是无标题的
.在模拟选项卡上,选择保存并将模型保存为测试
.
在应用程序选项卡上,单击在硬件板上运行.在在硬件板上运行对话框中,设置硬件板比如你注册的硬件,TIRM46Lx2发射台
.
在硬件选项卡上,单击硬件设置.
在配置参数对话框中,选择解算器
.
从类型列表中,选择固定步
.从解算器列表中,选择汽车
.
在MATLAB中,在首页选项卡上,选择金宝app模型库.在仿真金宝app软件®图书馆开放来源并添加常数阻塞到您的模型。
在Si金宝appmulink库中打开数学操作并添加获得阻塞到您的模型。连接常数和获得块。
在Si金宝appmulink库中打开汇并添加范围阻塞到您的模型。连接范围和获得块。
在硬件选项卡上,单击监视和优化以外部模式运行模拟。确认范围块输出为1。