【动手学电机驱动】STM32-MBD(1)安装 STM32 硬件支持包
【动手学电机驱动】STM32-MBD(1)安装 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
必需的软件:
- 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 处理器的嵌入式硬件支持包
- Embedded Coder Support Package for STMicroelectronics Discovery Boards,支持在 STM32 探索板构建、加载和运行Simulink模型,可选
- Simulink Coder Support Package for STMicroelectronics Nucleo Boards,支持在 STM32 Nucleo板上构建、加载和运行Simulink模型,可选
- STM32CubeMX ver6.4 及以上版本(本文使用 ver6.12)
- STM32CubeProgrammer ver2.6 及以上版本(本文使用 ver 2.18)
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 代码是可移植的,并且可以在任何处理器上编译和执行。此外,它还为特定硬件提供具有高级优化和设备驱动的支持包。
功能特点:
- 模型编译与代码生成:将MATLAB/Simulink模型转换为符合ANSI C或C++标准的代码,可直接在目标硬件上运行。
- 硬件接口支持:包括GPIO、中断、定时器、串行通信等外设驱动,使开发者能直接在模型中操作硬件资源。
- 实时仿真:在MATLAB/Simulink环境中进行硬件在环(HIL)仿真,以验证代码在实际硬件上的行为。
- 代码优化:自动优化代码以提高执行效率,减少存储和计算资源的占用。
- 内存管理:智能分配内存,考虑目标硬件的限制,如RAM和Flash大小。
- 版本兼容性:支持多种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环境中进行嵌入式系统的设计和调试,而无需深入底层硬件细节。
功能特点:
- 使用自动构建、部署和执行在片上快速原型化算法
- 使用监控和调整模式(外部模式)执行实时参数调整和记录
- 使用执行分析执行循环中的处理器(PIL)
- 生成处理器优化代码,包括 CMSIS-DSP
- 支持使用 STM32CubeMX 集成进行外围配置
- 用于片上和板上外围设备的驱动程序块库
- 使用 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模型。
功能特点:
- 使用自动构建、部署和执行在片上快速原型化算法
- 使用外部模式执行实时参数调整和记录
- 包括连接的IO(在主机运行时访问外设)
用于片上和板上外设的驱动模块:
- 数字I/O、ADC、PWM、IRQ
- I2C、SCI、SPI、Modbus
- F7x/H7x板卡:CAN、TCP、UDP、ThingSpeak
- 传感器:湿度、磁强计、压力、IMU
如果需要对 STM32 控制板(Nucleo)进行高级和深入的配置,请使用 Embedded Coder Support Package for STMicroelectronics STM32 Processors 支持包。
3. 安装 MATLAB 硬件支持包
通过安装MATLAB 硬件支持包,可以将 STM32 微处理器与 MATLAB/Simulink 结合使用。
3.1 在线安装硬件支持包
- 在 MATLAB 主页选项卡的环境部分中,选择附加功能 > 获取硬件支持包。
- 在附加功能资源管理器窗口中,点击支持包,然后点击安装。
由于国内软件状态及网络条件的原因,在线安装很难成功。一次不推荐采用在线安装。
3.2 离线下载硬件支持包
- 下载 MathWorks 硬件支持包下载软件:
下载地址:https://ww2.mathworks.cn/support/install/support-software-downloader.html
根据操作系统(Windows/Linux/Mac)选择对应的支持包下载软件。以 Windows-64bit 为例,下载 SupportSoftwareDownloader_R2024b_win64.exe。
- 运行硬件支持包下载软件 SupportSoftwareDownloader_R2024b_win64.exe,进入下载支持包过滤器列表,勾选和必要的硬件支持包,点击“下一步”继续安装。
- Embedded Coder Support Package for ARM Cortex-M Processors
- Embedded Coder Support Package for STMicroelectronics STM32 Processors
-
出现第三方软件限制条款,点击“下一步”继续安装。
-
开展下载选择的硬件支持包。安装完成后将提示安装成功。
由于国内网络状态,离线安装经常出现安装失败。可以再试几次,直到安装成功。也可以复制他人已下载好的 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 离线安装硬件支持包
-
下载或复制 Matlab 硬件支持包,进行离线安装。
-
找到本机的 MATLAB 安装路径,选择交互式安装程序(install_supportsoftware.exe)或静默安装程序(SupportSoftwareInstaller.exe)安装 Matlab 硬件支持包,准备启动离线安装。
注意:静默安装仅在 MATLAB R2018a 及更高版本中可用。
- 打开 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
- 交互式安装程序将启动 MATLAB,并生成“安装支持包”窗口启动支持包安装程序。选择所需的硬件支持包,点击“下一步”就开始安装。
- 验证是否安装成功
打开 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)的安装及版本是否正确。
具体操作步骤如下:
- 启动 MATLAB,运行以下命令启动 STM32 硬件设置。
stm32cube.tools.launchHardwareSetup
- 进入MCU Family 选择需要支持的 STM32 硬件。点击“Next”。
- 提示必需的 STM32 工具及版本(STM32CubeMX、STM32CubeProgrammer),如尚未安装可以点击 “Download” 下载并安装。点击“Next”。
-
对 STM32CubeMX 进行安装配置。
点击“Browse”选择本机安装 STM32CubeMX 的路径。
点击 “Validate” 进行验证。等待验证完成后,点击“Next” 完成 STM32CubeMX 的配置。
如下图所示,如果 STM32CubeMX 的版本较新,将出现软件版本兼容性提示。对此不需要进行处理,点击 “Next” 继续。 -
对 STM32CubeProgrammer 进行安装配置。
点击“Browse”选择本机安装 STM32CubeProgrammer 的路径。
点击 “Validate” 进行验证。等待验证完成后,点击“Next” 完成 STM32CubeProgrammer 的配置。
如下图所示,如果 STM32CubeProgrammer 的版本较新,将出现软件版本兼容性提示。对此不需要进行处理,点击 “Next” 继续。
-
设置 STM32 固件包存储位置,点击“Next”继续。
-
下载STM32固件包,点击“Install”开始安装。安装中提示许可证确认,选择 “Accept” 继续安装。
-
如下图所示,STM32固件包下载成功,点击“Next”。
安装 STM32 所需固件时,由于网络原因,如果安装失败,重新运行本硬件设置过程,直到安装成功。
-
如果选择了 STM32 Discovery 板级支持,需要继续安装相应的 STM32 DISCOVERY Board firmware package
并进行验证。本文未安装 Discovery 板级,除非用户确定需要使用该 Discovery 板,否则不推荐安装。 -
完成STM32 硬件设置,如上图所示。
至此,我们完成了 STM32 硬件支持包 的安装和配置,就可以将 STM32 微处理器与 MATLAB/Simulink 结合使用,让开发者可以直接在MATLAB环境中进行嵌入式系统的设计和调试。
在下节中,我们将通过 MATLAB/Simulink,创建一个简单的 LED 点亮工程,在 STM32G431 开发板上应用。
(本节完)
参考资料:
-
Embedded Coder 快速入门,(https://ww2.mathworks.cn/help/ecoder/product-fundamentals.html?s_tid=CRUX_lftnav)
-
安装 STMicroelectronics STM32 处理器的支持程序,(https://ww2.mathworks.cn/help/ecoder/stmicroelectronicsstm32f4discovery/ug/install-support-for-stm32-board-processors.html)
-
基于 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
原文地址:https://blog.csdn.net/youcans/article/details/144281802
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!