【动手学电机驱动】STM32-MBD(1)安装 Simulink STM32 硬件支持包

STM32-MBD(1)安装 Simulink STM32 硬件支持包
STM32-MBD(2)Simulink 模型部署入门
STM32-MBD(3)Simulink 状态机模型部署

通过安装MATLAB 硬件支持包,可以将 STM32 微处理器与 MATLAB/Simulink 结合使用,让开发者可以直接在MATLAB环境中进行嵌入式系统的设计和调试。
本节详细介绍如何下载和安装 STM32 硬件支持包,在基于 STM32 处理器的硬件板上运行 Simulink 模型。


1. 必须的软硬件条件

必需的硬件:

  • STM32 Nucleo 开发板(如:NUCLEO-G431RB 开发板,也可以选择其它 STM32 开发板)
  • Micro-micro USB 数据线,或 USB Type-A 至 Micro-B 连接线缆,用于将STM32 Nucleo 板连接到 PC

必需的软件:

  • STM32CubeMX (推荐使用 v6.4.0)
  • STM32CubeProgrammer (推荐使用 v2.6.0)
  • MATLAB/Simulink(本文使用 MATLAB R2022b)
  • Embedded Coder:生成可读、紧凑且快速的 C 和 C++ 代码,用于量产使用的嵌入式处理器。
  • Simulink Coder:从 Simulink 模型、Stateflow 图和 MATLAB 函数生成并执行 C 和 C++ 代码,用于实时和非实时应用,包括仿真加速、快速原型构建和硬件在环测试

硬件支持包

  • STM32Cube_FW_G4 固件包(根据所用 MCU 选择对应的固件包)
  • Embedded Coder Support Package:嵌入式硬件支持包,根据使用的MCU或板卡选择对应的硬件支持包
    • Embedded Coder Support Package for ARM Cortex-M Processors,ARM Cortex-M 处理器的嵌入式硬件支持包
    • Embedded Coder Support Package for STMicroelectronics STM32 Processors,STM32 处理器的嵌入式硬件支持包
      使用 CubeMX 在任意的 STM32 F4、F7、G4或H7 系列处理器的 Nucleo开发板、Discovery探索板 或用户自制的开发板上,设计、仿真和部署 Simulink 模型,适用于从快速原型设计到产品化的全过程。
    • Embedded Coder Support Package for STMicroelectronics Discovery Boards,支持在 STM32 探索板构建、加载和运行Simulink模型,可选
    • Simulink Coder Support Package for STMicroelectronics Nucleo Boards,支持在 STM32 Nucleo板上构建、加载和运行Simulink模型,可选
      用于设计、仿真和部署 Simulink 模型到某些型号的 STM32 Nucleo 开发板,适用于快速原型。由于所支持的 Nucleo 开发板型号限制,特别是并不支持 G4系列的开发,也不支持用户自制开发板,由此通常只能用于算法研究。

2. 嵌入式硬件支持包

2.1 Embedded Coder

Embedded Coder 为量产使用的嵌入式处理器生成可读、紧凑且快速的 C 和 C++ 代码。它对 MATLAB Coder 和 Simulink Coder 进行了高级优化,以精确控制生成的函数、文件和数据。这些优化可以提高代码效率,简化与现有代码、数据类型和标定参数的集成。您可以结合使用第三方开发工具编译可执行文件,以在您的嵌入式系统或快速原型构建板上实现即交即用式部署。

Embedded Coder 对 AUTOSAR、MISRA C 和 ASAP2 软件标准提供内置支持。它还提供可追溯性报告和代码文档,以及支持 DO178、IEC 61508 和 ISO 26262 软件开发的自动化软件验证。Embedded Coder 代码是可移植的,并且可以在任何处理器上编译和执行。此外,它还为特定硬件提供具有高级优化和设备驱动的支持包。

功能特点:

  1. 模型编译与代码生成:将MATLAB/Simulink模型转换为符合ANSI C或C++标准的代码,可直接在目标硬件上运行。
  2. 硬件接口支持:包括GPIO、中断、定时器、串行通信等外设驱动,使开发者能直接在模型中操作硬件资源。
  3. 实时仿真:在MATLAB/Simulink环境中进行硬件在环(HIL)仿真,以验证代码在实际硬件上的行为。
  4. 代码优化:自动优化代码以提高执行效率,减少存储和计算资源的占用。
  5. 内存管理:智能分配内存,考虑目标硬件的限制,如RAM和Flash大小。
  6. 版本兼容性:支持多种ARM Cortex-M处理器,包括不同供应商的产品。

2.2 嵌入式硬件支持包

