女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]VxWorks下的任務(wù)監(jiān)控方法及應(yīng)用

1 VxWorks交叉開發(fā)模式
    在VxWorks下應(yīng)用軟件開發(fā)時采用交叉開發(fā)模式,宿主機通常是普通的PC機,目標(biāo)機就是應(yīng)用程序真實的運行的硬件平臺;集成開發(fā)環(huán)境Tornado位于宿主機,用戶通過Tornado開發(fā)環(huán)境完成代碼編寫、編譯、鏈接,宿主機與目標(biāo)機通過分別位于其上的Target Server和Target Agent實現(xiàn)信息交互,物理連接往往是串口或者網(wǎng)絡(luò),在開發(fā)調(diào)試過程中,用戶將編譯鏈接后的目標(biāo)代碼通過Target Server加載到目標(biāo)機上運行,可以通過Tornado下的Shell、Debugger、Browser以及Windview等工具監(jiān)控目標(biāo)機上應(yīng)用程序任務(wù)的運行情況,應(yīng)用程序使用printf語句打印的調(diào)試信息回送到宿主機,借助打印信息和Tornado提供的各種調(diào)試工具,開發(fā)者可以監(jiān)控任務(wù)的運行情況,當(dāng)某個任務(wù)出錯時,可以通過各種輸出信息分析問題原因。
    但是一旦完成開發(fā)投入實際試驗使用, 由于實際使用環(huán)境和當(dāng)初的開發(fā)調(diào)試環(huán)境有較大的區(qū)別,難免會出現(xiàn)各種異常情況,比較常見的異常就是任務(wù)掛起,在這種情況下開發(fā)者往往無法像在地面調(diào)試時那樣可以外接調(diào)試電纜捕獲異常信息, 以確定發(fā)生異常的任務(wù),也無法捕獲開發(fā)者在開發(fā)過程中的輔助打印信息,這種情況在戰(zhàn)斗機機載軟件尤為常見?;赩xWorks的應(yīng)用軟件大多采用多任務(wù)方式,無法像以前沒有操作系統(tǒng)的嵌入式系統(tǒng)那樣,通過硬件看門狗電路,在軟件運行出錯時自動重啟恢復(fù)軟件運行,一個任務(wù)出錯往往并不會引起操作系統(tǒng)重啟,用戶通過上層很難判斷應(yīng)用軟件運行是否正常。因此需要建立軟件看門狗機制,監(jiān)控任務(wù)運行情況,在出現(xiàn)異常時記錄必要的異常信息,自動重啟設(shè)備。同時,需像開發(fā)階段那樣記錄輸出信息,以輔助分析異常原因。

2 系統(tǒng)輸出信息捕獲
    在VxWorks下系統(tǒng)輸出信息包括:標(biāo)準(zhǔn)輸出(STD_OUT,文件描述為1)和標(biāo)準(zhǔn)錯誤輸出(STD_ERR,文件描述為2)。使用printf、IogMsg語句等輸出的信息,以及用戶和操作系統(tǒng)其他的打印輸出信息均通過STD_OUT輸出,而STD_ERR則是在系統(tǒng)出錯時使用,例如:
data access
Exception current instruction address:0x00072054
Machine Status Register:0x0000b030
Data Access Register:0xeeeeeef2
Condition Register:0x22000040
Data storage interrupt Register:0x0000b030
Task:0x1c9e50 "RadarProc"
    上面的打印信息是任務(wù)“RadarProc”出錯時操作系統(tǒng)輸出的錯誤信息,通過STD_ERR文件描述符輸出的。
    STD_OUT和STD_ERR可以分別輸出,但是通常情況下它們均定向到控制臺(consoleFd),即在交叉開發(fā)模式下通過目標(biāo)機Target Agent和宿主機的Target Server輸出到串口或者網(wǎng)絡(luò)。在VxWorks下操作系統(tǒng)提供ioGIobalStdSet接口函數(shù)支持輸出重定向,函數(shù)原型:
