<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

ISP和JTAG

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò ) 收藏
JTAG是Joint Test Action Group(聯(lián)合測試行動(dòng)小組)的縮寫(xiě),是一種國際標準測試協(xié)議(IEEE 1149.1兼容),主要用于芯片內部測試。JTAG用來(lái)對芯片進(jìn)行測試的基本原理是在器件內部定義一個(gè)TAP(Test Access Port;測試訪(fǎng)問(wèn)口)通過(guò)專(zhuān)用的JTAG測試工具對內部節點(diǎn)進(jìn)行測試。標準的JTAG接口是4線(xiàn):TMS、 TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數據輸入和數據輸出線(xiàn)。

TMS:測試模式選擇。此引腳用來(lái)實(shí)現TAP 控制器各個(gè)狀態(tài)之間的切換。
TCK: 測試時(shí)鐘。JTAG操作是與TCK 同步的。
TDI:測試數據輸入--需要移位到指令寄存器或數據寄存器(掃描鏈)的串行輸入數據。
TDO:測試數據輸出-- 自指令寄存器或數據寄存器串行移出的數據。
現在,JTAG接口還常用于實(shí)現ISP(In-System Programmable;在線(xiàn)編程),對EEPROM、FLASH等器件進(jìn)行編程和在線(xiàn)調試。JTAG編程方式是在線(xiàn)編程,傳統開(kāi)發(fā)流程中先對芯片進(jìn)行預編程再裝到板上的模式因此而改變,簡(jiǎn)化的流程為先固定器件到電路板上,再用JTAG編程,從而大大加快工程進(jìn)度。
AVR 的JTAG功能(只有部分型號才有)使得AVR的調試工作非常簡(jiǎn)單,可以通過(guò)JTAG 接口對Flash、EEPROM、熔絲位和鎖定位進(jìn)行編程。使用AVR studio軟件和JTAG硬件( AVR JTAG編程器,AVR JTAG仿真器)可以進(jìn)行程序下載(亦即編程)和程序在線(xiàn)調試。通過(guò)JTAG功能,工程師可以方便的觀(guān)察各個(gè)寄存器的變化和程序的運行情況,十分適合單片機的學(xué)習與系統開(kāi)發(fā)。
什么是ISP?
ISP是一種通用的程序下載方式,所有AVR單片機都有ISP下載接口??梢酝ㄟ^(guò)ISP下載線(xiàn)或者STK500把程序下載到單片機中。ISP下載線(xiàn)成本低廉,制作簡(jiǎn)單,一個(gè)并口ISP下載線(xiàn)只需幾十元即可得到。但是通過(guò)ISP的方式下載程序速度慢并且不能實(shí)現在線(xiàn)的仿真調試,所以這種編程方式并不適合于單片機的學(xué)習與系統開(kāi)發(fā)。
什么是Debugwire?
為了降低成本和調試引腳的開(kāi)銷(xiāo),ATMEL公司在A(yíng)VR器件上使用的新的調試接口——Debugwire。通過(guò)Debugwire的方式,用戶(hù)可以實(shí)現程序的在線(xiàn)調試,調試方面Debugwire與JTAG相比其主要區別在于僅使用一根信號線(xiàn)(RESET),即可完成調試信息的交互,達到控制程序流向,執行指令以及編程熔絲位的功能,但是在使用中尚需接電源信號:VTref(VCC)、GND。要注意的是,Debugwire不同于JTAG,它只是一種調試接口,而不是編程接口,也就是說(shuō)不能通過(guò)Debugwire下載程序。
JTAG,ISP,Debugwire的區別。
JTAG:可以進(jìn)行程序的下載和在線(xiàn)仿真調試,程序下載速度快。只有部分器件支持。在JTAG使能的前提下程序的下載和仿真無(wú)需進(jìn)行其他設定即可。
ISP:只能進(jìn)行程序的下載,程序下載速度慢。所有AVR單片機均支持ISP程序下載。
Debugwire:只能進(jìn)行程序的在線(xiàn)仿真調試不能進(jìn)行程序的下載。只有比較少的器件支持Debugwire方式仿真。目標MCU的ISP功能和debug WIRE功能是互斥的,使能了目標MCU的 debug WIRE 功能后ISP功能就無(wú)法使用,使能了ISP功能后debug WIRE功能就無(wú)法使用。

細說(shuō)ISP和IAP的區別
ISP:in system programming,
IAP: in applicatin programming 但兩者的操作方式,結果和應用場(chǎng)合有區別
ISP: 用寫(xiě)入器將code燒入,不過(guò),芯片可以在目標板上,不用取出來(lái),在設計目標板的時(shí)候就將接口設計在上面,所以叫"在系統編程",即不用脫離系統;
IAP: 在應用編程,有芯片本身(或通過(guò)外圍的芯片)可以通過(guò)一系列操作將code寫(xiě)入,比如一款支持Iap的單片機,內分3個(gè)程序區,1作引導程序區,2作運行程序區,3作下載區,芯片通過(guò)串口接收到下載命令,進(jìn)入引導區運行引導程序,在引導程序下將new code內容下載到下載區,下載完畢并校驗通過(guò)后再將下載區內容復制到2區,運行復位程序,則Iap完成;
應用場(chǎng)合: 1,ISP 程序升級需要到現場(chǎng)解決,不過(guò)好一點(diǎn)的是不必拆機器了; 2,IAP 如果有網(wǎng)管系統的話(huà),用網(wǎng)管下載一切搞定,人不用跑來(lái)跑去, 這可能是他們的優(yōu)點(diǎn)或應用吧。 典型IAP:IC卡電話(huà)機內含V.xx MODEM芯片,MCU自帶引導區,可遠程下載更新程序。
在線(xiàn)編程目前有兩種實(shí)現方法:在系統編程(ISP)和在應用編程(IAP)。ISP一般是通過(guò)單片機專(zhuān)用的串行編程接口對單片機內部的Flash存儲器進(jìn)行編程,而IAP技術(shù)是從結構上將Flash存儲器映射為兩個(gè)存儲體,當運行一個(gè)存儲體上的用戶(hù)程序時(shí),可對另一個(gè)存儲體重新編程,之后將控制從一個(gè)存儲體轉向另一個(gè)。ISP的實(shí)現一般需要很少的外部電路輔助實(shí)現,而IAP的實(shí)現更加靈活,通??衫脝纹瑱C的串行口接到計算機的RS232口,通過(guò)專(zhuān)門(mén)設計的固件程序來(lái)編程內部存儲器。

