STM32下载程序后不自动运行程序,必须复位一下才可以运行

前提

1,MDK5.30 软件已经勾选reset and run

2,标准复位电路,同时boot0和boot1通过10k电阻接地

解决办法:

 总结:keli 5.28版本以上的需把这里钩去掉,Reset and Run就有效。默认是钩上的,Download Flash后,Reset andRun无效,程序不能运行。必须断开ST LINK才会启动。

### 配置 CubeMX 使 STM32 烧录程序自动运行 为了确保 STM32 在烧录完成后能自动启动并执行已加载的固件,需关注几个方面:硬件连接、软件设置以及编译链配置。 #### 硬件准备 确认使用的调试工具(如 ST-LINK 或 CH340)正确连接到目标板上,并且电源供应稳定。对于某些型号,可能还需要调整跳线帽的位置以进入同的工作模式[^2]。 #### 软件环境搭建 1. **安装必要的驱动** 安装对应于所选编程器的最新版驱动程序,这一步骤通常由 IDE 自动处理,但如果遇到问题则需要手动下载安装。 2. **创建项目** 打开 STM32CubeMX 并新建一个基于选定微控制器系列的新项目。按照提示完成初始化过程,在此期间可以指定时钟源和其他外设参数。 3. **启用复位功能** 进入 `Project` -> `Settings` 页面下的 `Reset after programming` 复选项应被勾选。这一操作会指示编程接口在每次成功写入闪存之后发出一次系统复位命令给 MCU,从而触发应用程序立即开始执行[^1]。 4. **选择合适的启动模式** 对于支持多种启动方式(例如内部 Flash vs SRAM)的目标设备来说,默认情况下应该保持出厂设定即从内置存储空间引导。除非有特殊需求,一般无需更改此项设置。 5. **保存并生成代码框架** 当所有配置都已完成以后点击右上方按钮导出适用于特定IDE(比如CLion)兼容格式(CMakeLists.txt等),以便后续进一步开发。 6. **构建与上传** 利用集成开发环境中提供的工具链对工程项目进行编译链接得到最终可执行映像文件(.hex,.bin),再借助在线仿真器将其传输至单片机内核之中;由于之前已经设置了“重置”,因此理论上讲只要没有其他因素干扰的话此时芯片就会立刻重启进而加载新刷入的应用逻辑了。 ```bash # 使用 CMake 构建项目 cmake -DCMAKE_BUILD_TYPE=Debug .. make ``` 7. **验证效果** 如果一切顺利,则可以看到 LED 指示灯闪烁或者其他预期行为表明程序正在正常运作中。反之如果发现异常状况建议重新检查上述各环节是否存在疏漏之处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值