在Simulink Toolbox中,需要为自定义开发的block写S-Function,我们使用的C语言编写,也叫C Mex S-Function,C语言编写的S-Function仿真速度快,也可以调用具体的硬件驱动和使用已有的C库,功能十分强大,我们的目标是为硬件编写Toolbox,S-Function的主要功能是将自定义Block的参数传递给TLC,让TLC可以生产和我们的硬件匹配的代码。
C Mex S-Function Matlab不能直接使用,需要先编译成mex文件,这次我们先做一些准备工作,安装C/C++编译器。
安装MINGW
可以使用mex -setup命令查看系统是否已经有可用的编译器,我的系统一开始是没有的,看到是下面这样的:
下载tdm64-gcc-9.2.0.exe,然后安装,过程比较简单。安装完成后再次尝试mex -setup,发现仍然提示没有可用的编译器。
我们加上-v选项,看看是哪里出了问题。
mex -setup -v
详细模式已开。
… 正在查找编译器 ‘Intel C++ Composer XE 2013 with Microsoft SDK 7.1 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER14’…否。
… 正在查找环境变量 ‘ICPP_COMPILER13’…否。
找不到已安装的编译器 ‘Intel C++ Composer XE 2013 with Microsoft SDK 7.1 ©’。
… 正在查找编译器 ‘Intel C++ Composer XE 2013 with Microsoft Visual Studio 2013 ©’…
… 正在查找环境变量 ‘ICPP_COMPILER14’…否。
… 正在查找环境变量 ‘ICPP_COMPILER13’…否。
找不到已安装的编译器 ‘Intel C++ Composer XE