(1)、JTAG是一個通信標準,用于計算機和單片機進行實時快速通訊。
AVR 的JTAG功能(只有部分型號才有)使得AVR的調(diào)試工作非常簡單,可以通過JTAG 接口對Flash、EEPROM、熔絲位和鎖定位進行編程。
使用AVR studio軟件和JTAG硬件( AVR JTAG編程器,AVR JTAG仿真器)可以進行程序下載(編程)和程序在線調(diào)試。
JTAG接口有四個引腳。以JTAG的術(shù)語來說,這些引腳組成了測試訪問端口TAP。這些引腳是:
TMS:測試模式選擇。此引腳用來實現(xiàn)TAP 控制器各個狀態(tài)之間的切換。
TCK:測試時鐘。JTAG 操作是與TCK 同步的。
TDI: 測試數(shù)據(jù)輸入--需要移位到指令寄存器或數(shù)據(jù)寄存器(掃描鏈)的串行輸入數(shù)據(jù)。
TDO:測試數(shù)據(jù)輸出-- 自指令寄存器或數(shù)據(jù)寄存器串行移出的數(shù)據(jù)。
(2)、ISP是一種通用的程序下載方式,AVR單片機都有ISP下載接口??梢酝ㄟ^ISP下載線或者STK500把程序下載到單片機中。
ISP下載線成本低廉,制作簡單,一個并口ISP下載線只需幾十元即可得到。開發(fā)工具成本低也是AVR單片機的優(yōu)勢之一。
JTAG與ISP的區(qū)別和聯(lián)系
區(qū)別:JTAG可以調(diào)試程序,而ISP只能下載程序。
聯(lián)系:同作為AVR程序下載工具,都能把程序從電腦下載到單片機中。都能對芯片的熔絲位和鎖定位進行編程。
JTAG調(diào)試與普通軟件仿真的區(qū)別和聯(lián)系
聯(lián)系:都可以在計算機調(diào)試程序終端看到程序的運行效果,都可以設(shè)置斷點,單步運行,進入循環(huán),跳出循環(huán),連續(xù)運行等操作。還能實時觀察各寄存器的值,IO口狀態(tài)等。
區(qū)別:軟件仿真,用的是計算機來模仿單片機運行,不是全真的環(huán)境,很多時候會出現(xiàn)偏差甚至錯誤。而用JTAG在線調(diào)試,程序本身在單片機內(nèi)運行,完全真實的硬件環(huán)境,更準確的反映程序運行的實際情況,有助于大型程序的調(diào)試。