void ioGIobaIStdSet(int stdFd,int newFd)
    其中stdFd為STD_OUT(1)或者STD_ERR(2),newFd為重定向的文件描述符。利用這個函數(shù)就可以實現(xiàn)系統(tǒng)輸出信息的捕獲,具體方法如下:
FILE* printf_stream = fopen("/ide0/log.txt","a+" ):
ioGlobalStdSet(STD_OUT,fileno(printf_stream));
ioGlobalStdSet(STD_ERR,fileno(printf_stream));
    在上面的代碼中,在設(shè)備/ide0(電子盤)上打開名為log.txt的文件,打開方式為追加式,將STD_OUT和STD_ERR重定向到printf_stream 指向的文件。需要注意的是,不能像平常那樣關(guān)閉printf_stream 文件指針,這樣就可以將系統(tǒng)的所有輸出信息保存在文件log.txt中。

3 任務(wù)監(jiān)控
3.1任務(wù)狀態(tài)
    VxWorks下任務(wù)有四種基本狀態(tài):READY、PEND、DELAY、SUSPEND,在用戶不使用Shell命令人為改變?nèi)蝿?wù)狀態(tài)前提下,如果狀態(tài)中出現(xiàn)SUSPEND,就說明該任務(wù)已經(jīng)出錯。

3.2任務(wù)監(jiān)控設(shè)計
    任務(wù)監(jiān)控需要周期性的監(jiān)測操作系統(tǒng)中所有運行的任務(wù)狀態(tài),發(fā)現(xiàn)某任務(wù)出錯時記錄任務(wù)的相關(guān)基本信息,并自動重啟。任務(wù)監(jiān)控必須兩個操作系統(tǒng)接口函數(shù):
int taskIdListGet(int idList[],int maxTasks)
STATUS taskStatusString(int tid,char* pString)
    taskIdListGet函數(shù)可以獲得當(dāng)前操作系統(tǒng)中運行的所有任務(wù),idList存放獲取的任務(wù)id的數(shù)組,maxTasks為數(shù)組大小。taskStatusString獲取任務(wù)狀態(tài)名稱,tid是任務(wù)id,pString為任務(wù)狀態(tài)名稱。
    在發(fā)現(xiàn)時任務(wù)出錯時通過回調(diào)函數(shù)告訴用戶出錯任務(wù)情況,出錯任務(wù)數(shù)據(jù)結(jié)構(gòu):
struct TroubleTaskStruct
{
int taskID;//出錯任務(wù)id
char taskName[256];//任務(wù)名稱
char taskState[32];//任務(wù)狀態(tài)
};
回調(diào)函數(shù)原型:
typedef void (*TroubleTaskFuncPtr)(const TroubleTaskStruct troubleTaskVector,int troubleTaskNum);

4 結(jié)束語
    嵌入式系統(tǒng)應(yīng)用軟件完成開發(fā)調(diào)試后,在隨后的試驗階段很難象調(diào)試階段那樣得到任務(wù)狀態(tài)等輸出信息,一旦出現(xiàn)任務(wù)異常,因為缺乏發(fā)生異常時的相關(guān)信息,很難判斷和分析問題,給解決問題帶來很大難度,使用任務(wù)監(jiān)控和系統(tǒng)信息捕獲技術(shù)可以有效地解決此類問題。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀(jì)念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

Lua RTOS 是一個實時操作系統(tǒng),設(shè)計在嵌入式系統(tǒng)上運行,對 FLASH 和 RAM 內(nèi)存的要求最低。目前 Lua RTOS 可用于 ESP32, ESP8266 和 PIC32MZ 平臺,并可以輕松移植到其他32位...

關(guān)鍵字: Lua RTOS 操作系統(tǒng) 嵌入式系統(tǒng)

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關(guān)鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