研究生: |
鄭博文 Po-Wen Cheng |
---|---|
論文名稱: |
使用FT601晶片重新設計OpenJTAG 轉換器 Re-Design the OpenJTAG Adaptor by Using FT601 Chip |
指導教授: |
林昌鴻
Chang-Hong Lin |
口試委員: |
王煥宗
Huan-Chun Wang 林其誼 Chi-Yi Lin |
學位類別: |
碩士 Master |
系所名稱: |
電資學院 - 電子工程系 Department of Electronic and Computer Engineering |
論文出版年: | 2018 |
畢業學年度: | 106 |
語文別: | 中文 |
論文頁數: | 98 |
中文關鍵詞: | OpenOCD 、JTAG 、Jlink |
外文關鍵詞: | OpenOCD, JTAG, Jlink |
相關次數: | 點閱:105 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在嵌入式系統開發過程中。有許多性能優越的調試,除錯工具,比如KEIL、IAR EWARM、Multi-IDE 等,這些軟件使用都很便利,功能強大,但是價格相對高昂(幾百美元甚至更多),此外尚須配購對應的 JTAG 轉換器(Joint Test Action Group)硬件如ARM 之RealView ICE (In Circuit Emulator),Segger Jlink 和 GreenHill 的 Multi-ICE對於學生族群,是一筆昂貴的支出。所幸一群軟體與硬件人員共襄盛舉開發出一套 OpenOCD (Open On Chip Debugger),MCU (Micro Controller Unit) base,FTDI base 之JTAG adapter。在眾多 adapter 中,OpenJTAG 是採FT245 USB (Universal SerialBus) 2.0 full speed 與CPLD (Complex Programmable Logic Device) 結合以減少控制JTAG pins 的傳送的資料量,但速度卻受限於 FT245,本文首先分析OpenJTAG傳輸速度的瓶頸,提供解決的方法,除了在通訊協定上增加新的指令集,並改採用新一代的USB 3.0 controller FT601 以解決硬體上的限制,使得資料傳輸速度比原始設計增加數倍。同時也闡述如何使用OpenOCD 的介面設計屬於自己的JTAG debugger,最後開發HDL (Hardware Description Language) Test Bench做為除錯和開發新指令的驗證工具。
In the process of embedded system development. There are many excellent debugging tools, such as KEIL, IAR EWARM, Multi-IDE, etc. These software are very convenient and powerful, but they are relatively expensive (several hundred dollars or more). In addition, the corresponding JTAG (Joint Test Action Group) Adaptor such as ARM's RealView ICE (In Circuit Emulator), Segger Jlink and GreenHill's Multi-ICE are required which is expensive for the students. Fortunately, a group of software and hardware personnel join the development of OpenOCD (Open On Chip Debugger) and create the MCU (Micro Controller Unit) base, FTDI base JTAG adapter. Among the many adapters, OpenJTAG is a combination of FT245 USB (Universal Serial Bus) 2.0 full speed and CPLD (Complex Programmable Logic Device) to reduce the amount of data transferred for JTAG pins control, but the speed is limited by FT245. This paper analyzes the bottleneck of OpenJTAG transfer speed, and provides a solution, in addition to adding a new instruction set to the protocol, and replace the USB bridge by using new generation of USB 3.0 bridge, FT601, to solve the hardware limitations, making the data transmission speed faster than the original design. The experimental results show the performance has dramatically increased. This paper also introduces how to design your own JTAG debugger by using OpenOCD's framework, and finally develops a HDL (Hardware Description Language) Test Bench as a verification tool for developing new instructions and debugging.
[1] 黃士桐, “Processor-OpenOCD整合之軟硬體協同認證,” 102.
[2] F. T. D. I. Ltd, “FT245R USB FIFO IC Data Sheet, ”2010.
[3] F. T. D. I. Ltd, “DS_FT600Q-FT601Q IC Datasheet”.
[4] F. T. D. I. Ltd, “AN_412 FT600_FT601 USB Bridge chips Integration, page 6, FIFO Channel & Buffer,” 2017-12-08.
[5] F. T. D. I. Ltd, “AN_412 FT600_FT601 USB Bridge chips Integration, page 7, GPIO Setting,” 2017-12-08.
[6] F. T. D. I. Ltd, “AN_386 FTDI FT600 Maximize Performance, ”2015-10-19.
[7] Mileca Ruben, “OpenJTAG Communication Protocol, ”, 2010.
[8] The Institute of Electrical and Electronics Engineering, “IEEE Standard Test Access Port and Boundary-Scan Architecture,” New York.
[9] “USB 2.0 Spec, ” , 2000.
[10] Hubert Högl, Dominic Rath, “Open On-Chip Debugger, ”2006.
[11] Stan Shebs, "http://www.aosabook.org/en/gdb.html",
[12] Cygnus Solutions, Red Hat, "https://www.cygwin.com/",
[13] K. Mulier, “How to use the GDB and OpenOCD for microcontroller debugging from the terminal,” 25 7 2016. https://stackoverflow.com/questions/38033130/how-to-use-the-gdb-gnu-debugger-and-openocd-for-microcontroller-debugging-fr.
[15] F. T. D. I. Ltd, “FIFO TO USB 3.0 Bridge Evaluation Board”.
[16]“Cyclone V GX Starter Kit User Manual,”Terasic, Taipei, 2014.
[17] Krzysztof Mroczek, “An Universal USB 3.0 FIFO Interface For Data Acquisition," Measurement Automation Monitoring, vol. 62, pp. 434-438, 11 2016.
[18]“STM32F407IGT6開發板3.2寸觸控屏,”德源科技, Taipei, 2015.
[19]“RASPBERRY PI 1 MODEL B+," The Raspberry Pi Foundation , UK.
[20] Synopsys, “STD_LOGIC_TEXTIO library,” https://github.com/ghdl/ghdl/blob/master/libraries/synopsys/std_logic_textio.vhdl.
[21] Oyvind. Harboe, "VHDL txt_util to convert the string to hex format," https://opencores.org/websvn/filedetails?repname=ion&path=%2Fion%2Ftrunk%2Fvhdl%2Ftb%2Ftxt_util.vhdl.
[22] ZEROPLUS TECHNOLOGY CO.,“JTAG 量測技術大觀,” Taipei, 2009.
[23] Dominic Rath, "Design and Implementation of an On-Chip Debug Solution for Embedded Target Systems based on the ARM7 and ARM9 Family," 2005.
[24] Roman Beneder, "Development of an OpenOCD compatible Debugger for ARM - CMARMJTAG," 1210 Vienna, 2011.