硬件支持包是 MATLAB 针对特定硬件平台提供的软件接口,它包含了与特定硬件平台相关的代码生成和仿真支持。这些包通常包括用于代码生成的特定硬件平台的头文件、库文件和配置文件,以及用于Simulink仿真的硬件模型。

在嵌入式系统开发中,HSP允许用户能够直接在MATLAB和Simulink环境中开发、测试和部署代码到目标硬件。这包括:

  • 代码生成:HSP允许MATLAB自动生成针对特定硬件优化的代码。
  • 仿真支持:提供处理器模型,使得在Simulink中可以进行处理器级的仿真。
  • 硬件交互:支持与硬件设备的数据交互和测试。

使用HSP进行代码生成通常包括以下步骤:

  • 创建或导入模型:在Simulink中创建模型或导入现有的模型。
  • 设置目标硬件参数:根据目标硬件配置模型参数。
  • 生成代码:使用Embedded Coder或其他相关工具生成代码。

2.3 Embedded Coder Support Package for STMicroelectronics STM32 Processors

Embedded Coder Support Package for STMicroelectronics STM32 Processors 硬件支持包,是 MATLAB 开发环境为 STM32 微处理器提供的一套专用工具,使用户能够在STM32设备上构建、加载和运行Simulink模型,帮助工程师和开发者将 MATLAB 代码高效地转换为能够在这些微控制器上运行的 C/C++ 代码。这个支持包为 STM32 处理器提供了强大的开发环境和工具链,让开发者可以直接在MATLAB环境中进行嵌入式系统的设计和调试,而无需深入底层硬件细节。

功能特点:

  1. 使用自动构建、部署和执行在片上快速原型化算法
  2. 使用监控和调整模式(外部模式)执行实时参数调整和记录
  3. 使用执行分析执行循环中的处理器(PIL)
  4. 生成处理器优化代码,包括 CMSIS-DSP
  5. 支持使用 STM32CubeMX 集成进行外围配置
  6. 用于片上和板上外围设备的驱动程序块库
  7. 使用 Motor Control Blockset 示例模型加速电机控制开发

支持的处理器

支持以下STM32处理器系列以及每个系列的相应硬件板,包括Nucleo、Discovery和Custom板。

  • STM32F3xx
  • STM32F4xx
  • STM32F7xx
  • STM32G4xx
  • STM32L4xx
  • STM32L5xx
  • STM32WBxx
  • STM32U5xx
  • STM32H7xx

借助 Embedded Coder Support Package for STMicroelectronics STM32 Processors,可以自动编译和部署针对 STM32 处理器的处理器优化代码。使用提供的模块和 STM32CubeMX 集成,可以为外设和 I/O 设计算法和使用模块库。


2.4 Simulink Coder Support Package for STMicroelectronics Nucleo Boards

Simulink Coder Support Package for STMicroelectronics Nucleo Boards 支持包使用户能够在STM32 Nucleo板上构建、加载和运行Simulink模型。

功能特点:

  1. 使用自动构建、部署和执行在片上快速原型化算法
  2. 使用外部模式执行实时参数调整和记录
  3. 包括连接的IO(在主机运行时访问外设)

用于片上和板上外设的驱动模块:

  1. 数字I/O、ADC、PWM、IRQ
  2. I2C、SCI、SPI、Modbus
  3. F7x/H7x板卡:CAN、TCP、UDP、ThingSpeak
  4. 传感器:湿度、磁强计、压力、IMU

如果需要对 STM32 控制板(Nucleo)进行高级和深入的配置,请使用 Embedded Coder Support Package for STMicroelectronics STM32 Processors 支持包。


3. 安装 MATLAB 硬件支持包

通过安装MATLAB 硬件支持包,可以将 STM32 微处理器与 MATLAB/Simulink 结合使用。


3.1 在线安装硬件支持包

  1. 在 MATLAB 主页选项卡的环境部分中,选择附加功能 > 获取硬件支持包。
  2. 在附加功能资源管理器窗口中,点击支持包,然后点击安装。

在这里插入图片描述

由于国内软件状态及网络条件的原因,在线安装很难成功。一次不推荐采用在线安装。


3.2 离线下载硬件支持包

  1. 下载 MathWorks 硬件支持包下载软件:
    下载地址:https://ww2.mathworks.cn/support/install/support-software-downloader.html
    根据操作系统(Windows/Linux/Mac)选择对应的支持包下载软件。以 Windows-64bit 为例,下载 SupportSoftwareDownloader_R2024b_win64.exe。

