嵌入式軟件集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)
4.2 交叉調(diào)試器的接口設(shè)計(jì)
為了向上層 PLAEmbeddedIDE 隱藏調(diào)試器實(shí)現(xiàn)的細(xì)節(jié),與交叉編譯器類似,需要設(shè)計(jì) 通用的調(diào)試接口。
根據(jù)集成開(kāi)發(fā)環(huán)境對(duì)交叉調(diào)試器的功能要求,部分設(shè)計(jì)的接口函數(shù)如下:
??SEttarget(BSTR TargetType, unsigned long baudRate, BSTR comPort)
功能描述:設(shè)置目標(biāo)板類型、通信波特率、串口號(hào)、并連接目標(biāo)板;
??InvokeDebugger( unsigned long hWnd, BSTR Path, BSTR filename, BSTR TargetType)
功能描述:調(diào)用針對(duì)當(dāng)前目標(biāo)類型的GDB,并打開(kāi)被調(diào)試文件; ??
DownloadFile() 功能描述:將被調(diào)試程序下載到目標(biāo)板上;
??SendExecCmd(unsigned long cmd) 功能描述:向GDB發(fā)送跟蹤調(diào)試的命令,比如繼續(xù)、跳過(guò)、跳入等等; ??DumpRegisters(BSTR *pReg) 功能描述:獲取當(dāng)前所有寄存器的值; ??
ReadMemory (unsigned long startAddress, unsigned longend Address, BSTR * pMemData ) 功能描述:取得指定地址區(qū)間的內(nèi)存值;
5 結(jié)束語(yǔ)
本文通過(guò)對(duì)開(kāi)放源碼的工具集 GNU 的重定向,實(shí)現(xiàn)了開(kāi)放式、可擴(kuò)展的嵌入式軟件集 成開(kāi)發(fā)環(huán)境的設(shè)計(jì)。設(shè)計(jì)并實(shí)現(xiàn)的嵌入式軟件集成開(kāi)發(fā)環(huán)境原型系統(tǒng)PLAEmbeddedIDE v1.0,包括了編碼、編譯、調(diào)試等嵌入式軟件開(kāi)發(fā)中所需要的各項(xiàng)服務(wù)。用戶通過(guò)用戶界面調(diào)用通用的編譯接口和調(diào)試接口,可以方便地調(diào)用與目標(biāo)相對(duì)應(yīng)的交叉編譯器和交叉調(diào)試 器,能夠大大簡(jiǎn)化嵌入式軟件開(kāi)發(fā)的過(guò)程、提高開(kāi)發(fā)效率。
該系統(tǒng)已經(jīng)成功運(yùn)用于 Mcore 和ARM 兩個(gè)系列目標(biāo)處理器的嵌入式軟件開(kāi)發(fā)中。但在 以后的開(kāi)發(fā)過(guò)程中,需要不斷擴(kuò)展所支持的處理器類型,增加相應(yīng)的驅(qū)動(dòng)程序庫(kù),還需要不 斷豐富集成開(kāi)發(fā)環(huán)境的模版等進(jìn)一步完善工作。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論