使用MDK 4.74向STM32下载时出现各种错误,而且时隐时现,

Internal command error.Error:Flash download failed. Target DLL has been cancelled.
 
最初的解决方法就是让STM32不采用外部供电而是让下载器直接供电,同时将BOOT0上拉(BOOT0上拉使从RAM启动)。这样以上各种问题就顺利解决了。
 
或者是BOOT0拉低(BOOT0下拉从FLASH启动),点击KEIL的DOWNLOAD前先按下板子上的复位键不放,然后点击DOWNLOAD,点击完毕后迅速抬起复位键(也就是在STM32从FLASH启动初始化完毕前就烧录),之后程序就烧录进去了。
 
查看用户手册和底层代码,最终找到了下载出错的原因,原因就在于使用库函数或者Cube MX对端口初始化时如不特别指定会默认将SWCLK和SWDIO对应的端口释放为普通IO口,这样再次下载时就无法使用这两个端口的SW-DP功能,也就会产生各种错误。
 
解决方法是:
 
如果使用的是那个3.5版的库函数进行初始化,就在全部初始化函数的最后加上一句AFIO->MAPR |= 1<<25;。或者用库里的语句单独启用SW-DP对应端口的端口复用功能并配置为SWCLK和SWDIO。
 
如果使用Cube MX,则在Pinout页中将如图所示对应端口设定为SWCLK和SWDIO或者将Serial-WireDebug打勾,这样生成的初始化代码会将这两个端口初始化为SW-DP功能。

STM32下载显示target dll has been cancelled的更多相关文章

  1. "flash download failed - Target dll has been cancelled"错误解决办法

    在用mdk通过stlink烧写官方例程到stm32f429I discovery时,烧写了十来个程序都没问题,突然在烧写一个程序时, 弹出了“flash download failed - Targe ...

  2. ROMTableAddr = 0xE00FF003 错误 Target DLL has been cancelled 错误

    JTAG下载固件错误 keil下载固件错误 如下错误 * JLink Info: Found SWD-DP with ID 0x1BA01477 * JLink Info: Found SWD-DP ...

  3. MDK5使用Jlink下载显示 no cortex m sw divice 解决办法

    问题: (1)下面界面中找不到设备 (2)下载程序的时候提示" no cortex m sw divice " 然后是"target dll has been cance ...

  4. MDK st-link下载STM32程序出现Internal command error和Error:Flash download failed. Target DLL

    MDK st-link下载STM32程序出现Internal command error和Error:Flash download failed. Target DLL   是因为目标板的芯片处于休眠 ...

  5. 如何使用串口来给STM32下载程序

    前言 第一次学习STM32的时候,不知道有调试器这个东西,所以一直是通过串口来给STM32下载程序,下载速度也还算可以,一般是几秒钟完成.后来用了调试器,可以直接在Keil环境下进行下载,而且还可以进 ...

  6. win10中显示wpcap.dll丢失的处理方式

    win10中显示wpcap.dll丢失的处理方式 学习了:https://jingyan.baidu.com/article/4f34706e30e673e387b56dd8.html 直接安装Win ...

  7. eclipse真机调试显示Target unknown的解决方法

    eclipse的android模拟器调试是个硬伤,非常非常卡,严重影响工作效率.个人推荐使用第三方模拟器Genymotion,不了解的可以搜索下安装.你会发现它真心好用,但需要官网注册的. 各种调试完 ...

  8. 使用st link v2向stm32下载和调试程序

    st官网 正版ST-link/V2引脚定义和注意事项 分为ST-LINK/V2和ST-LINK/V2-ISOL两种型号 是STM8和STM32微控制器(MCU)系列的在线调试器和编程器(还是下载器.仿 ...

  9. JavaScript Promise异步实现章节的下载显示

    Links: JavaScript Promise:简介 1.一章一章顺序地下载显示下载显示 使用Array.reduce()和Promise.resolve()将各章的下载及显示作为整体串联起来. ...

随机推荐

  1. linux redis 安装

    linux下redis安装   我用的系统是:redhat [root@infa ~]# wget http://download.redis.io/releases/redis-2.8.12.tar ...

  2. @ResponseStatus

    返回一个指定的http response状态码. @ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "IOException oc ...

  3. Java虚拟机类加载机制——案例分析

    转载: Java虚拟机类加载机制--案例分析   在<Java虚拟机类加载机制>一文中详细阐述了类加载的过程,并举了几个例子进行了简要分析,在文章的最后留了一个悬念给各位,这里来揭开这个悬 ...

  4. 【Problem solved】 error C2665: “loadimage”: 2 个重载中没有一个可以转换所有参数类型

    选择“项目”菜单->项目属性->配置属性->常规->字符集,改为“未设置”即可.

  5. js键盘操作事件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Shader for sprite clipping

    Unity3D - Shader for sprite clippinghttp://stackoverflow.com/questions/23165899/unity3d-shader-for-s ...

  7. Qt之窗口动画(下坠、抖动、透明度)

    简述 前面几节中我们介绍了关于动画的基本使用,有属性动画.串行动画组.并行动画组.这节我们来实现一些特效,让交互更顺畅. 简述 示例 效果 源码 更多参考 示例 下面,我们以geometry.pos. ...

  8. python中字符与ascii码转换

    ASCII码转字符用chr()函数:  字符转ASCII码用ord()函数:  

  9. C与C++在const用法上的区别

    首先,C和C++在大体结构上不同,却在语法上相同.  所以在使用的时候,我们会时常遇到一些莫名其妙的问题,觉得语法上是正确的,但是编译的时候却出现一个红色的 error! 比如今天我遇到的这个有意思的 ...

  10. iOS开发几年了,你清楚OC中的这些东西么!!!?

    iOS开发几年了,你清楚OC中的这些东西么!!!? 前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1 ...