当前位置: 首页 > news >正文

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

STM32-MBD(1)安装 STM32 硬件支持包

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

    • 1. 必须的软硬件条件
    • 2. 嵌入式硬件支持包
      • 2.1 Embedded Coder
      • 2.2 嵌入式硬件支持包
      • 2.3 Embedded Coder Support Package for STMicroelectronics STM32 Processors
      • 2.4 Simulink Coder Support Package for STMicroelectronics Nucleo Boards
    • 3. 安装 MATLAB 硬件支持包
      • 3.1 在线安装硬件支持包
      • 3.2 离线下载硬件支持包
      • 3.3 离线安装硬件支持包
    • 4. STM32 硬件板的设置

通过安装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 ver6.4 及以上版本(本文使用 ver6.12)

  • STM32CubeProgrammer ver2.6 及以上版本(本文使用 ver 2.18)

  • MATLAB/Simulink(本文使用 MATLAB R2022b)

  • Embedded Coder:生成可读、紧凑且快速的 C 和 C++ 代码,用于量产使用的嵌入式处理器。

  • Simulink Coder:从 Simulink 模型、Stateflow 图和 MATLAB 函数生成并执行 C 和 C++ 代码,用于实时和非实时应用,包括仿真加速、快速原型构建和硬件在环测试

  • 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 的版本较新,将出现软件版本兼容性提示。对此不需要进行处理,点击 “Next” 继续。

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

在这里插入图片描述

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

  2. 下载STM32固件包,点击“Install”开始安装。安装中提示许可证确认,选择 “Accept” 继续安装。

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

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

  5. 完成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@qq 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/144281802)
Copyright@youcans 2024
Crated:2024-12


http://www.mrgr.cn/news/79473.html

相关文章:

  • HarmonyOS-高级(一)
  • 【Flux.jl】 卷积神经网络
  • Swing1.计算器案例
  • 2412d,d的7月会议
  • AI生成不了复杂前端页面?也许有解决方案了
  • 基于PHP课堂签到系统的设计与实现
  • 使用IntelliJ IDEA开发Gradle插件并发布到本地
  • openharmony5.0版本源码一二级目录概览
  • 【C++游戏程序】easyX图形库还原游戏《贪吃蛇大作战》(三)
  • Scala-隐式转换
  • “切片赋值”创建列表批量操作“新”方法(Python)
  • JDK17 CompletableFuture
  • shell自动显示当前git的branch
  • [机器学习] 监督学习之线性回归与逻辑回归
  • C++ 完美转发和左值右值
  • 利用高德地图API,如何在PHP与vue3中实现地图缩放功能
  • UE5.5 Geometry库平面切割原理分析
  • Vue3+Vite+ElementPlus 构建 笔记
  • 深入理解 Spring MVC 中的 @RequestBody 注解
  • AI职位对项目经验有哪些具体要求?
  • 【力扣】647.回文子串
  • 【论文相关】期刊/会议 信息检索——IEEE各期刊投稿要求(待完善)
  • leetcode399:除法求值
  • AGCRN论文解读
  • 【调试工具】USB 转 UART 适配器(USB 转 TTL)
  • 【数字电路与逻辑设计】实验五 4人表决器