一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenOCD是什么?J-Link、J-Trace、Open JTAG的區(qū)別

sanyue7758 ? 來源:TrustZone ? 2023-12-12 09:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

最近在調(diào)試一些單板,對于這個調(diào)試工具我真的是又愛又恨,熟悉了那就是金箍棒,不熟悉那就是攔路虎。

有的東西用了很久還不知道這個玩意是干嘛的,于是這里來整理一篇來學習一下。

調(diào)試的工具針對不同的領(lǐng)域當然有很多的,這里涉及到的工具是OpenOCD,這個玩意我們一起來學習一下相應(yīng)的使用方式。

一、OpenOCD是什么?

我們在使用的時候會用到OpenJTAG,那么先來看看OPENJTAG是什么?

1-OPENJTAG是什么?

OpenJTag是一個開源項目(包含軟件和硬件)。

硬件是一個USB接口轉(zhuǎn)JTag接口的適配器。

借助開源軟件OpenOCD可以完成程序的燒寫,調(diào)試等任務(wù)OpenJTag的功能:

往Flash燒寫程序:支持NOR Flash 和 NAND Flash

支持Windows以及Linux

能夠用在支持GDB調(diào)試協(xié)議的工具上:如IAR, Eclipse

USB轉(zhuǎn)串口功能

所以本質(zhì)上還是開源軟件OpenOCD

2-J-Link、J-Trace、Open JTAG區(qū)別