ISP,In System Programing
主要是指代芯片的燒寫(xiě)方式,以往寫(xiě)片子需要把片子拿下來(lái),離開(kāi)電路,用 編程器燒,換句話(huà)說(shuō),芯片不能不脫離應用系統進(jìn)行寫(xiě)入。
ISP 主要針對這個(gè)問(wèn)題,使用JTAG或者串行口(MCU 內部有Boot Loader,通過(guò)指定的方式激活之,它可以和PC或其它上位機通過(guò)串口聯(lián)系,不用使單片機離開(kāi)應用系統而更新內部的程序/設置)進(jìn)行程序的燒寫(xiě)操作。
因此,具有ISP 功能的MCU 可以不使用編程器進(jìn)行編程。當然,實(shí)現ISP 可能需要一些硬件電路支持,具體的在數據手冊中有說(shuō)明。
IAP,In Application Programing
單片機內部具有一些可擦寫(xiě)的非易失存儲器,如Flash。在單片機獨立運行時(shí),不具備IAP 功能的單片機并不能對Flash的數據進(jìn)行修改,比如,對自身的某一個(gè)模塊的代碼,數據進(jìn)行修改。具備了IAP 功能的MCU ,能夠通過(guò)使用各自公司開(kāi)發(fā)的技術(shù),對于自身進(jìn)行修改。
簡(jiǎn)言之:ISP=>修改MCU 內部數據需要有外部介入;
IAP=>修改MCU 內部數據可以不用外部介入。
二者可以說(shuō)是數據更新的一種實(shí)現機制。
一般具備ISP 功能后,就不要編程器了,而是使用下載線(xiàn)進(jìn)行編程工作。但是不是說(shuō)他們就一定不支持編程器了,具體型號具體分析。是否需要仿真器進(jìn)行仿真和是否具備ISP和IAP沒(méi)有必然的聯(lián)系。只不過(guò)具備了IAP功能,可以在MCU內寫(xiě)入監控程序,模擬一個(gè)仿真器,當然,這個(gè)監控程序是要消耗資源的,和使用硬件的仿真器還有一定的差異。


1、JTAG是一個(gè)通信標準,用于計算機和單片機進(jìn)行實(shí)時(shí)快速通訊。
AVR 的JTAG功能(只有部分型號才有)使得AVR的調試工作非常簡(jiǎn)單,可以通過(guò)JTAG 接口對Flash、EEPROM、熔絲位和鎖定位進(jìn)行編程。
使用AVR studio軟件和JTAG硬件( AVR JTAG編程器,AVR JTAG仿真器)可以進(jìn)行程序下載(編程)和程序在線(xiàn)調試。
JTAG接口有四個(gè)引腳。以JTAG的術(shù)語(yǔ)來(lái)說(shuō),這些引腳組成了測試訪(fǎng)問(wèn)端口TAP。這些引腳是:
TMS:測試模式選擇。此引腳用來(lái)實(shí)現TAP 控制器各個(gè)狀態(tài)之間的切換。
TCK:測試時(shí)鐘。JTAG 操作是與TCK 同步的。
TDI: 測試數據輸入--需要移位到指令寄存器或數據寄存器(掃描鏈)的串行輸入數據。
TDO:測試數據輸出-- 自指令寄存器或數據寄存器串行移出的數據。

本文引用地址:http://dyxdggzs.com/article/201611/322862.htm


2、ISP是一種通用的程序下載方式,AVR單片機都有ISP下載接口??梢酝ㄟ^(guò)ISP下載線(xiàn)或者STK500把程序下載到單片機中。

ISP下載線(xiàn)成本低廉,制作簡(jiǎn)單,一個(gè)并口ISP下載線(xiàn)只需幾十元即可得到。開(kāi)發(fā)工具成本低也是AVR單片機的優(yōu)勢之一。

JTAG與ISP的區別和聯(lián)系

區別:JTAG可以調試程序,而ISP只能下載程序。

聯(lián)系:同作為AVR程序下載工具,都能把程序從電腦下載到單片機中。都能對芯片的熔絲位和鎖定位進(jìn)行編程。

JTAG調試與普通軟件仿真的區別和聯(lián)系

聯(lián)系:都可以在計算機調試程序終端看到程序的運行效果,都可以設置斷點(diǎn),單步運行,進(jìn)入循環(huán),跳出循環(huán),連續運行等操作。還能實(shí)時(shí)觀(guān)察各寄存器的值,IO口狀態(tài)等。



關(guān)鍵詞: ISPJTA

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>