SIMULINK下的STM32F4的自动代码生成
Author : zhou
Date : 2019/1/28
安装软件:
- MATLAB2013b(包含coder generation工具箱)
- MDK KEIL5编译环境
- Waijung 工具箱(STM32F0,STM32F4开发工具箱)
- ST-link驱动
下载地址:
链接:https://pan.baidu.com/s/1QP1QmtR6be3OHm87jMDDnw
提取码:vjaj
所需硬件:
- 任意一块STM32F4开发板
- ST-link下载器(waijung只支持ST-link,不支持J-link)
一、安装waijung工具箱
在安装完成上述的4个安装软件之后,打开MATLAB2013b,将目录跳转到waijung17_03a目录下(
waijung17_03a这个文件夹要在纯英文目录下),在命令行输入 cd(‘…/waijung17_03a’) 或者直接手动,如图1所示。
图1 将工作目录加载到waijung工具箱的目录下
之后右键点击 install_waijung.m à run configurations à install_waijung,如图2所示。
图2 安装waijung工具箱
在安装的过程中会跳出来waijung工具箱是否自动更新对话框,点击NO,最终waijung工具箱状完成。
二、创建STM32工程并下载到开发板中
实现功能: 开发板PD12输出低电平,PD13输出高电平
打开MATLAB2013b中的simulink,在工具箱中点击simulink然后按F5,更新simulink工具箱库,等待一段时间后,就会在工具箱的底部看到waijung工具箱,如图3所示。
图3 simulink下的waijung工具箱
至于里面的相应工具可以自己慢慢研究。
参考模型例程在waijung17_03a文件夹下:
…waijung17_03a argetsstm32f4_targetstm32f4demo
以及相应的介绍工具模块文件:
…waijung17_03adocHTML
创建一个STM32的工程模型:
以下一定要严格按照步骤顺序执行,否则会出现编译不正常问题!!!
- 创建一个空白的模型文档
- 在waijung工具箱中找到Waijung BlocksetàSTM32F4 TargetàDevice ConfigurationàTarget Setup,将其拖拽到新建的空白模型中
- 双击该setup模块,将MCU设置为自己开发板的CPU型号,然后按照下图配置
- 在waijung工具箱中找到Waijung Blockset --> STM32F4 Target --> On-chip Pheripherals --> Digital Output,将其拖拽到新建模型中
- 双击IO输出模块,选择引脚号以及引脚的模式(推挽或者开漏),这里选择PD12与PD13作为推挽输出
- 设置输入,PD12为低电平,PD13为高电平,整体simulink的框图如下:
- 然后点击simulink工具栏中的Simulation --> Model Configuration Parameters
在solver中的solver options中的type选择fixed step
在Code Generation中,System target file设置成stm32f4.tlc(这个在将waijung模块拖入空白模型中自动设置的)
点击apply,然后OK
- 最后保存该项目文件(在纯英文路径下)
- 将开发板通过ST-link连接到电脑上,在MATLAB中将当前工作目录设置到保存这个文件的目录下,并点击bulid按钮
- 弹出代码生成对话框,全绿表明代码生成并且下载成功
- 测试开发板的PD12以及PD13引脚,得到PD12为低电平,PD13为高电平
三、自动生成代码的文件
在模型目录下,可以看到多出来两个文件夹,如下图所示
在xxxx_stm32f4这个文件夹中包含了自动生成的代码,自己可以在MDK开发环境中配置一下也可以下载到开发板中(与前面simulink中直接下载相比会步骤复杂一点),这里就不再详细介绍MDK中配置工程文件了。