本人目前还是汽车电子嵌入式开发方向的研究生,但组里有个项目需要做相应无人驾驶算法的功能安全评估,首先需要做相关的仿真工作,大致做了下文献综述,发现可先用prescan+matlab仿真的方法试一下,因此我开始从零学习prescan仿真和功能安全可控性评估,博客既是为了做好相关记录防止自己遗忘也是给后来者以参考,能让大家少踩些坑共同进步。
第一步是安装prescan软件,我安装的是8.6.0版本(链接:https://pan.baidu.com/s/1CveDe6pmeH68WCfimczIPg
提取码:o3g6 若失效了可私信我补链接),可以稳定support的matlab版本是2016b和2017ab,之前我装的是matlab2018a后来一直无法通过prescan打开simulink界面,查了半天才发现是matlab版本问题,按照官方推荐装了matlab2016b后出现错误如下:
在网上查了一下提示说可能是编译器版本的问题,我就在matlab用mex -setup命令试了一下,果然是找不到编译环境。我的电脑的c语言编译环境是VS2017的,而matlab2016b默认是不支持VS2017的,所以要么在电脑上上装VS2013(太麻烦又占空间,所以我没这样做),要么通过打补丁的方式给matlab2016b以VS2017的支持架构,直白来说就是在<matlab安装路径>\bin\win64\mexopts\目录下添加msvc017.xml和msvcpp2017.xml(这两个文件可以从我的上传资源里下载,https://download.csdn.net/download/jason_will123/11119280),该方法可以解决Visual Studio 2017/2015/2013 support for Matlab 2016b/2015ab/2013ab的问题。
添加完文件之后重启matlab,输入mex -setup命令,在弹出的说明中点击 mex -setup C++ 即可,此时仿真环境就完全搭好了。
解决完环境问题后就可以开始联合仿真了,在prescan GUI里建好模型后,从prescan manager中打开matlab
在打开前需要确保是否在prescan中设置了正确的matlab路径
在相应目录打开prescan生成的模型文件即可