• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

      0 引 言

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

      本文設(shè)計(jì)一種基于Telnet協(xié)議的VxWorks調(diào)試監(jiān)測軟件。它可以通過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)接收到客戶端的請求后,則建立連接,accept返回新的套接字就可以在這新套接字上讀寫數(shù)據(jù)。原來的套接字則可以繼續(xù)通過accept調(diào)用等待另一個連接。

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

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

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

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

      VxWorks為目標(biāo)機(jī)提供了一個Shell,以方便應(yīng)用系統(tǒng)的開發(fā)和使用,簡稱為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ù)會調(diào)用初始化函數(shù):shellInit(SHELL_STACK_SIZE,TRUE)。該函數(shù)會創(chuàng)建tShell任務(wù)以實(shí)現(xiàn)Shell功能。

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

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

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

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

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

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

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

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

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

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

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

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

      3 調(diào)試監(jiān)測軟件的硬件平臺

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

      4 結(jié)束語

      本文提出一款基于Telnet協(xié)議的VxWorks系統(tǒng)調(diào)試監(jiān)測軟件。該軟件利用Telnet協(xié)議將VxWorks指令庫中的指令發(fā)送至目標(biāo)機(jī),實(shí)現(xiàn)了與服務(wù)器的命令行交互,并且通過基于.NET框架的C#設(shè)計(jì)可視化界面,使得用戶能更加直觀、清晰地對目標(biāo)機(jī)進(jìn)行調(diào)試與監(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)用的惡意軟件檢測技術(shù)研究
      調(diào)壓柜的調(diào)試與試運(yùn)行探討
      基于內(nèi)存的地理信息訪問技術(shù)
      利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
      黔江区| 丰县| 常宁市| 正镶白旗| 康马县| 建水县| 遵化市| 灵石县| 桂林市| 孝感市| 琼中| 古蔺县| 曲水县| 周至县| 高陵县| 怀远县| 中阳县| 油尖旺区| 九龙城区| 高唐县| 鄢陵县| 保山市| 伽师县| 香格里拉县| 观塘区| 新和县| 科技| 铜山县| 巢湖市| 鲁山县| 若尔盖县| 安宁市| 新余市| 北安市| 柞水县| 黔江区| 同仁县| 新安县| 兴城市| 仲巴县| 外汇|