隨想錄(jtag知識點小結)

2021-09-24 16:29:44 字數 882 閱讀 5668

jtag除錯是嵌入式開發中常用的一種除錯方法。目前大多數soc都支援jtag除錯,開發者只需要乙個jtag轉接器,一邊是usb口連線電腦,一邊是jtag連線開發板,就可以順利進行後續的開發和除錯工作了。

1、jtag是硬體協議

jtag和spi、nand、uart、iic一樣,是乙個硬體協議,主要由5個pin組成,分別是tdi、tdo、clk、rst、tms。

2、jtag的主要功能

4、jtag除錯原理

jtag除錯離不開cpu內部的debug模組。所有的斷點設定、外設訪問、暫存器讀取、ram操作這些動作都需要cpu的配合。除此之外,為了實現jtag和gdb的完美配合,還需要在上位機側實現乙個gdbserver + commnd解析工具,實現pc和usb的通訊。

5、jtag的硬體實現

6、jtag的軟體實現

除了硬體之外,jtag還需要乙個command上位機程式、乙個下位機的韌體程式。當然,為了方便上位機使用,還需要設計乙個gui、gdbserver、command parse的框架。

7、jtag的基本流程

pc -> || usb -> stm32 -> fpga || -> dev board

pc <- || usb <- stm32 <- fpag || <- dev board

8、目前市場上的jtag工具

由於現在電腦普遍沒有並口,現在用的最多的jtag除錯工具還是jlink或者openjtag這樣的usb轉jtag除錯板。

9、什麼情況下不需要jtag

目前很多開發板支援從sd卡啟動系統,那麼這個時候其實不存在flash燒錄的情況,也就無所謂jtag功能了。通常,一般的soc支援jtag、norflash、nandflash、sd四種啟動方式,如果能用sd卡啟動,那也是非常不錯的一種選擇。

隨想錄(多學一點組合語言)

不知道現在計算機專業的同學還需不需要學習組合語言?反正工作之後,大部分人好像都不太熟悉組合語言。據我所知,彙編用的好的,不是專門做編譯工具的人,就是系統測試的人員,真正可以將系統 軟體 彙編整合在一起的人少之又少。至於為什麼需要學習彙編,下面我談談自己的一些看法。1 理解彙編,可以破除大家對軟體和硬...

知識點小結

華為 1.c與c 哪個效能比較好?從語言特性角度上來看,c 是c的超集。在 c c的這部分語言特性中有很多會降低執行效率。乙個例子是dynamic cast,執行乙個dynamic cast要消耗100 300個cpu cycles,因為機器要跳到一段特別的snippet 一小段程式 去檢查type...

知識點小結

一 mysql計算日期 timestampdiff day,t3.payment due date,now 二 字段轉換 case when t1.status in d01 a01 a00 then 三 mybatis在插入資料時,返回id usegeneratedkeys true keypro...