PIL处理器在环测试

目录

PIL处理器在环测试介绍

PIL测试过程

编译模块

测试结果


PIL处理器在环测试介绍

SIL测试是验证代码和模型的一致性,代码运行在Windows平台上,某种程度上说,这并不能保证代码到目标处理器上的运行结果也能够和模型保持一致。所以,就有了PIL测试。        PIL和SIL的不同之处在于,SIL将生成的代码通过DLL的方式运行在Windows平台上,而PIL,是将生成的代码运行到目标处理器上,两种模式使用的编译器也是不同的,SIL使用的就是Windows下的编译器,比如Visual Studio C++或者LCC编译器,而PIL使用的是目标编译器。        前面说过,等效性测试的目的是为了防止代码生成过程出错,同样,编译过程也可能出错,编译器也可能有bug,综合模型测试、SIL测试和PIL测试的结果,也可以帮助我们发现编译器出错可能引入的bug。        SIL和PIL是等效性测试,测试的目的是为了验证自动生成的代码和模型具有相同的行为,既然如此,对于SIL和PIL的测试用例就没有功能意义上的要求,只要要求代码和模型输入的测试数据相同即可,当然希望数据量足够大,能够覆盖各种路径以及各种信号范围。        另外,因为PIL测试中代码运行在实际的控制器上,所以PIL测试除了可以验证代码和模型是否一致之外,还可以获得算法在实际控制器上的最长运行时间,而这个最长时间的价值,做嵌入式实时软件开发的工程师都懂得。

PIL测试过程

在PIL测试中,生成的代码运行在TexasInstrumentsC2000处理器上。将PIL仿真结果传递给Simulink,验证仿真结果的数值等效性和代码生成结果。PIL验证过程是开发周期的一个关键部分,以确保部署代码的行为与设计相匹配。       本实验将采用Mathworks官方提供的例子来介绍如何使用子系统创建PIL Block方法配置用于代码生成和验证的Simulink模型。

       我们提供的板子不支持通过USB数据线与Simulink通信,需要用到USB转TLL模块实现,前面已经介绍USB转TTL模块如何与主控板的连接,这里就不再介绍。

       第一步:首先在电脑的设备管理器找到USB转TTL对应的COM口,然后在MATLAB中打开此模型所在的文件路径,里面一个Simulink模型和PIL通讯说明。

第二步:在MALAB命令行窗口输入如下命令

 按上述方法设置COM端口,并将以下命令中的“COM1”替换为与主控板对应的正确串行端口:setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','COMPort','COM1');%选择对应的COM 通过输入波特率设置PIL通信的波特率为setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','BaudRate',115200); 通过以下命令启用串行通信PIL:setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','enableserial',true);

第三步:打开c2000_pil_block.slx,看见Controller下方有一个需要连接的模块,这个就是需要将Controller生成PIL的模块。

第四步:我们首先在All Parameters中输入Create Block找到对应的参数设置,我们选择PIL,选择Ode3求解器,定步长为0.01s,选择在将程序烧写到RAM减少编译时间。

编译模块

第五步:我们选择Controller子系统单击鼠标右键,在C/C++Code中选择将此子系统部署到硬件,

随后会出现下图的界面,然后点击Build,稍等片刻我们可以看见会出现一个新的模块以及在MATLAB的当前文件夹生成了一个Controller_pbs.mexw64和代码文件。

测试结果

第六步:将生成的Controller模块复制到c2000_pil_block.slx模型缺少的模块那里,Manual Switch开关选择与上面的子系统连接,然后在点击Run按钮,稍等片刻可以看见Scope会生成一条曲线,然后将Manual Switch开关选择与下面的子系统连接,可以看见Scope的数据和Controller连接是的曲线一样,说明代码到目标处理器上的运行结果也能够和模型保持一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/901693.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ctfshow的sql注入解题思路171-211

ctfshow-SQL注入 web171:爆库名->爆表名->爆字段名->爆字段值 -1 union select 1,database() ,3 -- //返回数据库名 -1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema库名 -- //获取数据库里的表名 -…

【华为\荣耀、中兴、华三路由器IPV6设置】

华为\荣耀、中兴、华三路由器ipv6设置 华为\荣耀设置-路由器拨号情况下中兴设置-路由器拨号情况下华三设置-光猫拨号情况下(待续) 华为\荣耀设置-路由器拨号情况下 如图设置就行 中兴设置-路由器拨号情况下 中兴路由器有两个设置地方也是如图设置 …

一站式AI自动化剪辑 内置多种功能 永久免费

AI影视解说自动化剪辑工具,功能非常强大,吊打所有视频解说,解放双手,从我开始 【资源名称】:纳拉托艾 【资源大小】:1.27 【资源版本】:0.1 【测试机型】:Win11. 【资源介绍】&a…

