亚洲免费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)接口通信
        国产97在线 | 日韩| 午夜不卡av免费| 大地资源网更新免费播放视频| 狠狠色噜噜狠狠狠97影音先锋| 国产丰满乱子伦无码专| 中文字幕亚洲高清精品一区在线| 国产18禁黄网站免费观看| 国产人妻久久精品二区三区老狼 | 91美女片黄在线观看| 韩国女主播一区二区三区在线观看 | 亚洲性无码av在线| 国产精品久久久黄色片| 国内精品久久久久久久97牛牛| 国产黄a三级三级三级av在线看| 胳膊肘上有白色的小疙瘩| 日韩精品在线观看在线| 正在播放国产多p交换视频| 国产在线一91区免费国产91| 亚洲国产精品夜男人天堂| 亚洲综合一区二区三区天美传媒| 亚洲欧美综合区自拍另类| 久久精品国产99久久丝袜| 亚洲中文字幕一区高清在线 | 国产成人拍精品免费视频| 日本在线一区二区三区四区| 亚洲午夜久久久精品影院| 四房播播在线电影| 国产精品不卡无码AV在线播放| 亚洲中文字幕高清av| 国产福利视频在线观看| 一区二区三区日韩亚洲中文视频| 日韩一区二区三区天堂| 亚洲av无码专区国产乱码4se| 欧美日韩亚洲tv不卡久久| 亚洲Va中文字幕无码毛片下载| 日韩有码在线一区二区三区合集 | 在线观看的a站免费完整版| 又色又爽又高潮免费视频国产 | 人妻少妇精品视频三区二区一区| 在线免费观看国产精品| 久久亚洲春色中文字幕久久久综合|