正文之前
首先,跟助教说声抱歉,我们组因为一些因素没有按时完成PIL的测试,还要申请延期。另外也感谢助教的催促,让我们能够在今天下午就完成PIL测试,也算是为本次课程画上了完美的句号。下面我将讲述本次PIL测试的全过程,以及结果!
正文
我们组之所以做不完我们的PIL测试,是因为我们主力开发大腿彭彦毓同学电脑MATLAB出了点问题,无法安装插件,然后第二主力安装插件的时候在附加功能资源库找不到对应的插件,三号开发主力也就是我,由于版本太老,干脆附加资源管理器都进不去。一方面源于版本问题,另一方面也是因为我们都是破解版,所以官方的资源库对我们不甚友好也是可以理解的,说到这里,就要告诉各位同学了。学校的资源是个好东西,只要一个学校邮箱(每个人入学就有了,你只需要申请解冻即可)你就可以随便下载MATLAB的任意版本,而且还是直接的VIP,直接许可证激活就好了。什么破解都是浮云!
我的校友可以在正版软件服务平台下载,其他学校的, 你自己去问问呗~我不知道呀。
之所以写这个,因为对破解版的局限性他痛恨至深,下面进入正题。首先安装两个插件,模拟基于ARM Cortex-M 下的Qemu环境。
按照教程中给的提示,我们进行了示例的测试,确定插件可用。
在这个过程中还遇到了,忘记设置工作路径的问题,困扰了我们半个小时。(因为是直接在备份文件夹下工作,所以出了路径问题)
索性,直接修改了工作路径
然后在备份了 原本的模型文件之后,我们开始了对自动咖啡机的测试。首先设置我们的硬件环境为ARM,然后设置执行PIL Block测试。
然后对核心控制模块转化为PIL测试模块。这个过程如果保存了就是不可逆的,所以我们一定要备份,否则就只能从Github端重新下载了。
之后,会生成新的PIL Block让我们可以Copy到原本的核心控制模块的位置,从而代替其职能,并且增加模拟环境。
之后我们就可以编译运行了。
但是我们遇到了一个问题。那就是下面的Error中说到的数据在内部形成了循环的bug,不过幸亏给出了提示,所以我们按照提示,一个端口一个端口的找,最后终于把所有的bug全部封堵
具体的措施是在错误中提到的每个输入--输出对应关系之间,加入一个memory模块:
形成如下的结构:
pil->Memory->原来输出
果然此举解决了问题。在等待一分钟左右的时间等待热水烧开之后,我们点击选择一种咖啡,然后就会在100多秒左右的时候出来一杯咖啡。这一结果与在matlab的虚拟环境下的结果是一致的!!
- 此时处于预热状态,机器刚刚启动,需要一定的时间来烧热水!!
- 此时热水已经加热完毕(我们预设30s的时间加热完毕,给出提示一分钟,留下裕量),按下按钮之后,我点了一杯拿铁咖啡,机器进入运行状态。开始工作~
- 机器工作完毕,各模块运行正常,我们已经得到了一杯香浓的咖啡了!此时我们点击Take out 按钮模拟取杯操作即可进入下一轮!!
- 取杯即可进入下一轮。
- 下面是非PIL状态下的模型输出:
两者一致,PIL测试完毕!
正文之后
到了此处,就意味着我们这门课结束了。很有意思的一门课,很有收获的一门课,莫名伤感!感谢负责的老师和助教,感谢我的队员们一起拼搏努力,我们偷懒过,我们懈怠过,但是我们终究没有因为而冷漠,希望大家都能在未来找到更好的自己!在各自的方向上成为一个优秀的人!