基于SSM+小程序的智慧旅游平台登录管理系统(旅游2)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 旅游平台开发微信小程序功能有管理员和用户。 1、管理员功能有个人中心,用户管理,景点分类管理,旅游景点管理,景点购票管理,景…

Leetcode刷题笔记13

DP35 【模板】二维前缀和 【模板】二维前缀和_牛客题霸_牛客网 解法一:暴力解法 -> 模拟 直接算区间里面的和 每次询问都要遍历数组一遍 时间复杂度:O(n*m*q) 解法二:前缀和 1. 预处理出来一个前缀和矩阵 dp[i][j]表示:从[…

VisionPro Basic - 01- 有关应用和作业

前言: VP(VisionPro)的保存文件都是.vpp,所以,你在保存的时候,一定要注意区别。否则,过了几天,你都搞不清楚自己当年哪个的应用,哪个是作业... 环境: 例子1&…

高级网络互联技术:AS3001与AS3000的路由交换方案

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

数字化转型项目实施方案建议书|168页PPT

文 档是一份关于数字化转型项目的实施方案建议书,由某咨询公司为***集团制定。文档详细介绍了项目的实施范围、信息系统现状、建设目标、高阶方案建议以及项目组织和计划。 以下是对文档内容的解读: 项目实施范围:涵盖了数字化转型路线图中…

CSP-J2024 全网首发

T1:扑克牌 题目描述 Description 小 P 从同学小 Q 那儿借来一副 n 张牌的扑克牌。 本题中我们不考虑大小王,此时每张牌具有两个属性:花色和点数。花色共有 4种: 方片、草花、红桃和黑桃。点数共有 13 种,从小到大分别为A 2 3 4 5 6 7 8 9 T J Q K。注意…

【3DMAX科研绘图】3DMAX饼状图生成插件PieChart使用方法详解

3DMAX饼状图生成插件PieChart,一款用于制作3D饼状图的工具。可以设置任意数量的切片,以及随机或指定切片颜色。 饼状图(Pie Chart)是一种常用的数据可视化工具,它主要用于展示不同类别数据的比例关系。在饼状图中&…

ERPS环网配置

ERPS(Ethernet Ring Protection Switching):以太网多环保护技术 ERPS节点信息 1、RPL owner 节点(主节点) 一个 ERPS 环只有一个 RPL owner 节点,由用户配置决定,通过阻塞 RPL 端口来防止 ERP…

.NET 一款内网渗透中替代PowerShell的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

笔记整理—linux驱动开发部分(1)驱动梗概

驱动可以分为广义上的和狭义上的驱动。广义上的驱动是用于操作硬件的代码,而狭义上的驱动为基于内核系统之上让硬件去被操作的逻辑方法。 linux体系架构: 1.分层思想 :在OS中间还会有许多层。 : 2.驱动的上面是系统调用(API&…

Springboot 整合 Java DL4J 实现智能客服

🧑 博主简介:历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,…

大语言模型的Scaling Law【Power Low】

NLP-大语言模型学习系列目录 一、注意力机制基础——RNN,Seq2Seq等基础知识 二、注意力机制【Self-Attention,自注意力模型】 三、Transformer图文详解【Attention is all you need】 四、大语言模型的Scaling Law【Power Low】 文章目录 NLP-大语言模型学习系列目录一、什么是…

隧道煤矿甬道的可视化大屏,关键时刻起关键作用

隧道、煤矿甬道的可视化大屏在关键时刻确实能发挥关键作用。它可以实时显示内部的环境参数,如温度、湿度、瓦斯浓度等,帮助工作人员及时掌握潜在危险情况。 同时,大屏能展示人员分布和设备运行状态,便于高效调度和管理。 在紧急…

计算机网络:网络层 —— IPv4 地址与 MAC 地址 | ARP 协议

文章目录 IPv4地址与MAC地址的封装位置IPv4地址与MAC地址的关系地址解析协议ARP工作原理ARP高速缓存表 IPv4地址与MAC地址的封装位置 在数据传输过程中,每一层都会添加自己的头部信息,最终形成完整的数据包。具体来说: 应用层生成的应用程序…

技术成神之路:设计模式(二十一)外观模式

相关文章:技术成神之路:二十三种设计模式(导航页) 介绍 外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供一个统一的接口。外观模式定义了一个高层接口,使得子系统更容易使用。 …

qt QGraphicsGridLayout详解

一、概述 QGraphicsGridLayout是Qt框架中用于在QGraphicsScene中布置图形项的一个布局管理器。它类似于QWidget中的QGridLayout,但主要处理的是QGraphicsItem和QGraphicsWidget等图形项。通过合理设置网格位置、伸缩因子和尺寸,可以实现复杂而灵活的布局…

【论文笔记】MLSLT: Towards Multilingual Sign Language Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: MLSLT: Towards Multiling…