標(biāo)題: STM32的程序下載方式 [打印本頁(yè)]

作者: 51黑er    時(shí)間: 2015-12-8 05:26
標(biāo)題: STM32的程序下載方式
STM32有兩種程序下載方式,一種是通過(guò)串口下載,一種是通過(guò)仿真器下載。

串口下載又叫做ISP,通過(guò)仿真器下載又可以叫做通過(guò)JTAG口下載。

因?yàn)槲覀儸F(xiàn)在的電腦上,已經(jīng)不存在串口,所以我們一般使用USB轉(zhuǎn)串口芯片,目的只有一個(gè),把電腦的USB口映射為串口用。常用的USB轉(zhuǎn)串口芯片有CH340、CP2102、PL2303、FT232等。我們選擇哪一個(gè)呢?CH340是國(guó)產(chǎn)芯片,其他的是進(jìn)口芯片。CH340批量?jī)r(jià)1.5元每個(gè),一般應(yīng)用方面,性能已經(jīng)足夠,我使用這么多年,就沒(méi)有出現(xiàn)過(guò)問(wèn)題。PL2303山寨貨太多,買(mǎi)的不放心。CP2102批量?jī)r(jià)5.2元,它是QFN封裝,對(duì)于新手不易焊接。FT232批量?jī)r(jià)在10元以上,一般用在工業(yè)級(jí)環(huán)境。經(jīng)過(guò)綜合的比較,我們選擇CH340作為我們開(kāi)發(fā)板上使用的USB轉(zhuǎn)串口芯片。




串口下載程序的過(guò)程:上電后,先把STM32的BOOT0拉高,然后就可以通過(guò)RXD和TXD引腳把要下載的程序下載到單片機(jī),下載完程序以后,然后復(fù)位,就會(huì)運(yùn)行下載到單片機(jī)中的程序。

看過(guò)程,需要控制BOOT0和RESET復(fù)位引腳,如果每次下載程序都用我們自己手動(dòng)控制,實(shí)驗(yàn)做過(guò)了,就會(huì)覺(jué)得麻煩。那么我們就設(shè)計(jì)一套自動(dòng)下載的電路,只需要在電腦上點(diǎn)擊下載按鈕,就可以自動(dòng)先把BOOT0拉低,然后下載完以后,自動(dòng)復(fù)位。

關(guān)于自動(dòng)ISP下載電路設(shè)計(jì)的詳細(xì)內(nèi)容,請(qǐng)看我在今年1月份發(fā)表的這篇文章:http://www.torrancerestoration.com/bbs/dpj-41014-1.html
(你可以復(fù)制網(wǎng)址到瀏覽器打開(kāi),或者在百度搜“瑞生網(wǎng)”,進(jìn)入我的網(wǎng)站后,在右邊的搜索框輸入“ISP電路設(shè)計(jì)”就可以找到這篇文章)

上一期文章,我們講了電源是用USB取電,這里,我們又用到了USB轉(zhuǎn)TTL作為下載芯片。所以,我們上一篇文章里提到的那個(gè)數(shù)據(jù)線,其實(shí)就是既供電,又下載,兩個(gè)用途。


下面再說(shuō)說(shuō)JTAG下載接口,JTAG下載接口長(zhǎng)這樣:



這是一個(gè)10PX2的牛角座。

雖然是20個(gè)引腳,不過(guò)JTAG引腳只用了6個(gè)引腳,剩下的是3.3V和GND。同時(shí),STM32還支持SWD下載方式,也是在JTAG接口上,只用到了2個(gè)引腳。無(wú)需硬件改動(dòng),只需要在程序編寫(xiě)軟件上配置即可切換。

JTAG接口用來(lái)連接仿真器,仿真器可以是JLINK或者ULINK。

ISP和JTAG的區(qū)別:

由于我們使用了USB轉(zhuǎn)串口芯片,所以開(kāi)發(fā)板可以直接用數(shù)據(jù)線連接電腦USB后就可以下載程序。而JTAG,需要另外購(gòu)買(mǎi)仿真器。仿真器除了能夠下載程序,還可以控制單片機(jī)單步運(yùn)行程序或停在程序的某一條語(yǔ)句處,還可以隨時(shí)觀察單片機(jī)內(nèi)部寄存器的值。

好了,下載方式就介紹完了。下面是定好了電源和下載接口的方案后,畫(huà)出的原理圖:









歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1