找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6536|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32的程序下載方式

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:94349 發(fā)表于 2015-12-8 05:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
STM32有兩種程序下載方式,一種是通過串口下載,一種是通過仿真器下載。

串口下載又叫做ISP,通過仿真器下載又可以叫做通過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)足夠,我使用這么多年,就沒有出現(xiàn)過問題。PL2303山寨貨太多,買的不放心。CP2102批量?jī)r(jià)5.2元,它是QFN封裝,對(duì)于新手不易焊接。FT232批量?jī)r(jià)在10元以上,一般用在工業(yè)級(jí)環(huán)境。經(jīng)過綜合的比較,我們選擇CH340作為我們開發(fā)板上使用的USB轉(zhuǎn)串口芯片。




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

看過程,需要控制BOOT0和RESET復(fù)位引腳,如果每次下載程序都用我們自己手動(dòng)控制,實(shí)驗(yàn)做過了,就會(huì)覺得麻煩。那么我們就設(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)址到瀏覽器打開,或者在百度搜“瑞生網(wǎng)”,進(jìn)入我的網(wǎng)站后,在右邊的搜索框輸入“ISP電路設(shè)計(jì)”就可以找到這篇文章)

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


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



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

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

JTAG接口用來連接仿真器,仿真器可以是JLINK或者ULINK。

ISP和JTAG的區(qū)別:

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

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




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表