STM32CubeIDE 10 烧录失败问题


记录初次使用STM32CubeIDE 10 过程中遇到的问题以及后续解决办法探究,使用的开发板是STM32H750XBH6。

Launching Debug一直是93%

此情况下,大概卡了6分钟左右,提示failed to erase memory。
烧录失败的提示

在网上查询后,说是芯片被锁了,于是下载了STM32 ST-LINK Utility 进行检验,发现可以正常访问内存,没有被锁的现象,但是无法进行Erase chip,在卡了6分钟后提示Error occured during flash mass erase!然后会自动断开连接。
Erase chip失败
自动断开连接

实在找不到原因,于是使用了STM32CubeMX 6.5 + Keil uVision5 来进行烧录。

使用Keil烧录后没有运行

成功烧录后,板子没有反应,于是上网查询解决办法,有提示注意勾选Run to main(),在这里插入图片描述
还有勾选Reset and Run,但是同样不会运行,查询了一段时间后,有人提出了不使用ST-LINK供电,直接连接USB_232供电,尝试这种办法,在打开电源开关后,发现程序能够正常运行了。

具体原理不懂,欢迎有相关经验的小伙伴讨论!

### 解决方案 当遇到 `Error occurred during initialization of VM` 错误时,通常是因为 JVM 初始化过程中遇到了资源分配或其他配置方面的问题。以下是几种常见情况及其解决方案: #### 资源不足导致的对象堆空间无法预留 如果错误信息显示 `Could not reserve enough space for object heap`, 这意味着启动JVM时尝试为对象堆保留的空间超出了系统的可用内存范围。 建议调整 `-Xms` 和 `-Xmx` 参数来减少初始和最大堆大小,使它们适应当前计算机的实际物理内存状况[^1]: ```bash java -Xms512m -Xmx1024m YourApplication ``` #### 本地库加载失败 对于提示 `Unable to load native library: Can't find dependent libraries` 的情形,则可能是由于缺少必要的依赖项或是路径设置不正确引起的。 确认所有必需的动态链接库都已安装并位于系统能够访问的位置;另外还需检查环境变量如 PATH 或 LD_LIBRARY_PATH 是否包含了这些库所在的目录[^2]. #### Agent Library未找到 如果是关于找不到代理库instrument的情况 (`Could not find agent library instrument`) ,这可能涉及到特定工具或框架(比如某些性能监控软件)所需的额外组件缺失。 针对这种情况,应该核查项目构建文件中的相关插件配置,并按照文档指示修正Maven Runner等IDE内置运行器里的虚拟机选项参数[^3]: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire.version}</version> <configuration> <!-- Add any required system properties here --> <argLine>-Dfile.encoding=UTF-8 ${agent.lib.path}</argLine> </configuration> </plugin> </plugins> </build> ``` #### Web服务器进程传递参数 最后,在处理像Jetty这样的Web应用容器时,可以通过向其传递合适的VM参数来进行优化配置[^4]。 例如通过命令行指定如下参数: ```bash java -XX:+UseG1GC -server -jar start.jar jetty.home=/path/to/jetty base=/app/base ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蛋炒饭577

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

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

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

打赏作者

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

抵扣说明:

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

余额充值