使用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. 项目解析- JspLibrary - part3

    CRUD read: String sql = "select b.*,c.name as bookcaseName,p.pubname as publishing,t.typename f ...

  2. Google V8扩展利器发布:v8-native-binding-generator

    用C++扩展Google V8很简单,但是类比较多时还是很烦的.前段时间开发cantk-runtime-v8时,我写了一个代码产生器v8-native-binding-generator,让扩展Goo ...

  3. linux笔记:RPM软件包管理-yum在线管理

    ip地址配置: 用ifconfig命令只能配置ip和子网掩码,这样只能访问内网:如果需要访问公网则还必须要网关和DNS. 使用setup工具配置ip: 网络yum源配置: 常用yum命令:查询 常用y ...

  4. noip赛前小结3

    嗯,这是第三份小结. 连续三天的小结. 这几天状态逐渐回来了. 前天3道题rk8左右. 昨天上午3道题rk7,但是有一道题考后1minAC了. 昨天晚上2道题AK了. 今天也3道题rk1了. 这个趋势 ...

  5. 带不带protype的区别

    总结写在前面: ①:带有protype:表示类的扩展,必须new后才能使用. ②:不带protype:属于静态方法,直接调用即可. html代码: <!DOCTYPE html> < ...

  6. python中的异常处理

    主要用到 try...except...raise...finally... 1. try...except... try: for i in range(1, 1000): print i time ...

  7. Ajax请求中带有IPv6地址后的百分号的问题

    IPv6地址后的百分号: 对于连入网络但没有IPv6路由器或DHCPv6服务器的IPv6客户端,它们始终使用fe80::/64链路本地网络地址.如果运行Windows的计算机中有多个网络适配器连接到不 ...

  8. eclipse设置总结

    1.java函数折叠: windows->perferences->General->Editors->Structured Text Editors windows-> ...

  9. apache本地网址配置

    1 实现类似于域名访www.a.com问本地的空间,而不是放在apache下的htocs文件夹下,或者是wamp下的www文件下 2 首先修改C盘WINDOWS\system32\drivers\et ...

  10. mysql的REGEXP 和like的详细研究和解释

    1 regexp ^ 匹配字符串的开始部分 $ 匹配字符串的结束部分 . 匹配任何字符(包括回车和新行) a* 匹配0或多个a字符的任何序列 a+ 匹配1个或多个a字符的任何序列 a? 匹配0个或1个 ...