您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Component之Kernel Shell如何啟用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Kernel Shell是VxWorks系統(tǒng)的一個Component(組件),是在Target端駐留的命令行??梢酝ㄟ^系統(tǒng)默認(rèn)的全局IO來訪問,即多數(shù)架構(gòu)的串口0或者X86架構(gòu)的PC Console;也可以通過Telnet或rlogin進(jìn)行遠(yuǎn)程訪問。
在VxWorks 5.x年代,還沒有RTP,這個組件就叫做Target Shell。到了VxWorks 6,為了表示它是在Kernel里運行,而不是RTP里,就改了名字。
Kernel Shell很強大,有很多作用,可以用來加載、執(zhí)行、監(jiān)控、調(diào)試Kernel和RTP代碼。而且隨著VxWorks版本的提高,Kernel Shell在功能也在加強。我們今天先來看看怎么啟用它,至于其它功能,以后慢慢再說。
首先,需要在VIP中包含組件 INCLUDE_SHELL
有了這個組件,Kernel就會啟動一個Shell任務(wù)。任務(wù)的屬性由這幾個宏來定義
SHELL_TASK_PRIORITY,優(yōu)先級,默認(rèn)值1
SHELL_STACK_SIZE,棧,默認(rèn)值0x10000
SHELL_TASK_NAME_BASE,任務(wù)名前綴,默認(rèn)值"tShell",后跟從0開始遞增的序號
SHELL_TASK_OPTIONS,選項,默認(rèn)值(VX_UNBREAKABLE| VX_PRIVATE_ENV)
而進(jìn)入Kernel Shell后,通過sp()、repeat()或period()再創(chuàng)建的任務(wù)會使用以下屬性
SHELL_SPAWNED_TASK_STACK_SIZE,棧,默認(rèn)值20000;也可通過spTaskStackSize動態(tài)修改
SHELL_SPAWNED_TASK_PRIORITY,優(yōu)先級,默認(rèn)值100;也可通過spTaskPriority動態(tài)修改
SHELL_SPAWNED_TASK_OPTIONS,選項,默認(rèn)值(VX_COPROCS_ALL_TASK| VX_STDIO),其中不管CPU是什么結(jié)構(gòu),VX_COPROCS_ALL_TASK都會包含VX_FP_TASK;也可通過 spTaskOptions動態(tài)修改
namelessPrefix,任務(wù)名前綴,默認(rèn)值"t",后跟從1開始遞增的序號
如果要遠(yuǎn)程訪問Kernel Shell,可使用以下兩個組件
rlogin - INCLUDE_RLOGIN
Telnet - INCLUDE_IPTELNETS
另外,Kernel Shell還可以選擇是否使用登錄密碼,密碼長度是8-40
SHELL_SECURE -> TRUE
INCLUDE_SECURITY
并且這個密碼會通過Salt值加密。在VxWorks DevelopmentShell中使用工具vxencrypt來轉(zhuǎn)換密碼
例如輸入"password"作為密碼,得到隨機的Salt值和哈希加密后的密碼,將其填入對應(yīng)的組件屬性中
編譯后再啟動VxWorks時,就需要輸入user name和password了
使用Telnet也是如此
感謝各位的閱讀!關(guān)于“Component之Kernel Shell如何啟用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。