<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式軟件集成開發(fā)環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)

          嵌入式軟件集成開發(fā)環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-08-06 來源:網(wǎng)絡(luò) 收藏

          4.2 交叉調(diào)試器的接口

          為了向上層 PLAEmbeddedIDE 隱藏調(diào)試器的細(xì)節(jié),與交叉編譯器類似,需要 通用的調(diào)試接口。

          根據(jù)對交叉調(diào)試器的功能要求,部分的接口函數(shù)如下:

          ??SEttarget(BSTR TargetType, unsigned long baudRate, BSTR comPort)

          功能描述:設(shè)置目標(biāo)板類型、通信波特率、串口號、并連接目標(biāo)板;

          ??InvokeDebugger( unsigned long hWnd, BSTR Path, BSTR filename, BSTR TargetType)

          功能描述:調(diào)用針對當(dāng)前目標(biāo)類型的GDB,并打開被調(diào)試文件; ??

          DownloadFile() 功能描述:將被調(diào)試程序下載到目標(biāo)板上;

          ??SendExecCmd(unsigned long cmd) 功能描述:向GDB發(fā)送跟蹤調(diào)試的命令,比如繼續(xù)、跳過、跳入等等; ??DumpRegisters(BSTR *pReg) 功能描述:獲取當(dāng)前所有寄存器的值; ??

          ReadMemory (unsigned long startAddress, unsigned longend Address, BSTR * pMemData ) 功能描述:取得指定地址區(qū)間的內(nèi)存值;

          5 結(jié)束語

          本文通過對開放源碼的工具集 GNU 的重定向,了開放式、可擴(kuò)展的集 成開發(fā)的設(shè)計(jì)。設(shè)計(jì)并原型系統(tǒng)PLAEmbeddedIDE v1.0,包括了編碼、編譯、調(diào)試等開發(fā)中所需要的各項(xiàng)服務(wù)。用戶通過用戶界面調(diào)用通用的編譯接口和調(diào)試接口,可以方便地調(diào)用與目標(biāo)相對應(yīng)的交叉編譯器和交叉調(diào)試 器,能夠大大簡化嵌入式軟件開發(fā)的過程、提高開發(fā)效率。

          該系統(tǒng)已經(jīng)成功運(yùn)用于 Mcore 和ARM 兩個(gè)系列目標(biāo)處理器的嵌入式軟件開發(fā)中。但在 以后的開發(fā)過程中,需要不斷擴(kuò)展所支持的處理器類型,增加相應(yīng)的驅(qū)動(dòng)程序庫,還需要不 斷豐富環(huán)境的模版等進(jìn)一步完善工作。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();