STM32下载不成功问题汇总

2019-07-19来源: eefocus关键字:STM32  下载不成功  问题汇总

在某宝上买了五个最小系统核心板是STM32F103C8T6的芯片,刚拿到手准备下载程序调试,上电后板子自带LED闪烁,这是商家自己下载的示例程序,说明芯片工作着,用KEIL4进行下载自己程序,把自己编译好的程序下载。用的JLINK的四线下载调试下载口,SW的调试接口,点击下载后发现擦除成功,下载失败,提示:


Load "..\Output\STM32-DEMO.axf" 

Set JLink Project File to "F:文件RFID程序电机USERJLinkSettings.ini"

* JLink Info: Device "STM32F103T8" selected (64 KB flash, 20 KB RAM).

 

JLink info:

------------

DLL: V4.56 , compiled Oct 22 2012 19:40:04

Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46

Hardware: V8.00

S/N : XXXXXXXX 

Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDBFull 

 

* JLink Info: Found SWD-DP with ID 0x1BA01477

* JLink Info: Found SWD-DP with ID 0x1BA01477

* JLink Info: TPIU fitted.

* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots

* JLink Info: Found Cortex-M3 r1p1, Little endian.

ROMTableAddr = 0xE00FF003

 

Target info:

------------

Device: STM32F103T8

VTarget = 3.300V

State of Pins: 

TCK: 0, TDI: 0, TDO: 0, TMS: 1, TRES: 1, TRST: 1

Hardware-Breakpoints: 6

Software-Breakpoints: 8192

Watchpoints:          4

JTAG speed: 500 kHz

 

Erase Done.

Programming Failed!

Error: Flash Download failed  -  "Cortex-M3"


弹出窗口提示:



下载不成功但是把原来的程序擦了,LED也不亮了,我的世界瞬间变暗了。想了想是不是这块板子的问题,懒得上万用表,直接下一块板子,把剩下的四个最小系统板都下载了都是这种情况,出厂的程序全成功擦除,但是自己程序下载不了,这次五个小板上的LED全灭了。开始百度找原因。


其中常见错误链接:http://www.stmcu.org/module/forum/thread-566492-1-1.html


http://www.elecfans.com/emb/danpianji/20120905287381_15.html


度娘的原因差不多都试过了但对我的板子没有作用,分析可能芯片原因,正好手头有这个型号的芯片,就拿风枪吹下来,换了个stm32,上电用jlink下载,心情异常激动啊,点击下载,成功了。果断给客服打电话,客服说联系技术人员,这一联系,没影了,还是自己动手解决吧,继续分析,把原因定位到芯片上了,可能是由于之前不当操作导致进入读写保护状态,导致无法擦写芯片,可以据说用jlink中Unsecure chip 选项就行了~~我用的是方式isp试的


这是STM32下载的三种方式 http://blog.chinaunix.net/uid-20788517-id-263475.html


我用的是其中的第二种 ,在用isp下载之前一定要把跳线BOOT1置0,BOOT0置1,BOOT具体功能:



BOOT1=x   BOOT0=0   从用户闪存启动,这是正常的工作模式。

BOOT1=0   BOOT0=1   从系统存储器启动,这种模式启动的程序功能由厂家设置。

BOOT1=1   BOOT0=1   从内置SRAM启动,这种模式可以用于调试。

用下载方式的第二种isp下载即串口下载,果然发现了问题,确实被保护了。看图真相



点击Remove protection那个解除保护即可。剩下的按照链接的做就行了。


boot0和boot1全跳到0;改用Jlink成功下载。剩下的几块都用isp下载后,也全好了。


浪费了一下午的时间,都是写保护惹的祸。晚上又是不眠之夜,还有很多code没写。


刚才看了有关文章不用isp方式解除写保护,用jlink就行,至于如何操作这个软件,看那个stm32的三种下载方式里的教程的链接。


前提是先 Connect 成功。怎么设置该软件的参数,看本文链接。如果连接不成功检查boot引脚。


Target->connect.这里要先连接板子才可以进行unsecure chip 操作.连接的时候我一开始连接不上,很郁闷.但是不小心把启动方的跳线冒弄掉了,却发现可以了.也就是说,我是在从片bootloader的启动方式下(即使用串口的那种方式)连接上的.连接上之后.targer->unsecure chip.提示成功.如图:


4.正常用Keil里的下载方式就可以下载了。



关键字:STM32  下载不成功  问题汇总

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic468601.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:关于ST-Link的internal command error问题的解决方法
下一篇:Keil MDK中 ST/Link 硬件仿真的配置,解决不进入main函数的方法

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

第8章 自己写库-构建库函数雏形—零死角玩转STM32-F429系列

