2. 开发环境搭建:MATLAB/Simulink环境配置、Embedded Coder安装、硬件支持包配置
好,咱们正式开始动手了。
这一章,说白了就是给你的电脑“武装”起来。没有趁手的工具,再牛的算法也跑不起来。我见过不少新手,代码写得飞起,结果一编译全是红字,最后发现是环境没配好。嗯,咱们别走这个弯路。
2.1 MATLAB/Simulink 环境配置
先说说 MATLAB 的安装。我个人习惯用 R2021b 以上的版本,太老的版本对 Embedded Coder 的支持不太好。你想想看,如果版本不对,后面生成代码时一堆警告,多闹心。
安装步骤其实不复杂,但有几个坑我得提醒你:
- 路径不要有中文。我曾经有个同事,把 MATLAB 装在了“D:\软件\MATLAB”下,结果 Simulink 死活打不开。后来发现是中文路径惹的祸。所以,老老实实用英文路径。
- 安装时勾选“MATLAB Compiler”。很多人只勾了 Simulink,结果后面想生成独立可执行文件时发现少了组件。我建议你一次性把常用的工具箱都勾上,省得后面补装。
- 设置工作路径。每次打开 MATLAB,第一件事就是
cd到你的项目文件夹。我习惯在桌面建一个FlightControl_Project文件夹,所有模型和代码都放里面。
小技巧: 在 MATLAB 命令行输入
ver,可以查看已安装的工具箱列表。如果发现少了 Embedded Coder,别慌,后面会讲怎么补装。
2.2 Embedded Coder 安装
Embedded Coder 是什么?说白了,它就是把 Simulink 模型变成 C 代码的“翻译官”。没有它,你的控制算法就只能停留在仿真阶段。
安装方法有两种:
- 通过 MATLAB Add-On Explorer 安装。这是最推荐的方式。在 MATLAB 主页点击“Add-Ons”,搜索“Embedded Coder”,一键安装。我试过,大概 10 分钟搞定。
- 离线安装。如果你在没网的环境下工作,可以下载安装包。但要注意版本匹配——Embedded Coder 的版本必须和 MATLAB 主版本一致。我曾经因为版本不对,折腾了一下午。
安装完成后,怎么验证?很简单:
% 在 MATLAB 命令行输入
which -all embeddedcoder
% 如果返回路径,说明安装成功
注意: 如果你用的是破解版 MATLAB,Embedded Coder 可能无法正常激活。我建议你使用正版,或者申请学校/公司的教育版授权。别因为省这点钱,耽误了项目进度。
2.3 硬件支持包配置
这一步,是让你的 MATLAB 能和飞控硬件“对话”。
常见的飞控硬件有 STM32、TI C2000、NXP 等。我以 STM32 为例,讲讲怎么配置硬件支持包。
步骤其实就三步:
- 安装硬件支持包。在 Add-On Explorer 里搜索“STM32”,找到“MATLAB Support Package for STM32-Based Hardware”,点击安装。这个过程会下载一些底层驱动,大概 20 分钟。
- 配置硬件参数。安装完后,在 Simulink 的“Hardware Implementation”面板里,选择你的芯片型号。比如我用的是 STM32F407,就选“STM32F4xx”。
- 测试连接。写一个简单的 LED 闪烁模型,部署到板子上。如果灯亮了,说明环境通了。我第一次做这个测试时,灯没亮,检查了半天发现是 USB 线没插紧……嗯,这种低级错误,谁没犯过呢?
核心要点: 硬件支持包的本质,是把 MATLAB 的算法模型“翻译”成硬件能识别的底层代码。所以,配置时一定要选对芯片型号和时钟频率。我曾经因为时钟频率设错了,导致 PWM 输出频率不对,电机嗡嗡响就是不转。
2.4 避坑指南
最后,分享几个我踩过的坑:
- 编译器版本问题。Embedded Coder 默认用 MinGW 编译器,但有些硬件(比如 TI C2000)需要 CCS 编译器。我建议你提前查好硬件支持的编译器列表。
- 环境变量冲突。如果你电脑上装了多个版本的 MATLAB,环境变量可能会乱。我习惯在系统变量里只保留当前使用的 MATLAB 路径。
- 模型参数与硬件不匹配。比如,你的模型里用了 64 位浮点数,但硬件只支持 32 位。这种问题,编译时不会报错,但运行结果会莫名其妙。所以,配置硬件支持包时,一定要检查“Hardware Implementation”里的数据类型设置。
好了,环境搭好了,下一章咱们就开始建模型了。记住,环境配置是基础,基础不牢,地动山摇。别嫌麻烦,一步到位,后面会省很多事。