STM32下载不成功问题汇总

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

Load "..\\Output\\STM32-DEMO.axf" 
Set JLink Project File to "F:\文件\RFID\程序\电机\USER\JLinkSettings.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"

弹出窗口提示:

STM32下载不成功问题汇总_第1张图片

下载不成功但是把原来的程序擦了,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下载即串口下载,果然发现了问题,确实被保护了。看图真相

STM32下载不成功问题汇总_第2张图片

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

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

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

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

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

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


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


gpio_adc

2016.01.22

你可能感兴趣的:(stm32学习笔记)