打印

3、STM32CubeIDE 用户如何使用 Bash

[复制链接]
190|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
blacye|  楼主 | 2025-3-14 13:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 blacye 于 2025-3-14 15:27 编辑

1、前言

OEMiROT 的烧录脚本是有两种形式,一种是 Bash 格式,一种是 BAT。我们可以从STM32CubeRepositorySTM32Cube_FW_H5_V1.3.0ProjectsNUCLEOH563ZIROT_ProvisioningOEMiROT 目录能看到这一点。

无论是 Bash 格式还是 BAT, 基于 STM32Cube 生态工具,都可以在 Windows 上运行。但是这两种格式在 OEMiROT 上下文里并不能由着我们的开发习惯随意使用。本文就来说明正确使用的规则和混用的方法。

2、规则

Bash 和 Bat 文件是否可以随意选择使用,从STM32CubeRepositorySTM32Cube_FW_H5_V1.3.0ProjectsNUCLEOH563ZIROT_ProvisioningOEMiROT 是看不出来的。也就是说,如果你不去修改编译代码,可能什么问题都没有。答案是在 STM32CubeRepositorySTM32Cube_FW_H5_V1.3.0ProjectsNUCLEOH563ZIApplicationsROTOEMiROT_Boot 的几个 IDE 的脚本里。我们可以看到,对于STM32CubeIDE(STM32CubeIDE 目录)使用的是 postbuild.sh。

3、STM32CubeIDE 用户如何使用 Bash

STM32CubeIDE 用户使用 Bash,可以安装一个 Git Bash 软件,那么在 Git Bash 的命令行就可以执行 ROT_Provisioning 的脚本。

4、解决 Bash 和 Bat 混用的问题举例

假设我们使用 STM32CubeIDE 进行编译。我们知道 OEMiROT 的默认行为是Overwrite,也就是新的固件会覆盖旧的固件,原理上只需要注解掉位于STM32CubeRepositorySTM32Cube_FW_H5_V1.3.0ProjectsNUCLEOH563ZIApplicationsROTOEMiROT_BootInc的 flash_layout.h 中的宏。不过,因为 OVERWRITE 到 SWAP 会引起 Flash 布局的改变,因此,改动之后,假如我们习惯 BAT,那么使用STM32CubeRepositorySTM32Cube_FW_H5_V1.3.0ProjectsNUCLEOH563ZIROT_ProvisioningOEMiROT 的 provisioning.bat 烧录后,串口终端会出现错误。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

5

帖子

1

粉丝