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服务号
享受更多官方福利

推荐阅读

STM32 DMA 应用之(一)SRAM 与flash 间数据传输
数据的形式,有几种:1)字节;2)半字;3)全字 [1字节=8bit 1半字=2字节=16位 1全字=2半字=4字节=32位]B.传输的最大数据量是65536我们来看一下stm32f103ve的数据手册第九章DMA 大概的了解一下DMA的特性:四、怎样配置软件来使用DMA /****************************************************************/函数名称: Dma_Init *功能描述: 利用DMA 把内存的数据 传输到flash 达到高速传输的目的 * *输入参数:无 *返回值 :无 *其他说明:无 *当前版本:v1.0 *作者 :尹宣 *完成
发表于 2020-11-02
STM32 USB DFU设备固件升级 工程讲解
说到STM32 USB的UDF,其实就是我们常说的IAP( In Application Programming )在应用编程。IAP有很多方法,我之前就用过串口IAP,网络IAP。而这里我们使用的是USB IAP,就是通过USB更新代码。所以这里有必要线了解IAP。IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的 固件 程序进行更新升级。通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能
发表于 2020-11-02
STM32 USB DFU固件升级必读
们的USB DFU工程里我们设置Internal flash的编号为00,所以这里就设置成0,然后点击“General”保存.成dfu文件。  DfuSe Demostration使用说明当把USB DFU程序下载到开发板后,要按下按键使进入升级模式,这时DfuSe Demostration就会出现下面界面:  在软件的左上方会出现“STM32 Device in DFU Mode”,接着在右上角的DFU Mode域会显示USB设备的PID和VID,从图中可以看出VID是0483,PID是DF11
发表于 2020-11-02
STM32, Flash DFU芯片,内部flash,代码升级
这次要讲讲如何用USB升级单片机代码。以前曾经做过串口升级,网络升级,升级的基本原理都类似,只不过升级的工具不同罢了,串口升级当然是用串口了,网络升级用的是TCP/IP,USB升级当然用的是USB了。下面就来讲讲USB升级的实现。修改部分部分都在USB_User组里:STM32 Internal Flash DFU芯片内部flash代码升级 - ziye334 - ziye334的博客我们一个一个文件讲过来。首先讲讲hw_config.c,这个文件跟之前工程差不多。由于演示的需要,我们在这个文件里初始化一个按键引脚,并定义按键读取函数,该按键决定代码是否升级,如果程序一开始,该按键按下,则进入升级模式,否则跳转到升级程序代码处
发表于 2020-11-02
STM32 USB工程的文件分析
先介绍下我参考其他工程而建立的STM32 USB工程:简单介绍下:Startup当然放置STM32的启动文件,CMSIS放置着STM32内核ARMCortex的内核文件,StdPeripheral_Driver目录里放置着STM32外设的库函数,这几个都是STM32工程必须的,这里不仔细讲诉,User Source里放着自己的应用代码,如main.c,stm32f10x_it.c等文件都放这里。USB-FS-Driver_Driver下放着USB的库,这里暂时不讲述,我重点想分析的文件在USB-User里,这个目录主要放着一些与USB库和用户相关的文件,起着USB库与用户之间的桥梁作用,文件如下图所示,该目录包含如下文件:接下去
发表于 2020-11-02
STM32的CustomHID的各描述符介绍
表示自供电,不支持远程唤醒      D7:保留必须为1,D6:是否自供电,D5:是否支持远程唤醒,D4~D0:保留设置为0*///    0x32,       /*从总线上获得的最大电流为100mA */    0x96,         /*MaxPower:设备需要从总线上获取多少电流,单位为2mA,0x96表示300mA*/    /**************  HID接口描述符****************/ 
发表于 2020-10-30
小广播
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved