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

simulink自动生成STM32代码详解相关推荐

  1. Matlab/Simulink自动生成STM32代码_基于模型的开发_环境搭建

    目录 前言 官方简介 Matlab R2018b安装 STM32-MAT/TARGET 安装 STM32CubeMX 安装 STM32CubeIDE, Keil安装 ST-Link驱动安装 微信公众号 ...

  2. Matlab/Simulink自动生成C代码实验

    目录 0. 概要 1. Matlab /Simulink/Embedded Coder关系与区别 2. 搭建Simulink模型及仿真 2.1 搭建模型 2.2 仿真 3. 生成代码 3.1 求解器设 ...

  3. Flayway mysql自动生成版本_Flyway详解及Springboot集成Flyway的详细教程

    Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里:不仅支持Command Line和java api ,也支持Bu ...

  4. EZDML生成Erupt代码详解

    Erupt是一个基于Spring boot注解的java框架,只需要写个实体类就能自动生成增删改查的基本功能,又可以自定义代码实现复杂逻辑,设计精巧功能强大得来又很灵活.我在生成Erupt过程中有时会 ...

  5. java crud生成_Spring Data CRUD的生成和代码详解

    今天介绍一些JHipster生成简单的CRUD代码,完成一个One-to-Many(一对多)关系的增删改查. CRUD是Create.Read.Update.Delete的缩写,就是增删改查.CRUD ...

  6. stm32代码_MATLAB(STM32MATTARGET) 自动生成STM32工程代码

    利用MATLAB的SIMULINK自动生成STM32工程代码,本课程介绍如何利用MATLAB,STM32-MAT,STM32CUBE 如何在SIMLINK中仿真并且生成工程代码,本课程将以SPWM波的 ...

  7. 【初篇】DHT11连接STM32、One wire单总线原理、GPIO代码详解

    目录 一.DHT11单总线原理 二.代码详解 三.代码 代码见文章末尾 一.DHT11单总线原理 DHT11温湿度传感器只需要一根线即可和MCU进行数据交换,无数据传输时,单线应为高电平状态,具体流程 ...

  8. 《STM32从零开始学习历程》——CAN通讯代码详解

    <STM32从零开始学习历程>@EnzoReventon CAN通讯代码详解 相关链接: <STM32从零开始学习历程>--CAN通讯协议物理层 CAN-bus规范 V2.0版 ...

  9. 基于RK3399ESP8285自动售货柜项目—MP08开发板端代码详解

    基于RK3399&ESP8285自动售货柜项目-②MP08开发板端代码详解 本系列文章将详细讲解该基于RK3399及ESP8285自动售货柜的完整实现方法,从硬件连接到网络通信再到软件实现,本 ...

最新文章

  1. 巧用Excel 2010数据透视表制作销售报表
  2. 如何监控impala的数据_CDH秘籍(两):cloudera Manager存储监控数据
  3. opencv 图像访问索引
  4. Java-虚拟机-堆的内存规划/新生代/老年代/卡表
  5. python 类和对象 有必要学吗_Python学习——对类和对象的初步理解,初识,与
  6. 软件需求规格说明书_4.软件需求最佳实践笔记 | 软件需求与需求工程
  7. 2020年的19种最佳React Native App模板(包括5种免费)
  8. 异步编程之 Isolate
  9. 银河麒麟V10(Kylin Linux V10)之DBeaver安装
  10. 电话交换机--程控交换机
  11. 异步四位二进制计数器逻辑图
  12. 目标管理是项目管理的核心思想之
  13. Javascript 16进制转有符号的10进制整数
  14. WebAssembly WASM 是什么
  15. win10一直正在检查更新_IT之家安卓/iOS版 7.15 更新:手机短信快捷登录/海外用户支持...
  16. 教你认识水货手机翻新手机14天机的鉴别和选购
  17. 虹科案例 | 用AR进行建筑规划,这家公司竟已“走近”了元宇宙?
  18. Java Eclipse如何调试代码
  19. 计算机网络流量控制名词解释,计算机网络-名词解释
  20. GPT3.5 promt的两个编写原则之一 编写具体、清晰的指令

热门文章

  1. 奥飞数据拟推5000万元员工持股计划
  2. h5页面转png图片_HTML、H5、web转图片image的几种方法总结
  3. 常用文件IO函数 -open/close
  4. 设置响应对象的编码格式
  5. 全球与中国锂分子筛市场现状及未来发展趋势
  6. 如何使用GitHub下载代码
  7. EETI_eGTouch驱动移植及校准
  8. 6N60-ASEMI的MOS管6N60
  9. oracle exfsys 下 rlm$evtcleanup,记一次数据库无法增删改趋于HANG住状态的故障诊断和处理 -电脑资料...
  10. 数据结构——第一章 绪论习题