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官方手册中的版本要求。

 

为什么要用这么多软件:

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

 

百度网盘软件资源分享:链接: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

 

STM32-MAT/TARGET安装:

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

 

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

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

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

 

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

 

下载STM32CubeMX库:

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

 

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

 

例1:用STM32CubeMX生成STM32代码

1、选择MCU

 

2、设置IO口属性

 

3、设置下载器和时钟源

 

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

 

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

 

例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系统设置(参考第一篇博客)

 

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

 

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

 

5、完善模型,如图

 

6、Ctrl+B生成代码

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

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

 

 

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

 

参考博主:

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一些功能不能使用。

 

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

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

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

 

3、code replacement library 应选择none

 

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

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

 

 

 

By chaikeya 2020/4/30

  • 23
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值