在这里插入图片描述

  1. 运行硬件支持包下载软件 SupportSoftwareDownloader_R2024b_win64.exe,进入下载支持包过滤器列表,勾选和必要的硬件支持包,点击“下一步”继续安装。
  • Embedded Coder Support Package for ARM Cortex-M Processors
  • Embedded Coder Support Package for STMicroelectronics STM32 Processors

在这里插入图片描述

在这里插入图片描述

  1. 出现第三方软件限制条款,点击“下一步”继续安装。
    在这里插入图片描述

  2. 开展下载选择的硬件支持包。安装完成后将提示安装成功。
    在这里插入图片描述

由于国内网络状态,离线安装经常出现安装失败。可以再试几次,直到安装成功。也可以复制他人已下载好的 Matlab2022b 硬件支持包使用。

我已将以下的 Matlab2022b 硬件支持包上传到网络硬盘,供大家下载使用:

  • SupportPackages_ARM_CortexM:Embedded Coder Support Package for ARM Cortex-M Processors
  • SupportPackages_STM32Processors,Embedded Coder Support Package for STMicroelectronics Discovery Boards
  • SupportPackages_STM32NucleoBoard,Simulink Coder Support Package for STMicroelectronics Nucleo Boards

3.3 离线安装硬件支持包

  1. 下载或复制 Matlab 硬件支持包,进行离线安装。

  2. 找到本机的 MATLAB 安装路径,选择交互式安装程序(install_supportsoftware.exe)或静默安装程序(SupportSoftwareInstaller.exe)安装 Matlab 硬件支持包,准备启动离线安装。
    注意:静默安装仅在 MATLAB R2018a 及更高版本中可用。

在这里插入图片描述

  1. 打开 Windows 控制台命令行窗口(command prompt),通过交互式安装程序(install_supportsoftware.exe)安装 Matlab 硬件支持包。
    交互式安装程序的可执行文件只需要一个参数:下载硬件支持包的位置路径(路径中不要使用中文字符)。

cd DRIVE:<MATLAB_PATH>\bin\win64
install_supportsoftware.exe -archives <path_to_download_folder> [-matlabroot DRIVE:\MATLAB_PATH]

例如,本机的 MATLAB 安装路径为 D:\MATLAB\R2022b\,硬件支持包的保存路径为 D:\MATLAB\SupportPackages_STM32Processors\R2022b,则在命令行窗口输入以下命令安装支持包:

cd C:\MATLAB\R2018b\bin\win64
.\install_supportsoftware.exe -archives D:\Matlab\SupportPackages_STM32Processors\R2022b

在这里插入图片描述

  1. 交互式安装程序将启动 MATLAB,并生成“安装支持包”窗口启动支持包安装程序。选择所需的硬件支持包,点击“下一步”就开始安装。

在这里插入图片描述

在这里插入图片描述

  1. 验证是否安装成功

打开 Matlab 和 Simulink,打开或新建一个项目文件,点击菜单“库浏览器”唤出库浏览器侧边栏,查看 “Embedded Coder Support Package” 和/或 “Simulink Coder Support Package”。

如下图所示,库浏览器中正常显示所安装的硬件支持包,表明安装成功。

在这里插入图片描述

在这里插入图片描述


4. STM32 硬件板的设置

MathWorks 支持的硬件板和设备需要额外的配置和设置步骤才能连接到 MATLAB 和 Simulink。

安装完支持包之后,要对硬件目标板进行设置,以注册所需的 STM32 软件工具(选择STM32 CubeMX)来生成代码,并将其部署到连接的 STM32 硬件板上(如 NUCLEO-G431RB 开发板)。

如果已安装支持包,则可以使用 Add-On Manager 启动硬件设置。也可以运行以下命令从 MATLAB 命令行窗口启动该设置:“stm32cube.tools.launchHardwareSetup”。

MATLAB 将启动硬件设置,按照提示选择所需的硬件、软件,检查 STM32CubeMX 的软件安装路径,点击 “Validate” 以验证 STM32 软件(STM32CubeMX和STM32CubeProgrammer)的安装及版本是否正确。

具体操作步骤如下:

  1. 启动 MATLAB,运行以下命令启动 STM32 硬件设置。

stm32cube.tools.launchHardwareSetup

在这里插入图片描述

  1. 进入MCU Family 选择需要支持的 STM32 硬件。点击“Next”。
  2. 提示必需的 STM32 工具及版本(STM32CubeMX、STM32CubeProgrammer),如尚未安装可以点击 “Download” 下载并安装。点击“Next”。

