工程師STM32單片機學(xué)習(xí)基礎(chǔ)手記(4):用PWM實現(xiàn)熒火蟲燈(四)
SEGGER 給出的Jlink引腳圖
開發(fā)板上的連接圖
標準的JTAG連接圖,供對照參考。
調(diào)試方式既可以用JTAG,也可以用SW。
以下是轉(zhuǎn)載:
SWD 仿真模式概念簡述
先所說 SWD 和傳統(tǒng)的調(diào)試方式有什么不一樣:
首先給大家介紹下經(jīng)驗之談:
?。ㄒ唬?SWD 模式比 JTAG 在高速模式下面更加可靠。 在大數(shù)據(jù)量的情況下面 JTAG 下載程序會失敗, 但是 SWD 發(fā)生的幾率會小很多。 基本使用 JTAG 仿真模式的情況下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推薦大家使用這個模式。
?。ǘ?在大家 GPIO 剛好缺一個的時候, 可以使用 SWD 仿真, 這種模式支持更少的引腳。
?。ㄈ?在大家板子的體積有限的時候推薦使用 SWD 模式, 他需要的引腳少, 當(dāng)然需要的 PCB 空間就小啦。 比如: 你可以選擇一個很小的 2.54 間距的 5 芯端子做仿真接口。
?。?) 仿真器對 SWD 模式支持情況
再說說市面上的常用仿真器對 SWD 仿真的支持情況。
?。?) JLINKV6 支持 SWD 仿真模式。 速度較慢。
?。?) JLINKV7 比較好的支持 SWD 仿真模式, 速度有了明顯的提高。 速度是 JLINKV6 的 6 倍。
?。?) JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M.
?。?) ULINK1 不支持 SWD 模式
(5) 盜版 ULINK2 非常好的支持 SWD 模式。 速度可以達到 10M.
?。?) 正版 ULINK2 非常好的支持 SWD 模式。 速度可以達到 10M.
再所說硬件上的不同:
(1) JLINKV6 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
(2) JLINKV7 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
?。?) JLINKV8 需要的硬件接口為: VCC, GND, RST, SWDIO, SWDCLK
注:下面有我自己實驗的結(jié)果
(4) ULINK1 不支持 SWD 模式
?。?) 盜版 ULINK2 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
(6) 正版 ULINK2 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
由此可以看到只有 JLINKV8 需要 5 個引腳。 那么給大家介紹下為什么有了 VCC 這個引腳時候有好處, 我的個人理解: 我認為有這個引腳是最合適的, 仿真器對目標板子的仿真需要用到 RST 引腳, 其實使用仿真器內(nèi)部的 VCC 做這個功能其實并不是非常美妙。 因此 JLINKV8 選擇了只和目標板共 GND, 但是不共 VCC. 因此我覺得這種模式最合理, 當(dāng)然通常情況下仿真器和目標板共 GND 和 VCC 是沒有錯的。
?。?) 在 MDK 中SWD 模式設(shè)置
接下來告訴大家怎么使用 SWD 設(shè)置:
打開工程 Option 設(shè)置:
在設(shè)置中按照上圖設(shè)置成 SWD 模式, 速度你可以按照你的實際需求來設(shè)置, 如果你的板子供電系統(tǒng)不是特別穩(wěn)定, 紋波比較大或者仿真線比較長可以設(shè)置成 500K 或者 1M , 如果環(huán)境很好當(dāng)然可以選擇 10M , 當(dāng)然速度會飛起來。 記得不要忽略了左下方的那個USB 還是 TCP 模式, 當(dāng)然我們是 USB 模式, 因為有的時候默認是 TCP 模式, 這個時候我們忽略這個設(shè)置后會仿真常常連接不上的。
JTAG引腳可以被復(fù)用為IO口,但是這樣一來,JLINK就不能夠連上芯片了。解決的方法有兩種:
(1) 另寫一段程序,不要將JTAG復(fù)用為I/O口,然后將這段程序用串口工具寫入芯片中;
?。?) 將BOOT0/BOOT1設(shè)置成為內(nèi)部RAM啟動,那么上電后就不會執(zhí)行FLASH中的程序,這樣JLINK就能順利“接管”JTAG引腳。
pwm相關(guān)文章:pwm是什么
pwm相關(guān)文章:pwm原理
評論