在某寶上買了五個最小系統核心板是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"
彈出窗口提示:
1.jpg (7.96 KB, 下載次數: 32)
下載附件
2018-9-18 00:41 上傳
下載不成功但是把原來的程序擦了,LED也不亮了,我的世界瞬間變暗了。想了想是不是這塊板子的問題,懶得上萬用表,直接下一塊板子,把剩下的四個最小系統板都下載了都是這種情況,出廠的程序全成功擦除,但是自己程序下載不了,這次五個小板上的LED全滅了。開始百度找原因。
度娘的原因差不多都試過了但對我的板子沒有作用,分析可能芯片原因,正好手頭有這個型號的芯片,就拿風槍吹下來,換了個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下載即串口下載,果然發現了問題,確實被保護了。看圖真相
2.jpg (40.83 KB, 下載次數: 50)
下載附件
2018-9-18 00:41 上傳
點擊Remove protection那個解除保護即可。剩下的按照鏈接的做就行了。
boot0和boot1全跳到0;改用Jlink成功下載。剩下的幾塊都用isp下載后,也全好了。
浪費了一下午的時間,都是寫保護惹的禍。晚上又是不眠之夜,還有很多code沒寫。
剛才看了有關文章不用isp方式解除寫保護,用jlink就行,至于如何操作這個軟件,看那個stm32的三種下載方式里的教程的鏈接。
前提是先 Connect 成功。怎么設置該軟件的參數,看本文鏈接。如果連接不成功檢查boot引腳。
Target->connect.這里要先連接板子才可以進行unsecure chip 操作.連接的時候我一開始連接不上,很郁悶.但是不小心把啟動方的跳線冒弄掉了,卻發現可以了.也就是說,我是在從片bootloader的啟動方式下(即使用串口的那種方式)連接上的.連接上之后.targer->unsecure chip.提示成功.如圖:
3.bmp (1.86 MB, 下載次數: 27)
下載附件
2018-9-18 00:41 上傳
4.正常用Keil里的下載方式就可以下載了。 |