simulink自动生成STM32代码详解

1、开发软件

STM32-MAT/TARGET_V5.6.0

STM32CubeMX_V5.6.0

JAVA 64_bit

MATLAB_2018b

MDK-ARM_V5

下图是STM32-MAT/TARGET_V5.6.0官方手册中的版本要求。

simulink自动生成STM32代码详解_第1张图片

 

为什么要用这么多软件:

  1. STM32CubeMX软件是基于JAVA环境运行的。
  2. STM32-MAT/TARGET在simulink中相当于生成代码的外设驱动库。
  3. 利用官方的simulink开发库进行开发工作,要首先调用STM32CubeMX软件生成的配置文件 。

simulink自动生成STM32代码详解_第2张图片

simulink自动生成STM32代码详解_第3张图片

 

百度网盘软件资源分享:链接:https://pan.baidu.com/s/1anbU-S9qEtSVDEMIc18yMA    提取码:9tzi 

 

2、软件下载与安装

2.1 STM32-MAT/TARGET官网下载地址:

https://www.st.com/en/development-tools/stm32-mat-target.html?s_searchtype=partnumber

simulink自动生成STM32代码详解_第4张图片

 

STM32-MAT/TARGET安装:

过程略,安装之后打开文件夹如图:

simulink自动生成STM32代码详解_第5张图片

 

1.以管理员身份运行startup.bat 打开MATLAB运行环境。

2.首次打开需要添加路径,在工作空间输入>>pathtool,并把STM32-MAT/TARGET的安装路径加进去。

3.打开simulink的模块库会多一个STM32的列表,如图

simulink自动生成STM32代码详解_第6张图片

 

2.2 JAVA官网下载网址:

https://www.java.com/zh_CN/download/ie_manual.jsp

JAVA安装:

以管理员身份运行jre-8u112-windows-x64.exe,安装在默认文件夹下。

 

2.3 STM32CubeMX官网下载地址:

https://www.st.com/zh/development-tools/stm32cubemx.html

simulink自动生成STM32代码详解_第7张图片

 

下载STM32CubeMX库:

新的版本可以直接安装,在创建工程的时候直接下载不同型号的库。

simulink自动生成STM32代码详解_第8张图片

simulink自动生成STM32代码详解_第9张图片

 

STM32CubeMX是ST官方开发的支持快速MDK-ARM工程文件生成的软件,可以直接编译成功后下载到目标开发板,省去了手工配置底层代码的工作,利用可视化图形窗口进行高效配置。

 

例1:用STM32CubeMX生成STM32代码

1、选择MCU

simulink自动生成STM32代码详解_第10张图片

simulink自动生成STM32代码详解_第11张图片

simulink自动生成STM32代码详解_第12张图片

 

2、设置IO口属性

simulink自动生成STM32代码详解_第13张图片

simulink自动生成STM32代码详解_第14张图片

 

3、设置下载器和时钟源

simulink自动生成STM32代码详解_第15张图片

 

4、设置工程名字、保存路径及IDE工具:

simulink自动生成STM32代码详解_第16张图片

simulink自动生成STM32代码详解_第17张图片

simulink自动生成STM32代码详解_第18张图片

 

5、生成代码、打开代码生成的文件夹,或直接打开工程:

simulink自动生成STM32代码详解_第19张图片

simulink自动生成STM32代码详解_第20张图片

 

例2:用simulink生成STM32代码

这里用到的版本:

STM32CubeMX-5.3.0

下载地址:https://www.stmcu.org.cn/document/detail/index/id-214984

STM32_MAT_TARGET_V4.4.2

下载地址:https://www.stmcu.org.cn/document/detail/index/id-216053

 

1、在STM32CubeMX-5.3.0里配置好具体的ARM芯片STM32F103RCTx, 并保存成工程文件myTest3.ioc;(参考例1)

2、simulink系统设置(参考第一篇博客)

simulink自动生成STM32代码详解_第21张图片

simulink自动生成STM32代码详解_第22张图片

simulink自动生成STM32代码详解_第23张图片

 

3、在SIMULINK里新建一个MODEL文件untitled, 将MCU CONFIG和GPIO _Write这两个模块从工具包(Target Support Package-STM32Adapter)中拖入untitled文件,并在STM32_Config模块中指定myTest1.ioc的文件路径,OK之后该模块自动更名为“STM32F103RCTx”. 说明MCU配置已经成功。

simulink自动生成STM32代码详解_第24张图片

 

4、双击GPIO write模块,选中引脚IO。

simulink自动生成STM32代码详解_第25张图片

 

5、完善模型,如图

simulink自动生成STM32代码详解_第26张图片

 

6、Ctrl+B生成代码

若.ioc文件之前生成了工程文件,自己接打开就可以。

若.ioc文件之前没有生成工程文件,会自动打开STM32CubeMX-5.3.0点击generate code即可。

simulink自动生成STM32代码详解_第27张图片

simulink自动生成STM32代码详解_第28张图片

simulink自动生成STM32代码详解_第29张图片

 

simulink自动生成STM32代码详解_第30张图片

 

7、另外还需要注意一点.ioc文件和.slx文件应在同一文件夹下

simulink自动生成STM32代码详解_第31张图片

 

参考博主:

https://blog.csdn.net/u010411288/article/details/91382302?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromBaidu-2&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-BlogCommendFromBaidu-2

 

https://blog.csdn.net/ybhuangfugui/article/details/52225736#commentBox

 

弯儿:

1、STM32CubeMX打开时会有如下提示:

需安装64bit Java否则会导致STM32CubeMX一些功能不能使用。simulink自动生成STM32代码详解_第32张图片

 

2、STM32CubeMX生成的工程文件无法用keil  打开,提示如下

Keil版本的问题,又安装了一个MDK-ARM_V5软件即可。

关于生成项目的软件及版本可以在STM32CubeMX的项目中设置。

simulink自动生成STM32代码详解_第33张图片

 

3、code replacement library 应选择none

simulink自动生成STM32代码详解_第34张图片

simulink自动生成STM32代码详解_第35张图片

 

4、添加GPIO模块时提示

Error evaluating 'MaskDialog' callback of GPIO_Write(mask) 未定义函数或变量'Pin_idx'  且   simulink建好模型无法生成代码

软件版本:MATLAB2018_b、STM32-MAT/TARGET_5.6.0、STM32CubeMX_5.6.0

simulink自动生成STM32代码详解_第36张图片

https://www.ilovematlab.cn/thread-485075-1-1.html

 

 

 

By chaikeya 2020/4/30

你可能感兴趣的:(simulink,stm32)