SIMULINK下的STM32F4的自动代码生成

                                                                                    Author  :  zhou     

                                                                                    Date    :  2019/1/28

安装软件:

  • MATLAB2013b(包含coder generation工具箱)
  • MDK KEIL5编译环境
  • Waijung 工具箱(STM32F0,STM32F4开发工具箱)
  • ST-link驱动

 

所需硬件:

  • 任意一块STM32F4开发板
  • ST-link下载器(waijung只支持ST-link,不支持J-link)

 

 

一、安装waijung工具箱

在安装完成上述的4个安装软件之后,打开MATLAB2013b,将目录跳转到waijung17_03a目录下(waijung17_03a这个文件夹要在纯英文目录下),在命令行输入   cd(‘…/waijung17_03a’) 或者直接手动,如图1所示。

stm32cubeMX生成代码_stm32f4

图1  将工作目录加载到waijung工具箱的目录下

之后右键点击  install_waijung.m  à  run configurations  à  install_waijung,如图2所示。

stm32cubeMX生成代码_simulink_02

图2  安装waijung工具箱

在安装的过程中会跳出来waijung工具箱是否自动更新对话框,点击NO,最终waijung工具箱状完成。

 

二、创建STM32工程并下载到开发板中

实现功能:  开发板PD12输出低电平,PD13输出高电平

 

打开MATLAB2013b中的simulink,在工具箱中点击simulink然后按F5,更新simulink工具箱库,等待一段时间后,就会在工具箱的底部看到waijung工具箱,如图3所示。

stm32cubeMX生成代码_开发板_03

图3  simulink下的waijung工具箱

至于里面的相应工具可以自己慢慢研究。

参考模型例程在waijung17_03a文件夹下:

…\waijung17_03a\targets\stm32f4_target\stm32f4\demo

以及相应的介绍工具模块文件:

…\waijung17_03a\doc\HTML

 

 

 

 

 

创建一个STM32的工程模型:

以下一定要严格按照步骤顺序执行,否则会出现编译不正常问题!!!

  1. 创建一个空白的模型文档
  2. 在waijung工具箱中找到Waijung BlocksetàSTM32F4 TargetàDevice ConfigurationàTarget Setup,将其拖拽到新建的空白模型中
  3. 双击该setup模块,将MCU设置为自己开发板的CPU型号,然后按照下图配置

stm32cubeMX生成代码_stm32f4_04

  1. 在waijung工具箱中找到Waijung Blockset   -->   STM32F4 Target    -->    On-chip Pheripherals   --> Digital Output,将其拖拽到新建模型中
  2. 双击IO输出模块,选择引脚号以及引脚的模式(推挽或者开漏),这里选择PD12与PD13作为推挽输出

stm32cubeMX生成代码_simulink_05

  1. 设置输入,PD12为低电平,PD13为高电平,整体simulink的框图如下:

stm32cubeMX生成代码_引脚_06

  1. 然后点击simulink工具栏中的Simulation  --> Model Configuration Parameters

stm32cubeMX生成代码_引脚_07

在solver中的solver options中的type选择fixed step

stm32cubeMX生成代码_stm32cubeMX生成代码_08

在Code Generation中,System target file设置成stm32f4.tlc(这个在将waijung模块拖入空白模型中自动设置的)

stm32cubeMX生成代码_stm32cubeMX生成代码_09

点击apply,然后OK

  1. 最后保存该项目文件(在纯英文路径下)
  2. 将开发板通过ST-link连接到电脑上,在MATLAB中将当前工作目录设置到保存这个文件的目录下,并点击bulid按钮

stm32cubeMX生成代码_开发板_10

  1. 弹出代码生成对话框,全绿表明代码生成并且下载成功

stm32cubeMX生成代码_引脚_11

  1. 测试开发板的PD12以及PD13引脚,得到PD12为低电平,PD13为高电平

三、自动生成代码的文件

       在模型目录下,可以看到多出来两个文件夹,如下图所示

stm32cubeMX生成代码_开发板_12

在xxxx_stm32f4这个文件夹中包含了自动生成的代码,自己可以在MDK开发环境中配置一下也可以下载到开发板中(与前面simulink中直接下载相比会步骤复杂一点),这里就不再详细介绍MDK中配置工程文件了。

stm32cubeMX生成代码_开发板_13