为啥我的STM32F407发现刷机软件重新插线后生效?

Posted

技术标签:

【中文标题】为啥我的STM32F407发现刷机软件重新插线后生效?【英文标题】:Why does my STM32F407 discovery flashed software take effect after replugging the cable?为什么我的STM32F407发现刷机软件重新插线后生效? 【发布时间】:2021-05-08 12:28:55 【问题描述】:

我正在使用 Keil 将软件刷新到 stm32f407 发现。 但软件只有在我拔出 JLINK 电缆并重新插入时才开始工作。 这是为什么呢?

【问题讨论】:

最新版本的 Keil 在“重置并运行”方面存在一些问题。尝试开始调试并运行代码(F5)然后退出调试。 【参考方案1】:

默认情况下,uVision 在使用下载 (F8) 功能闪烁后将目标保持在 RESET 状态。我认为这是一项安全功能 - 例如,如果您的代码控制某些机电系统,您可能不希望它自发启动。

您可以通过 Flash->配置 Flash 工具->设置...

更改此行为

或者,如果您通过运行调试器进行加载,它将启动并且默认断点位于main() - 该默认值可以更改为直接运行。当然,任何显式设置的断点都会导致停止。

【讨论】:

以上是关于为啥我的STM32F407发现刷机软件重新插线后生效?的主要内容,如果未能解决你的问题,请参考以下文章

STM32F407之搭建工程

STM32F407之ADC

用Keil uVision4进行Stm32f407板子的调试出现的问题

使用 HAL 在 STM32f407 发现中将数据存储读/写到闪存中

STM32F407 CAN发送注意事项

STM32F407: USART 遇到的问题