今天在通过stlink烧录一个长时间未用的STM32F407VET6 Black Board的时候, 出现Internal command error
, Flash download failed target dll has been cancelled
错误.
板子上缺失两个boot跳线帽, 将跳线帽加上, 短接Boot0与GND, Boot1与GND (默认接线), 之后问题依旧.
检查stlink连接状态, 在Options for target的配置中, 检查debug中的Use, 使用的是ST-link Debugger, 点开右侧的Settings, 在SW Device中能看到ARM Core Sight SW-DP设备, 所以ST-link连接是对的
打开STM32 ST-LINK Utility, 点击连接, 依然出现Internal command error, 根据提示, 修改target->settings下的Mode为 Connect under reset, 依然不行.
偶然发现在按开发板上的reset键后, 在STM32 ST-LINK Utility中点击连接能连上, 此时尝试烧录一个hex, 依然报Internal command error.
尝试Full chip erase, 这次没有出现失败, 全部地址都被擦写为FF. 在这之后再尝试连接, 以及烧录hex, 一切正常. 在Keil MDK中进行烧录, 也恢复了正常.
另外, 记录一下ST-link与STM32F407VET6 Black Board的接线方式