本章参考资料:《STM32F4xx 中文参考手册》、《STM32F429规格书》虽然我们上面用寄存器点亮了 LED,乍看一下好像代码也很简单,但是我们别侥幸以后就可以一直用寄存器开发。在用寄存器点亮 LED 的时候,我们会发现 STM32 的寄存器都是 32 位的,每次配置的时候都要对照着《STM32F4xx参考手册》中寄存器的说明,然后根据说明对每个控制的寄存器位写入特定参数,因此在配置的时候非常容易出错,而且代码还很不好理解,不便于维护。所以学习 STM32 最好的方法是用软件库,然后在软件库的基础上了解底层,学习遍所有寄存器。8.1 什么是STM32函数库以上所说的软件库是指"STM32标准函数库",它是
发表于 2019-09-18
第8章 自己写库-构建库函数雏形—零死角玩转STM32-F429系列

第9章 初识STM32固件库—零死角玩转STM32-F429系列

本章参考资料:《STM32F4xx参考手册》、《STM32F4xx规格书》、《Cortex-M3权威指南》, STM32标准库帮助文档:《stm32f4xx_dsp_stdperiph_lib_um.chm》。在上一章中,我们构建了几个控制GPIO外设的函数,算是实现了函数库的雏形,但GPIO还有很多功能函数我们没有实现,而且STM32芯片不仅仅只有GPIO这一个外设。如果我们想要亲自完成这个函数库,工作量是非常巨大的。ST公司提供的标准软件库,包含了STM32芯片所有寄存器的控制操作,我们直接学习如何使用ST标准库,会极大地方便控制STM32芯片。9.1 CMSIS标准及库层次关系因为基于Cortex系列芯片采用的内核都是相同
发表于 2019-09-18
第9章 初识STM32固件库—零死角玩转STM32-F429系列

第14章 启动文件详解—零死角玩转STM32-F429系列

本章参考资料《STM32F4xx 中文参考手册》第十章-中断和事件:表 46. STM32F42xxx 和 STM32F43xxx 的向量表;MDK中的帮助手册—ARM Development Tools:用来查询ARM的汇编指令和编译器相关的指令。14.1 启动文件简介启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作:1、初始化堆栈指针SP=_initial_sp2、初始化PC指针=Reset_Handler3、初始化中断向量表4、配置系统时钟5、调用C库函数_main初始化用户堆栈,从而最终调用main函数去到C的世界14.2 查找ARM汇编指令在讲解启动代码的时候,会涉及到ARM的汇编指令
发表于 2019-09-18
第14章 启动文件详解—零死角玩转STM32-F429系列

第15章 RCC—使用HSE/HSI配置时钟—零死角玩转STM32-F429系列

本章参考资料:《STM32F4xx中文参考手册》RCC章节。学习本章时,配合《STM32F4xx中文参考手册》RCC章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。RCC :reset clock control  复位和时钟控制器。本章我们主要讲解时钟部分,特别是要着重理解时钟树,理解了时钟树,F429的一切时钟的来龙去脉都会了如指掌。1.1 RCC主要作用—时钟部分设置系统时钟SYSCLK、设置AHB分频因子(决定HCLK等于多少)、设置APB2分频因子(决定PCLK2等于多少)、设置APB1分频因子(决定PCLK1等于多少)、设置各个外设的分频因子;控制AHB、APB2和APB1这三条总线时钟的开启、控制
发表于 2019-09-18
第15章 RCC—使用HSE/HSI配置时钟—零死角玩转STM32-F429系列

第16章 STM32中断应用概览—零死角玩转STM32-F429系列

本章参考资料《STM32F4xx 中文参考手册》第十章-中断和事件、《 ARM Cortex™-M4F 技术参考手册》-4.3 章节:NVIC和4.4章节:SCB—4.4.5的AIRCR。STM32中断非常强大,每个外设都可以产生中断,所以中断的讲解放在哪一个外设里面去讲都不合适,这里单独抽出一章来做一个总结性的介绍,这样在其他章节涉及到中断部分的知识我们就不用费很大的篇幅去讲解,只要示意性带过即可。本章如无特别说明,异常就是中断,中断就是异常,请不要刻意钻牛角尖较劲。16.1 异常类型F429在内核水平上搭载了一个异常响应系统,支持为数众多的系统异常和外部中断。其中系统异常有10个,外部中断有91个。除了个别异常的优先级被定死外
发表于 2019-09-18
第16章 STM32中断应用概览—零死角玩转STM32-F429系列

第17章 EXTI—外部中断/事件控制器—零死角玩转STM32-F429系列

本章参考资料:《STM32F4xx中文参考手册》系统配置控制器以及中断和事件章节。上一章节我们已经详细介绍了NVIC,对STM32F4xx中断管理系统有个全局的了解,我们这章的内容是NVIC的实例应用,也是STM32F4xx控制器非常重要的一个资源。学习本章时,配合《STM32F4xx中文参考手册》系统配置控制器以及中断和事件章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。特别说明,本书内容是以STM32F42xxx系列控制器资源讲解。17.1 EXTI简介外部中断/事件控制器(EXTI)管理了控制器的23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现
发表于 2019-09-18
第17章 EXTI—外部中断/事件控制器—零死角玩转STM32-F429系列

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved