新聞中心
小編給大家分享一下vxworks中系統(tǒng)任務有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)成立與2013年,先為霍城等服務建站,霍城等地企業(yè),進行企業(yè)商務咨詢服務。為霍城企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
根據(jù)配置的不同,VxWorks系統(tǒng)在啟動時,會同步啟動一些系統(tǒng)任務,其中有的任務在完成自己的工作后就會退出,而有的會一直運行下去。常見的系統(tǒng)任務如下:
任務名稱:tRootTask
優(yōu)先級:0
棧尺寸:ROOT_STACK_SIZE,具體數(shù)值與CPU架構有關,詳見configAll.h
觸發(fā)條件:系統(tǒng)啟動
組件:無
描述:這是內(nèi)核啟動的第一個任務,隨后它會啟動其它系統(tǒng)任務。任務入口是函數(shù)usrRoot(),在這個函數(shù)里初始化了系統(tǒng)的大部分功能。通常情況下,在初始化完其它功能后,這個任務就自己退出了。為了查看它,我們在這個任務的最后位置添加一個taskSuspend(),把它掛起來
注意:實際產(chǎn)品里不要掛起、刪除,或調(diào)整這些系統(tǒng)任務的優(yōu)先級。否則會導致系統(tǒng)行為不可預測
任務名稱:tLogTask
優(yōu)先級:0
棧尺寸:5000
觸發(fā)條件:中斷或任務里調(diào)用logMsg()
組件:INCLUDE_LOGGING
描述:用于記錄系統(tǒng)信息,不使用當前任務的IO
最多排隊消息數(shù)量:MAX_LOG_MSGS,默認值50
格式化參數(shù)數(shù)量:6
任務名稱:tExcTask
優(yōu)先級:0
棧尺寸:EXC_TASK_STACKSIZE,默認值8192
觸發(fā)條件:中斷里調(diào)用excJobAdd()
組件:INCLUDE_EXC_TASK
描述:這個任務用于執(zhí)行中斷里不方便執(zhí)行的工作,因此必須使用最高優(yōu)先級。可以在這個任務上排隊的工作的最多為MAX_ISR_JOBS,取值必須為2的冪,默認值為16。如果中斷里需要排隊的工作超過這個限制,就會有溢出警告"messages from interrupt levellost"
任務名稱:tJobTask
優(yōu)先級:啟動時為0,根據(jù)執(zhí)行的工作而動態(tài)調(diào)整
棧尺寸:JOB_TASK_STACK_SIZE,默認8000
觸發(fā)條件:其它任務提交工作
組件:INCLUDE_JOB_TASK
描述:這個任務用于執(zhí)行其它任務提交的工作。它使用優(yōu)先級0等待工作,在執(zhí)行工作時,動態(tài)調(diào)整為提交工作的任務的優(yōu)先級。主要作用之一是處理任務的自我刪除
任務名稱:tIsrN
優(yōu)先級:0
棧尺寸:8192
觸發(fā)條件:設備中斷調(diào)用isrDeferJobAdd()
組件:INCLUDE_ISR_DEFER
描述:這個(組)任務用于執(zhí)行設備驅(qū)動通過isrDeferJobAdd()提交的工作。名稱中的字母N表示這個任務所使用的CPU的序號,在單核環(huán)境里,那就只有tIsr0了。這組任務創(chuàng)建時,每個都綁定到相應序號的CPU上。多核模式的設備驅(qū)動將需要推遲的工作綁定到當前的CPU上,用于避免跨CPU調(diào)度
任務名稱:tNet0
優(yōu)先級:NET_TASK_PRIORITY,默認值50
棧尺寸:NET_TASK_STACKSIZE,默認值10000
觸發(fā)條件:數(shù)據(jù)包到達,傳輸完成,網(wǎng)絡協(xié)議里的定時器到時,socket應用的請求,等等
組件:INCLUDE_NET_DEAMON
描述:這是網(wǎng)絡驅(qū)動和網(wǎng)絡協(xié)議的守護線程
任務名稱:tWdbTask
優(yōu)先級:WDB_TASK_PRIORITY,默認值3
棧尺寸:WDB_STACK_SIZE,默認值0x2000
觸發(fā)條件:無
組件:INCLUDE_WDB
描述:WDB的target agent程序,用于處理host tool通過target server發(fā)送的請求
任務名稱:tShellN
優(yōu)先級:SHELL_TASK_PRIORITY,默認值1
棧尺寸:SHELL_STACK_SIZE,默認值0x10000
觸發(fā)條件:系統(tǒng)啟動
組件:INCLUDE_SHELL
描述:kernel shell以任務形式存在的,可以同時啟動多個,不同的shell使用不同的序號N為名稱后綴,名稱”tShell”是通過SHELL_TASK_NAME_BASE定義的。在shell里再調(diào)用的函數(shù)會使用這個shell的上下文。
任務名稱:ipcom_telnetd
優(yōu)先級:50
棧尺寸:6144
觸發(fā)條件:新的Telnet連接
組件:INCLUDE_IPTELNETS
描述:這個守護線程允許遠程用戶通過Telnet登陸VxWorks的kernel shell。它會為每個Telnet連接啟動一組任務,包括ipcom_telnetspawn,tStdioProxyhexNum,tLoginhexNum,tShellRemdecNum
等介紹了任務調(diào)度之后,我們就會發(fā)現(xiàn)這些系統(tǒng)任務的優(yōu)先級都是比較高的,我們自己應用程序的優(yōu)先級盡量要低一些。
等介紹了VxWorks系統(tǒng)的啟動流程后,我們就會知道嵌入式硬件上電后,先是執(zhí)行匯編語言的初始化程序,然后跳轉(zhuǎn)到C語言的程序,然后啟動第一個任務tRootTask,然后逐步加載其它系統(tǒng)任務。
這些高優(yōu)先級的系統(tǒng)任務通常都是處于Pend狀態(tài),只有外界(應用程序或外設)需要它們時,它們才會提供相應的功能。它們整體對外的表現(xiàn)就是一個提供了很多功能的強大的實時操作系統(tǒng)。
看完了這篇文章,相信你對“vxworks中系統(tǒng)任務有哪些”有了一定的了解,如果想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章題目:vxworks中系統(tǒng)任務有哪些
URL分享:http://www.ef60e0e.cn/article/psddoe.html