本帖最后由 shaobingqing 于 2020-5-31 15:14 编辑
有些行业早已经使用matlab/simulink进行建模,通过自动生成软件代码开发产品。偶然间听到STM32也可以这样做,所以想尝试下。于是参考网上说明,虽然踩到了一些坑,但还好坑不深,完成了基于stm32f407的第一个程序,想借此记录一些,提醒以后不再掉坑。
首先准备了如下软硬件: 1. matlab版本R2016b 2. STM32CubeMX版本version 5.6.1 3. STM32_MAT_TARGET_V4.4.2 4. Keil MDK 5.29 5. 正点原子F407开发板
STM32CubeMX的用途是stm32f407的驱动初始配置作用,但是STM32CubeMX没法支持复杂的应用层程序设计,所以需要使用matlab/simulink。而STM32_MAT_TARGET作为中间件,起桥梁作用。最终生成的代码使用Keil MDK编译调试后,下载到开发板中执行。
具体步骤如下工作: 1. 安装Keil MDK 5.29,保证正常工作和下载,不是这里的重点故细节省略 2. 安装STM32CubeMX,保证正常工作和下载,不是这里的重点故细节省略 3. STM32CubeMX工程设置:芯片初始化设置 新建工程,选择芯片,创建项目 设置时钟源
配置时钟 配置GPIO PF9/PF10
设置MDK目标,并生成代码 保存工程ioc文件后,文件夹如下 注意:ioc文件之后在simulink中需要用到。MDK-ARM中的uvprojx文件用来打开MDK调试程序。 打开MDK编译,0错误0警告 4. 安装matlab版本R2016b,保证simulink能够正常使用 5. 安装STM32_MAT_TARGET_V4.4.2,安装路径无特殊要求。 需要注意,stm官方最新下载版本是v5_6_0,但是安装完之后会发现模型无法在Simulink中运行,提示需要使用R2018b才行。我没有R2018b版本,所以只能使用V4.4.2。这里我尝试了好久才解决。 另外网上说需要先安装Matlab,再安装STM32_MAT_TARGET,这个没有验证过是否必须按此顺序。 6. 配置matlab/Simulink 先要设置包含路径如下,把STM32_MAT_TARGET,安装文件夹完全包含进来
打开simulink,建立一个空白模型。 在simulink library browser中,此时能够找到如下STM32支持包。有可能需要重启Matlab
然后进行code Generation相关设置
设置cubeMX路径
解算步长也要设置
|