在这里插入图片描述

  1. 对 STM32CubeMX 进行安装配置。
    点击“Browse”选择本机安装 STM32CubeMX 的路径。
    点击 “Validate” 进行验证。等待验证完成后,点击“Next” 完成 STM32CubeMX 的配置。
    如下图所示,如果 STM32CubeMX 的版本较新,将出现软件版本兼容性提示。

  2. 对 STM32CubeProgrammer 进行安装配置。
    点击“Browse”选择本机安装 STM32CubeProgrammer 的路径。
    点击 “Validate” 进行验证。等待验证完成后,点击“Next” 完成 STM32CubeProgrammer 的配置。
    如下图所示,如果 STM32CubeProgrammer 的版本较新,将出现软件版本兼容性提示。

在这里插入图片描述

  1. 设置 STM32 固件包存储位置,点击“Next”继续。

  2. 如果已经下载了 STM32 固件包,将其保存在该路径下。如果没有下载STM32固件包,则自动下载所需的固件包。
    注意:强烈建议离线下载 STM32 固件包,将其保存在固件包存储路径进行离线安装。如:STM32Cube_FW_F4_V1.26.0 固件包、STM32Cube_FW_G4_V1.5.0 固件包。

  3. 点击 “Install” 开始安装。安装中提示许可证确认,选择 “Accept” 继续安装。

  4. 如下图所示,STM32固件包下载成功,点击 “Next”。
    安装 STM32 所需固件时,由于网络原因,如果安装失败,重新运行本硬件设置过程,直到安装成功。
    在这里插入图片描述

  5. 如果选择了 STM32 Discovery 板级支持,需要继续安装相应的 STM32 DISCOVERY Board firmware package
    并进行验证。本文未安装 Discovery 板级,除非用户确定需要使用该 Discovery 板,否则不推荐安装。

  6. 完成STM32 硬件设置,如上图所示。


至此,我们完成了 STM32 硬件支持包 的安装和配置,就可以将 STM32 微处理器与 MATLAB/Simulink 结合使用,让开发者可以直接在MATLAB环境中进行嵌入式系统的设计和调试。

在下节中,我们将通过 MATLAB/Simulink,创建一个简单的 LED 点亮工程,在 STM32G431 开发板上应用。

(本节完)


参考资料:

  1. Embedded Coder 快速入门,(https://ww2.mathworks.cn/help/ecoder/product-fundamentals.html?s_tid=CRUX_lftnav)

  2. 安装 STMicroelectronics STM32 处理器的支持程序,(https://ww2.mathworks.cn/help/ecoder/stmicroelectronicsstm32f4discovery/ug/install-support-for-stm32-board-processors.html)

  3. 基于 STMicroelectronics STM32 处理器的板快速入门, (https://ww2.mathworks.cn/help/ecoder/stmicroelectronicsstm32f4discovery/ug/Getting-started-stm32cubemx.html?searchHighlight=STM32&s_tid=srchtitle_support_results_2_STM32)


版权声明:
youcans@xidian 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/144281802)
Copyright@youcans 2024
Crated:2024-12

### Simulink STM32 硬件支持安装与使用教程 #### 一、硬件支持简介 为了实现SimulinkSTM32之间的无缝对接,MathWorks提供了专门针对STM32系列微控制器的硬件支持。此工具允许工程师们通过图形化界面快速创建并部署算法到目标板上,在嵌入式系统设计领域具有广泛应用价值。 #### 二、安装过程概述 对于初次接触这一流程的新手而言,整个设置可能会显得有些复杂,但实际上只要按照官方文档指引操作即可顺利完成配置工作。需要注意的是,由于不同用户的计算机性能差异较大,因此实际耗时会有所不同,请保持足够的耐心直至看到成功的提示信息[^1]。 ```bash # 打开MATLAB命令窗口输入如下指令启动Add-Ons Manager matlab.addons.install('Support Package for STMicroelectronics Nucleo Boards') ``` #### 三、具体步骤说明 - **准备工作** - 确认已安装最新版本的MATLAB以及Simulink产品; - 下载对应型号Nucleo开发板的支持软件- **执行安装** - 启动MATLAB应用程序后访问主页标签页下的“附加功能”按钮; - 浏览至所需项点击获取完成下载动作; - 接受许可协议条款继续前进; - 遵循屏幕上的指示逐步推进直到结束。 #### 四、验证安装成果 当上述环节全部完成后,可以通过简单的测试模型来检验环境是否搭建正确无误。比如建立一个基础LED闪烁项目,观察实物反应情况从而判断连接状态良好与否。 #### 五、常见问题解答 如果遇到任何困难或者疑问可以查阅官方帮助手册寻求解决方案,通常里面含了详尽的文字描述加上直观的操作截图便于理解掌握。另外也可以加入社区论坛与其他爱好者交流心得技巧共同进步成长。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youcans_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值