亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Telnet協(xié)議的VxWorks調(diào)試監(jiān)測(cè)軟件

        2018-07-10 11:17:10練學(xué)輝王善民
        雷達(dá)與對(duì)抗 2018年2期
        關(guān)鍵詞:調(diào)用內(nèi)存調(diào)試

        練學(xué)輝,杜 清,付 林,朱 潤(rùn),王善民

        (1. 海軍駐南京地區(qū)雷達(dá)系統(tǒng)軍事代表室,南京 211153;2. 中國(guó)船舶重工集團(tuán)公司第七二四研究所, 南京 210003)

        0 引 言

        VxWorks是一個(gè)運(yùn)行在目標(biāo)機(jī)上的高性能、可裁剪的嵌入式實(shí)時(shí)操作系統(tǒng)。它以良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求較高的領(lǐng)域中。近年來,可視化用戶界面正成為現(xiàn)代計(jì)算機(jī)系統(tǒng)中受到高度重視的組成部分。許多廠家推出了便于使用的各種可視化操作界面??梢暬且环N更自然、直觀的視覺呈現(xiàn)方式,是處理大容量數(shù)據(jù)的一種有效手段。然而,VxWorks開發(fā)平臺(tái)WorkBench的調(diào)試和監(jiān)視功能不夠完善,且在使用中比較繁瑣和復(fù)雜。[1-2]

        本文設(shè)計(jì)一種基于Telnet協(xié)議的VxWorks調(diào)試監(jiān)測(cè)軟件。它可以通過Telnet協(xié)議實(shí)現(xiàn)調(diào)試計(jì)算機(jī)與目標(biāo)機(jī)的交互,并且通過可視化界面展示調(diào)試結(jié)果和監(jiān)視內(nèi)容,有利于提高研發(fā)效率,縮短研發(fā)的周期。

        1 基于Telnet協(xié)議的網(wǎng)絡(luò)通訊

        基于Telnet協(xié)議的網(wǎng)絡(luò)通訊是本地計(jì)算機(jī)與VxWorks系統(tǒng)目標(biāo)機(jī)之間的主要連接方式。它利用客戶機(jī)/服務(wù)器模式可以實(shí)現(xiàn)調(diào)試計(jì)算機(jī)上通過以太網(wǎng)遠(yuǎn)程訪問和控制VxWorks系統(tǒng)目標(biāo)機(jī)。

        面向連接的協(xié)議服務(wù)器端首先調(diào)用socket函數(shù)建立流式套接字,然后用bind將此套接字和本地地址綁定,接著調(diào)用listen準(zhǔn)備接收客戶端的連接,然后調(diào)用accept接收連接。當(dāng)接收到客戶端的請(qǐng)求后,則建立連接,accept返回新的套接字就可以在這新套接字上讀寫數(shù)據(jù)。原來的套接字則可以繼續(xù)通過accept調(diào)用等待另一個(gè)連接。

        客戶端也首先調(diào)用socket函數(shù)建立流式套接字,然后調(diào)用connect向遠(yuǎn)程主機(jī)發(fā)起連接請(qǐng)求,連接建立后就可以在此套接字上進(jìn)行數(shù)據(jù)讀寫了。

        上述執(zhí)行流程圖如圖1所示。

        2 調(diào)試監(jiān)測(cè)軟件設(shè)計(jì)

        嵌入式系統(tǒng)本身資源很有限,如內(nèi)存小和CPU速度低等,而且大部分嵌入式系統(tǒng)硬件沒有顯示器和鍵盤,不足有效地運(yùn)行第三方軟件。另外,大部分軟件只使用于主流的硬件平臺(tái),不可能普遍適用于種類繁雜的嵌入式CPU。所以,對(duì)大多數(shù)嵌入式系統(tǒng)的調(diào)試和監(jiān)測(cè)采用交叉方式,即把第三方軟件安裝在調(diào)試計(jì)算機(jī)上,通過某種方式連接目標(biāo)機(jī),并通過與目標(biāo)機(jī)交換信息完成調(diào)試和監(jiān)測(cè)工作。

        VxWorks為目標(biāo)機(jī)提供了一個(gè)Shell,以方便應(yīng)用系統(tǒng)的開發(fā)和使用,簡(jiǎn)稱為tShell。目標(biāo)機(jī)tShell是VxWorks系統(tǒng)與外部最主要的接口。它的主要功能是管理用戶與VxWorks操作系統(tǒng)之間的交互:等待用戶的輸入,向VxWorks操作系統(tǒng)解析用戶的輸入指令,然后調(diào)用VxWorks庫函數(shù),最后處理各種各樣的VxWorks操作系統(tǒng)的輸出結(jié)果。

        VxWorks配置中包含“Target Shell”組件。包含該組件后,usrRoot函數(shù)會(huì)調(diào)用初始化函數(shù):shellInit(SHELL_STACK_SIZE,TRUE)。該函數(shù)會(huì)創(chuàng)建tShell任務(wù)以實(shí)現(xiàn)Shell功能。

        VxWorks初始啟動(dòng)時(shí),如果VxWorks包含了網(wǎng)絡(luò)組件中的“telnetserver”組件,系統(tǒng)會(huì)創(chuàng)建tTelnetd任務(wù),這時(shí)就可以使用主機(jī)的Telnet通過網(wǎng)絡(luò)遠(yuǎn)程訪問tShell。主機(jī)和目標(biāo)機(jī)之間能完成信息交互。關(guān)健在于目標(biāo)機(jī)的符號(hào)表。利用符號(hào)表可以直接調(diào)用程序中的輸出函數(shù)名,這是VxWorks系統(tǒng)提供的一個(gè)獨(dú)特便利。

        Telnet是TCP/IP協(xié)議的一個(gè)標(biāo)準(zhǔn)的服務(wù),其端口為固定的23。在主機(jī)和目標(biāo)機(jī)通訊的過程中,Socket先與IP地址和端口綁定,然后在套接字上讀寫數(shù)據(jù),直到數(shù)據(jù)交換完畢。

        下面是軟件實(shí)現(xiàn)數(shù)據(jù)交互的主要代碼:

        tcpclient=new TcpClient(ip, port);

        stream=tcpclient.GetStream();

        StreamWriter sw=new StreamWriter(stream);

        StreamReader sr=new StreamReader(stream);

        調(diào)試監(jiān)測(cè)軟件首先利用函數(shù)sw.Write()把用戶輸入的指令寫入套接字類,然后通過Telnet協(xié)議提交給tShell。tShell對(duì)指令進(jìn)行解析,解析后的指令通過目標(biāo)機(jī)的符號(hào)表關(guān)聯(lián)至庫函數(shù)。內(nèi)核的庫函數(shù)獲取到有用的信息后再通過Telnet協(xié)議將信息返回。接著利用函數(shù)sr.Read()把有用信息從套接字類中讀取出來,并通過函數(shù)AnalysisMessage()對(duì)這些信息進(jìn)行解析,最后將解析完的信息送至軟件界面顯示。整個(gè)流程如圖2所示。

        調(diào)試監(jiān)測(cè)軟件的功能主要包括以下幾個(gè)方面:

        (1) 調(diào)試計(jì)算機(jī)IP地址設(shè)置:主要作用是獲取調(diào)試計(jì)算機(jī)IP地址,并且可以編輯修改;

        (2) 處理器基本信息:軟件可以自動(dòng)檢測(cè)到以太網(wǎng)上的處理器IP列表,從列表中選擇某一處理器進(jìn)行連接,可以獲取當(dāng)前處理器的詳細(xì)信息,包括CPU硬件ID、系統(tǒng)相關(guān)版本信息;

        (3) 任務(wù)信息:主要包括任務(wù)的ID、名字、入口函數(shù)、優(yōu)先級(jí)和狀態(tài)等;

        (4) 任務(wù)堆棧使用概況:主要包括堆??偞笮?、堆棧當(dāng)前使用字節(jié)、堆棧最大使用字節(jié)、堆棧從未使用字節(jié)等;

        (5) 內(nèi)存分配與使用概況:主要包括內(nèi)存狀態(tài)、字節(jié)數(shù)、內(nèi)存塊數(shù)、最大空閑塊尺寸等;

        (6) 處理器溫度:獲取處理器的實(shí)時(shí)溫度,并生成近5 min的溫度曲線;

        (7) 系統(tǒng)啟動(dòng)參數(shù):獲取當(dāng)前的系統(tǒng)啟動(dòng)方式,并且可以在快速啟動(dòng)方式和Boot啟動(dòng)方式之間進(jìn)行切換;

        (8) 內(nèi)存查看:可以通過手動(dòng)輸入內(nèi)存地址,查看內(nèi)存單元的具體狀態(tài)。

        同時(shí),為了使整個(gè)開發(fā)過程快速、簡(jiǎn)單、靈活和有效,選擇基于.NET框架下的C#作為開發(fā)工具。軟件主界面如圖3所示。

        3 調(diào)試監(jiān)測(cè)軟件的硬件平臺(tái)

        編寫調(diào)試監(jiān)測(cè)軟件運(yùn)行于本地計(jì)算機(jī),通過以太網(wǎng)與PowerPC板卡相連接,PowerPC板卡之間則通過RapidIO進(jìn)行交互,硬件平臺(tái)如圖4所示。

        4 結(jié)束語

        本文提出一款基于Telnet協(xié)議的VxWorks系統(tǒng)調(diào)試監(jiān)測(cè)軟件。該軟件利用Telnet協(xié)議將VxWorks指令庫中的指令發(fā)送至目標(biāo)機(jī),實(shí)現(xiàn)了與服務(wù)器的命令行交互,并且通過基于.NET框架的C#設(shè)計(jì)可視化界面,使得用戶能更加直觀、清晰地對(duì)目標(biāo)機(jī)進(jìn)行調(diào)試與監(jiān)測(cè)。該軟件操作簡(jiǎn)易,后期功能可擴(kuò)展性強(qiáng),可以大大提高研發(fā)調(diào)試人員的工作效率,具有一定的工程意義。

        猜你喜歡
        調(diào)用內(nèi)存調(diào)試
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        “春夏秋冬”的內(nèi)存
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
        無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        調(diào)壓柜的調(diào)試與試運(yùn)行探討
        基于內(nèi)存的地理信息訪問技術(shù)
        利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
        国产69精品久久久久app下载| 无遮挡粉嫩小泬| av中文码一区二区三区| 精品国产三区在线观看| 91伦理片视频国产精品久久久| 亚洲香蕉成人av网站在线观看| 少妇高潮尖叫黑人激情在线| 日韩AV有码无码一区二区三区| 日本一区二区三区在线 | 91热久久免费频精品99| 国产一品二品精品在线| 欧美村妇激情内射| 热re99久久精品国产99热| 免费毛片a线观看| 欧美性videos高清精品| 尤物蜜芽福利国产污在线观看 | 国产一起色一起爱| 中文字幕一区二区三区在线不卡| 在线观看中文字幕一区二区三区| 亚洲av一区二区网址| 亚洲精品一区二区高清| 西西午夜无码大胆啪啪国模| 最近中文字幕mv在线资源| 国产三级精品美女三级| 亚洲av色香蕉一区二区蜜桃| 亚洲国产精品色一区二区| 国产一区二区黄色的网站| 天堂国产一区二区三区| 欧美gv在线观看| 日韩精人妻无码一区二区三区 | 国产精品天干天干综合网 | 国产mv在线天堂mv免费观看| 99在线无码精品秘 入口九色 | 情人伊人久久综合亚洲| 亚洲欧美日韩中文无线码| 中文毛片无遮挡高潮| 久草久热这里只有精品| 精品高清免费国产在线| 成人毛片av免费| 婷婷九月丁香| 国产精品污一区二区三区在线观看 |