|
在某寶上買了五個(gè)最小系統(tǒng)核心板是STM32F103C8T6的芯片,剛拿到手準(zhǔn)備下載程序調(diào)試,上電后板子自帶LED閃爍,這是商家自己下載的示例程序,說明芯片工作著,用KEIL4進(jìn)行下載自己程序,把自己編譯好的程序下載。用的JLINK的四線下載調(diào)試下載口,SW的調(diào)試接口,點(diǎn)擊下載后發(fā)現(xiàn)擦除成功,下載失敗,提示:
Load "..\\Output\\STM32-DEMO.axf"
Set JLink Project File to "F:\文件\RFID\程序\電機(jī)\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, 下載次數(shù): 32)
下載附件
2018-9-18 00:41 上傳
下載不成功但是把原來的程序擦了,LED也不亮了,我的世界瞬間變暗了。想了想是不是這塊板子的問題,懶得上萬用表,直接下一塊板子,把剩下的四個(gè)最小系統(tǒng)板都下載了都是這種情況,出廠的程序全成功擦除,但是自己程序下載不了,這次五個(gè)小板上的LED全滅了。開始百度找原因。
度娘的原因差不多都試過了但對(duì)我的板子沒有作用,分析可能芯片原因,正好手頭有這個(gè)型號(hào)的芯片,就拿風(fēng)槍吹下來,換了個(gè)stm32,上電用jlink下載,心情異常激動(dòng)啊,點(diǎn)擊下載,成功了。果斷給客服打電話,客服說聯(lián)系技術(shù)人員,這一聯(lián)系,沒影了,還是自己動(dòng)手解決吧,繼續(xù)分析,把原因定位到芯片上了,可能是由于之前不當(dāng)操作導(dǎo)致進(jìn)入讀寫保護(hù)狀態(tài),導(dǎo)致無法擦寫芯片,可以據(jù)說用jlink中Unsecure chip 選項(xiàng)就行了~~我用的是方式isp試的
這是STM32下載的三種方式 http://blog.chinaunix.net/uid-20788517-id-263475.html
我用的是其中的第二種 ,在用isp下載之前一定要把跳線BOOT1置0,BOOT0置1,BOOT具體功能:
BOOT1=x BOOT0=0 從用戶閃存啟動(dòng),這是正常的工作模式。
BOOT1=0 BOOT0=1 從系統(tǒng)存儲(chǔ)器啟動(dòng),這種模式啟動(dòng)的程序功能由廠家設(shè)置。
BOOT1=1 BOOT0=1 從內(nèi)置SRAM啟動(dòng),這種模式可以用于調(diào)試。用下載方式的第二種isp下載即串口下載,果然發(fā)現(xiàn)了問題,確實(shí)被保護(hù)了。看圖真相
2.jpg (40.83 KB, 下載次數(shù): 50)
下載附件
2018-9-18 00:41 上傳
點(diǎn)擊Remove protection那個(gè)解除保護(hù)即可。剩下的按照鏈接的做就行了。
boot0和boot1全跳到0;改用Jlink成功下載。剩下的幾塊都用isp下載后,也全好了。
浪費(fèi)了一下午的時(shí)間,都是寫保護(hù)惹的禍。晚上又是不眠之夜,還有很多code沒寫。
剛才看了有關(guān)文章不用isp方式解除寫保護(hù),用jlink就行,至于如何操作這個(gè)軟件,看那個(gè)stm32的三種下載方式里的教程的鏈接。
前提是先 Connect 成功。怎么設(shè)置該軟件的參數(shù),看本文鏈接。如果連接不成功檢查boot引腳。
Target->connect.這里要先連接板子才可以進(jìn)行unsecure chip 操作.連接的時(shí)候我一開始連接不上,很郁悶.但是不小心把啟動(dòng)方的跳線冒弄掉了,卻發(fā)現(xiàn)可以了.也就是說,我是在從片bootloader的啟動(dòng)方式下(即使用串口的那種方式)連接上的.連接上之后.targer->unsecure chip.提示成功.如圖:
3.bmp (1.86 MB, 下載次數(shù): 27)
下載附件
2018-9-18 00:41 上傳
4.正常用Keil里的下載方式就可以下載了。 |
|