J-Link、J-Trace、Open JTAG都是用來調(diào)試程序的(當然還有其他工具可以進行調(diào)試,比如ICE),J-Link和J-Trace是SEGGER公司的(http://www.segger.com)。Open JTAG(http://www.openjtag.org/)是 一個開源項目,其目標是使嵌入式開發(fā)者能夠通過JTAG接口,用開放的硬件和軟件系統(tǒng)進行燒寫、校驗和調(diào)試[1]。他們都基于JTAG調(diào)試接口協(xié)議。

本質(zhì)上都是基于JTAG接口協(xié)議的。

3-OpenOCD是什么

OpenOCD(Open On-Chip Debugger)開源片上調(diào)試器,是一款開源軟件,最初是由Dominic Rath同學還在大學期間發(fā)起的(2005年)項目。OpenOCD旨在提供針對嵌入式設(shè)備的調(diào)試、系統(tǒng)編程和邊界掃描功能。

OpenOCD的功能是在仿真器的輔助下完成的,仿真器是能夠提供調(diào)試目標的電信號的小型硬件單元。仿真器是必須的,因為調(diào)試主機(運行OpenOCD的主機)通常不具備這種電信號的直接解析功能。

仿真器支持一個或多個傳輸協(xié)議,每個協(xié)議涉及不同的電信號,且使用不同的協(xié)議棧進行消息傳遞。市面上有很多種仿真器,并且這些仿真器的命名沒有統(tǒng)一的規(guī)律。

仿真器有時候會被封裝成獨立的加密狗,這種稱為硬件接口加密狗。一些開發(fā)板上面直接集成了硬件接口加密狗,這樣可以使開發(fā)板通過USB直接連到主機上進行調(diào)試。

例如,JTAG仿真器支持JTAG協(xié)議的信號,可以用來進行TAPs和目標板子之間符合JTAG協(xié)議(IEEE 1149.1)的通訊。TAP(Test Access Port)是處理特殊指令和數(shù)據(jù)的單元。TAPs在芯片與板子之間和之內(nèi)以菊花鏈的形式進行連接。JTAG支持調(diào)試和邊界掃描。

還有SWD仿真器,這種仿真器支持使用SWD(Serial Wire Debug)信號與一些比較新的ARM芯片進行通訊,而且還可以作為那些同時支持JTAG和SWD的芯片的仿真器。不過SWD僅支持調(diào)試,不支持邊檢掃描。

對于一些芯片,還有專門的編程下載器,這些下載器僅支持擦寫FLASH的功能,不支持調(diào)試和邊界掃描。對于此類專用下載器,OpenOCD暫時并不支持。

加密狗:OpenOCD目前支持多種類型的硬件加密狗:基于USB的,基于并行端口的,以及其他在內(nèi)部運行OpenOCD的獨立盒子。

GDB調(diào)試:它允許ARM7(ARM7TDMI和ARM720t),ARM9(ARM920T,ARM922T,ARM926EJ-S,ARM966E-S),XScale(PXA25x,IXP42x),Cortex-M3(Stellaris LM3,ST STM32和Energy Micro EFM32)和基于Intel Quark(x10xx)的內(nèi)核使用GDB協(xié)議進行調(diào)試。

Flash編程:擦寫FLASH支持外部CFI兼容NOR閃存(Intel和AMD / Spansion命令集)和幾個內(nèi)部閃存(LPC1700,LPC1800,LPC2000,LPC4300,AT91SAM7,AT91SAM3U,STR7x,STR9x,LM3,STM32x和EFM32)。包括各種NAND閃存控制器(LPC3180,Orion,S3C24xx等)的初步支持。

小結(jié)一下:

OpenOCD (Open On-Chip Debugger)是一個開源的片上調(diào)試器,旨在提供針對嵌入式設(shè)備的調(diào)試、系統(tǒng)編程和邊界掃描功能。

OpenOCD的功能需要調(diào)試仿真器來輔助完成,調(diào)試仿真器是一個提供調(diào)試目標電信號的小型硬件單元。常用的有Jink、STLink等,一些開發(fā)板直接集成了調(diào)試仿真器,如小熊派開發(fā)板就集成了STLink。

bf632c30-9816-11ee-8b88-92fbcf53809c.png

通過下面的OpenOCD架構(gòu)圖我們能更好的認識OpenOCD。

可以看出OpenOCD提供了GDBServer,可以通過它進行GDB相關(guān)的調(diào)試操作。

提供TeInet Server,可以通過Telnet連接對目標板進行燒錄、重啟等操作。

OpenOCD的配置基于TCL腳本,可以使用默認自帶的TCL腳本,也可以編寫自定義的腳本。

bf6eb56e-9816-11ee-8b88-92fbcf53809c.png

4-OpenJTAG怎么用?

上面我們提到OpenOCD需要調(diào)試仿真器配合使用,一般我們還會使用gdb client與其配合進行遠程調(diào)試。

bf88099c-9816-11ee-8b88-92fbcf53809c.png在這里插入圖片描述

5-JTAG與SWD的區(qū)別

JTAG (Joint Test Action Group,聯(lián)合測試行動小組)是一種國際標準測試協(xié)議(IEEE1149.1兼容),主要用于芯片內(nèi)部測試?,F(xiàn)在多數(shù)的高級器件都支持JTAG協(xié)議,如ARM、DSP、FPGA器件等。標準的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。相關(guān)JTAG引腳的定義為:

TMS:測試模式選擇,TMS用來設(shè)置JTAG接口處于某種特定的測試模式;

TCK:測試時鐘輸入;

TDl:測試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI引|腳輸入JTAG接口;

TDO:測試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO引腳從JTAG接口輸出;

串行調(diào)試(Serial Wire Debug),一種和JTAG不同的調(diào)試模式,與JTAG的20個引腳相比,SWD只需要4個(或者5個)引腳,結(jié)構(gòu)簡單,但是使用范圍沒有JTAG廣泛,主流調(diào)試器上也是后來才加的SWD調(diào)試模式。

SWD和傳統(tǒng)的調(diào)試方式區(qū)別:SWD模式比JTAG在高速模式下面更加可靠。在大數(shù)據(jù)量的情況下面JTAG下載程序會失敗,但是SWD發(fā)生的幾率會小很多?;臼褂肑TAG仿真模式的情況下是可以直接使用SWD模式的,只要你的仿真器支持,所以推薦大家使用這個模式。在GPIO剛好缺一個的時候,可以使用SWD仿真,這種模式支持更少的引腳。在板子的體積有限的時候推薦使用SWD模式,它需要的引腳少。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • USB接口
    +關(guān)注

    關(guān)注

    9

    文章

    707

    瀏覽量

    56995
  • 適配器
    +關(guān)注

    關(guān)注

    9

    文章

    2054

    瀏覽量

    69740
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    404

    瀏覽量

    73331
  • J-Link
    +關(guān)注

    關(guān)注

    0

    文章

    88

    瀏覽量

    22742
  • GDB調(diào)試
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    1658

原文標題:OpenOCD是什么?

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    J-Link中的JTAG接口使用注意事項

    其中,最常見的接口就要算是JTAG了。J-Link有一個JTAG連接器,這是一個20針的連接系統(tǒng),如下所示。
    發(fā)表于 09-22 09:46 ?3020次閱讀

    J-Trace調(diào)試器比起J-link的優(yōu)勢在哪些方面?

    看了半天J-Trace調(diào)試器的介紹,想向用過的大佬咨詢比起J-link的優(yōu)勢在哪些方面? 是不是在某些調(diào)試場合特別能提高調(diào)試效率?
    發(fā)表于 04-15 06:48

    【益登科技 Silicon Labs SLWSTK6021A開發(fā)板試用體驗】超值下載工具J-LINK/J-TRACE COMTEX

    J-TraceCortex,加上部分傳感器和子板接口,子板插上后,調(diào)試器連接子板的MCU進行下載調(diào)試,沒有插子板時,它的外接調(diào)試接口就可以接外部板子進行調(diào)試,此時底板就是的J-LINK/J-Trace Cortex,在
    發(fā)表于 07-01 11:21

    UM08001_JlinkARM資料

    J-link / J-Trace ARM Manual Rev. 82 ,User guide of the JTAG emulators for ARM Cores——Jlink的用戶說明
    發(fā)表于 11-09 17:55 ?35次下載

    解析J-Link、J-TraceOpen JTAG原理以及其區(qū)別

    J-Link、J-Trace、Open JTAG都是用來調(diào)試程序的(當然還有其他工具可以進行調(diào)試,比如ICE),J-Link
    的頭像 發(fā)表于 01-30 09:29 ?2w次閱讀
    解析<b class='flag-5'>J-Link</b>、<b class='flag-5'>J-Trace</b>、<b class='flag-5'>Open</b> <b class='flag-5'>JTAG</b>原理以及其<b class='flag-5'>區(qū)別</b>

    J-LinkJ-Trace燒錄器的使用說明免費下載

    本文檔的主要內(nèi)容詳細介紹的是J-LinkJ-Trace燒錄器的使用說明免費下載。
    發(fā)表于 11-28 08:00 ?11次下載
    <b class='flag-5'>J-Link</b>和<b class='flag-5'>J-Trace</b>燒錄器的使用說明免費下載

    J-LinkJ-Trace用戶指南免費下載

    J-Link/J-Trace有不同的版本,每個版本都是為不同的目的/目標設(shè)備設(shè)計的。目前,J-Link/J-Trace有以下幾種型號:J-Link
    發(fā)表于 03-03 08:00 ?14次下載
    <b class='flag-5'>J-Link</b>和<b class='flag-5'>J-Trace</b>用戶指南免費下載

    J-Link script的組成

    腳本語言不需要編譯,它由解釋器動態(tài)解釋執(zhí)行。J-Link Commander(路徑C:Program Files (x86)SEGGERJLinkJLink.exe)是一個解釋器,負責對J-Link script文件進行解釋。
    的頭像 發(fā)表于 03-09 10:57 ?2410次閱讀

    教你輕松J-Link不能連接目標MCU的問題

    J-Link是嵌入式軟件、硬件工程師最常用的工具之一,但是,在使用這個工具時,也會遇到各種各樣的問題。 今天來給大家講講最常見的一個問題:J-Link不能連接目標MCU。 J-Link的連接
    的頭像 發(fā)表于 06-30 11:18 ?6619次閱讀
    教你輕松<b class='flag-5'>J-Link</b>不能連接目標MCU的問題

    基于J-Link Remote Server軟件的遠程調(diào)試方法

    SEGGER提供了一個J-Link Remote Server軟件,可以使得在任何地方連接J-Link調(diào)試應(yīng)用。J-Link Remote Server提供了圖形界面和命令行的版本,支持
    的頭像 發(fā)表于 06-14 08:56 ?2700次閱讀

    J-Link script的組成與使用方法

    J-Link作為被廣泛使用的調(diào)試器,提供了多種配套的軟件工具。例如命令配置軟件J-Link Commander,GDB server,J-Flash等。其中,J-Link Comman
    的頭像 發(fā)表于 08-01 12:20 ?2996次閱讀

    J-Link中的JTAG接口的正確使用注意事項

    所有標記為NC的針腳均未連接在J-Link內(nèi)部。這里可以應(yīng)用任何信號;J-Link將忽略這種信號。引腳4、6、8、10、12、14、16、18、20是連接到J-Link中GND的GND引腳。它們還應(yīng)連接到目標系統(tǒng)中的GND。
    的頭像 發(fā)表于 09-23 09:57 ?4111次閱讀
    <b class='flag-5'>J-Link</b>中的<b class='flag-5'>JTAG</b>接口的正確使用注意事項

    SEGGER J-Link調(diào)試仿真器支持新型可編程SOC(片上系統(tǒng))系列

    所有J-Link型號(J-Link PRO、J-Link ULTRA+、J-Link PLUS和J-Link BASE)最新硬件版本現(xiàn)在都支
    的頭像 發(fā)表于 04-14 14:20 ?2613次閱讀

    J-Link 中的JTAG 接口:正確使用需要了解的注意事項,在這里!

    J-Link 中的JTAG 接口:正確使用需要了解的注意事項,在這里!
    的頭像 發(fā)表于 12-01 16:01 ?2372次閱讀
    <b class='flag-5'>J-Link</b> 中的<b class='flag-5'>JTAG</b> 接口:正確使用需要了解的注意事項,在這里!

    SEGGER為J-Link和Flasher提供Device Provisioner工具

    日前,SEGGER宣布為其Flasher系列編程器以及J-LinkJ-Trace系列調(diào)試跟蹤工具提供Device Provisioner工具。
    的頭像 發(fā)表于 10-22 15:12 ?967次閱讀