工程師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 模式, 他需要的引腳少, 當然需要的 PCB 空間就小啦。 比如: 你可以選擇一個很小的 2.54 間距的 5 芯端子做仿真接口。
?。?) 仿真器對 SWD 模式支持情況
再說說市面上的常用仿真器對 SWD 仿真的支持情況。
?。?) JLINKV6 支持 SWD 仿真模式。 速度較慢。
?。?) JLINKV7 比較好的支持 SWD 仿真模式, 速度有了明顯的提高。 速度是 JLINKV6 的 6 倍。
(3) JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M.
?。?) ULINK1 不支持 SWD 模式
?。?) 盜版 ULINK2 非常好的支持 SWD 模式。 速度可以達到 10M.
(6) 正版 ULINK2 非常好的支持 SWD 模式。 速度可以達到 10M.
再所說硬件上的不同:
?。?) JLINKV6 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
(2) JLINKV7 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
(3) JLINKV8 需要的硬件接口為: VCC, GND, RST, SWDIO, SWDCLK
注:下面有我自己實驗的結(jié)果
?。?) ULINK1 不支持 SWD 模式
?。?) 盜版 ULINK2 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
?。?) 正版 ULINK2 需要的硬件接口為: GND, RST, SWDIO, SWDCLK
由此可以看到只有 JLINKV8 需要 5 個引腳。 那么給大家介紹下為什么有了 VCC 這個引腳時候有好處, 我的個人理解: 我認為有這個引腳是最合適的, 仿真器對目標板子的仿真需要用到 RST 引腳, 其實使用仿真器內(nèi)部的 VCC 做這個功能其實并不是非常美妙。 因此 JLINKV8 選擇了只和目標板共 GND, 但是不共 VCC. 因此我覺得這種模式最合理, 當然通常情況下仿真器和目標板共 GND 和 VCC 是沒有錯的。
?。?) 在 MDK 中SWD 模式設(shè)置
接下來告訴大家怎么使用 SWD 設(shè)置:
打開工程 Option 設(shè)置:
在設(shè)置中按照上圖設(shè)置成 SWD 模式, 速度你可以按照你的實際需求來設(shè)置, 如果你的板子供電系統(tǒng)不是特別穩(wěn)定, 紋波比較大或者仿真線比較長可以設(shè)置成 500K 或者 1M , 如果環(huán)境很好當然可以選擇 10M , 當然速度會飛起來。 記得不要忽略了左下方的那個USB 還是 TCP 模式, 當然我們是 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原理
評論