精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

OpenOCD是什么?J-Link、J-Trace、Open JTAG的區別

sanyue7758 ? 來源:TrustZone ? 2023-12-12 09:43 ? 次閱讀

前言

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

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

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

一、OpenOCD是什么?

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

1-OPENJTAG是什么?

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

硬件是一個USB接口轉JTag接口的適配器。

借助開源軟件OpenOCD可以完成程序的燒寫,調試等任務OpenJTag的功能:

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

支持Windows以及Linux

能夠用在支持GDB調試協議的工具上:如IAR, Eclipse

USB轉串口功能

所以本質上還是開源軟件OpenOCD

2-J-Link、J-Trace、Open JTAG區別

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

本質上都是基于JTAG接口協議的。

3-OpenOCD是什么

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

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

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

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

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

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

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

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

GDB調試:它允許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)的內核使用GDB協議進行調試。

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

小結一下:

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

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

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

通過下面的OpenOCD架構圖我們能更好的認識OpenOCD。

可以看出OpenOCD提供了GDBServer,可以通過它進行GDB相關的調試操作。

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

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

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

4-OpenJTAG怎么用?

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

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

5-JTAG與SWD的區別

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

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

TCK:測試時鐘輸入;

TDl:測試數據輸入,數據通過TDI引|腳輸入JTAG接口;

TDO:測試數據輸出,數據通過TDO引腳從JTAG接口輸出;

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

SWD和傳統的調試方式區別:SWD模式比JTAG在高速模式下面更加可靠。在大數據量的情況下面JTAG下載程序會失敗,但是SWD發生的幾率會小很多。基本使用JTAG仿真模式的情況下是可以直接使用SWD模式的,只要你的仿真器支持,所以推薦大家使用這個模式。在GPIO剛好缺一個的時候,可以使用SWD仿真,這種模式支持更少的引腳。在板子的體積有限的時候推薦使用SWD模式,它需要的引腳少。







審核編輯:劉清

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

    關注

    9

    文章

    700

    瀏覽量

    55582
  • 適配器
    +關注

    關注

    8

    文章

    1933

    瀏覽量

    67930
  • JTAG
    +關注

    關注

    6

    文章

    398

    瀏覽量

    71606
  • J-Link
    +關注

    關注

    0

    文章

    83

    瀏覽量

    22119
  • GDB調試
    +關注

    關注

    0

    文章

    24

    瀏覽量

    1437

原文標題:OpenOCD是什么?

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

收藏 人收藏

    評論

    相關推薦

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

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

    J-Trace調試器比起J-link的優勢在哪些方面?

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

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

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

    UM08001_JlinkARM資料

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

    解析J-LinkJ-TraceOpen JTAG原理以及其區別

    J-LinkJ-TraceOpen JTAG都是用來調試程序的(當然還有其他工具可以進行調試,比如ICE),J-Link
    的頭像 發表于 01-30 09:29 ?1.9w次閱讀
    解析<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'>區別</b>

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

    本文檔的主要內容詳細介紹的是J-LinkJ-Trace燒錄器的使用說明免費下載。
    發表于 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有不同的版本,每個版本都是為不同的目的/目標設備設計的。目前,J-Link/J-Trace有以下幾種型號:J-Link
    發表于 03-03 08:00 ?14次下載
    <b class='flag-5'>J-Link</b>和<b class='flag-5'>J-Trace</b>用戶指南免費下載

    J-Link script的組成

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

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

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

    基于J-Link Remote Server軟件的遠程調試方法

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

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

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

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

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

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

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

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

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

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

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