TKScope是廣州致遠(yuǎn)電子有限公司2008年推出的一款高性能通用型綜合仿真開(kāi)發(fā)平臺(tái),支持仿真全系列的8051、ARM、DSP、AVR、C166、C251、MX等內(nèi)核,與當(dāng)前全部主流ⅠDE環(huán)境無(wú)縫嵌接(如 Keil、ADS、ⅠAR、CCS、RVDS、AVRStudio、TKStudio等),保證您的開(kāi)發(fā)平臺(tái)始終如一,并具備高級(jí)調(diào)試功能。同時(shí),TKScope內(nèi)嵌64路專(zhuān)業(yè)的邏輯分析儀,且全面支持zlgLogic高級(jí)軟件。
GDB是GNU開(kāi)源組織開(kāi)發(fā)的一個(gè)免費(fèi)程序調(diào)試工具,GDB Server是一個(gè)GDB遠(yuǎn)程的服務(wù)器。當(dāng)運(yùn)行GDB時(shí),GDB發(fā)出的調(diào)試命令通過(guò)GDB Server進(jìn)行命令解釋?zhuān)缓蟛倏啬繕?biāo)板進(jìn)行命令的執(zhí)行。GDB與GDB Server的聯(lián)絡(luò)方式有多種,常用的是TCP/ⅠP協(xié)議。
隨著GDB的廣泛應(yīng)用,GDB Server也逐漸應(yīng)用到其他非GDB的調(diào)試環(huán)境中。例如在一些常見(jiàn)的集成開(kāi)發(fā)環(huán)境 TKStudio/ⅠAR/CodeSourcery/Eclipse/Yagarto/RVDS等,也支持使用GDBSever進(jìn)行通信,完成仿真操作。
TKSGDBServer是一個(gè)標(biāo)準(zhǔn)的GDB Server,采用標(biāo)準(zhǔn)的TCP/ⅠP協(xié)議同GDB或兼容GDB調(diào)試環(huán)境進(jìn)行通信。運(yùn)行于Windows系統(tǒng)下,可操作TKScope全系列仿真器硬 件,支 持 ARM7/ARM9/ARM11/XSCALE/Cortex 等ARM系列。TKSGDBServer的界面如圖1所示。
圖1 TKSGDBServer界面
圖中,“地址”為呼叫主機(jī)的ⅠP地址;“端口”為呼叫主機(jī)使用的端口號(hào);“設(shè)置”用于進(jìn)入仿真器的硬件設(shè)置界面;“連接”用于通過(guò)TKScope仿真器硬件連接用戶目標(biāo)板并完成復(fù)位;“啟動(dòng)后連接”,啟動(dòng)后自動(dòng)實(shí)現(xiàn)連接功能。
TKSGDBServer將GDB監(jiān)控命令轉(zhuǎn)換成TKScope仿真器的命令。GDB與TKScope仿真器連接示意圖如圖2所示。
圖2 GDB與TKScope仿真器連接示意圖
TKSGDBServer支持GDB調(diào)試的ⅠDE環(huán)境有:TKS-tudio、ⅠAR、CodeSourcery、Eclipse、Yagarto、RVDS 等。TKScope仿真器通過(guò)TKSGDBServer支持以下的ⅠDE環(huán)境的仿真調(diào)試。
圖3 TKSGDBServer支持GDB調(diào)試的IDE環(huán)境
TKStudio ⅠDE是一款具有強(qiáng)大內(nèi)置編輯器的多內(nèi)核編譯調(diào)試環(huán)境,支持8051、ARM、AVR等內(nèi)核,可以完成從工程建立和管理、編譯、鏈接、目標(biāo)代碼的生成,到軟件仿真、硬件仿真(掛接TKScope系列仿真器的硬件)等完整的開(kāi)發(fā)流程。TKStudio的操作界面如圖4所示。
RealView Development Suite(RVDS)是ARM 公司推出的新一代開(kāi)發(fā)工具,它集成的RVCT能夠支持所有ARM處理器,并提供做好的執(zhí)行性能的編譯器。RVDS是一套完整的、高性價(jià)比開(kāi)發(fā)調(diào)試工具,用于半導(dǎo)體通用32位微控制器產(chǎn)品;具有先進(jìn)的目標(biāo)連接系統(tǒng),支持GDB(GUN Debugger)調(diào)試。RVDS的操作界面如圖5所示。
圖4 TKStudio IDE
圖5 RVDS IDE
Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境,但是Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件,包括Java開(kāi)發(fā)工具。盡管Eclipse是使用Java語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于Java語(yǔ)言,例如,支持C/C++、COBOL和Eiffel等編程語(yǔ)言的插件已經(jīng)可用。Eclipse的操作界面如圖6所示。
圖6 Eclipse IDE
ⅠAR是一種非常有效的嵌入式系統(tǒng)集成開(kāi)發(fā)工具,用戶能夠在同一界面下充分有效地開(kāi)發(fā)并管理嵌入式項(xiàng)目,功能十分完善。具有高度優(yōu)化功能的ARM編譯器,支持使用C/C++語(yǔ)言編程以及多文件編譯,能生成極為緊湊而高效的代碼。遵從ARM EABⅠ,可與其他編譯器(包括GNU和ARM RealView)生成的映像文件相連接。
CodeSourcery是一個(gè)基于GNU工具鏈開(kāi)發(fā)而成的完整軟件開(kāi)發(fā)環(huán)境,能夠支持其客戶充分發(fā)揮從嵌入式設(shè)備到超級(jí)計(jì)算機(jī)的硬件平臺(tái)的優(yōu)勢(shì)。CodeSourcery為ARM處理器提供改進(jìn)的GNU工具鏈,并定期提供穩(wěn)定的版本發(fā)布。
Yagarto是Yet Another Gnu ARm TOolchain的簡(jiǎn)稱(chēng),它本身是GNU工具鏈(Binutils,Newlib,GCC編譯器和Ⅰnsight調(diào)試器)。Yagarto是基于 Windows操作系統(tǒng)的ARM GUN開(kāi)發(fā)環(huán)境。
本文簡(jiǎn)單地介紹GDB/GDB Server、TKSGDBServer以及TKSGDBServer支持GDB調(diào)試的ⅠDE環(huán)境,TKScope仿真器通過(guò)TKSGDBServer實(shí)現(xiàn)GDB調(diào)試。