LiteOS之shell使用

      網友投稿 860 2025-04-05

      在使用LiteOS系統時,需要使用到利用串口即console進行執行自己的進程,往往需要使用到shell命令,所以需要學習如何在自己的程序中增加shell的使用。

      LiteOS之shell使用

      1、shell是啥

      Shell在liteOS作為在線調試工具,可以通過串口工具輸入輸出,支持常用的基本調試功能。同時用戶可以新增定制的命令,新增命令需重新編譯燒錄后才能執行。

      2、shell的作用

      1??為LiteOS提供基礎的命令供用戶使用,用戶可以利用這些命令控制LIteOS系統,并查詢相相關信息;

      2??為用戶提供接口,可以將自己的進程和任務進行命令輸出,并在console進行交互。

      3、如何才能使用Sell

      首先,要在軟件剪裁開關中打開sell功能,即在make menuconfig中選擇打開Sell,Debug ---> Enable a Debug Version ---> Enable Shell

      設置shell連接uart端口,程序通過下面的程序將需要的串口和shell進行連接

      UINT32 ShellStdinLoop(ShellCB *shellCB) { UINT8 ch; while (1) { ch = uart_read(); ShellCmdLineParse(ch, (pf_OUTPUT)dprintf, shellCB); } return 0; }

      如果需要更改log的存儲buf需要設置下面的宏

      #define KERNEL_LOG_BUF_SIZE (8 * 1024)

      打開shelll功能宏后,LiteOS系統的宏已經可以使用,如果需要自己的進程需要使用宏,需要注冊,后面會講到。

      4、系統shell命令

      設置好,studio IDE 設置好串口號,波特率設置為115200;

      上電控制板,系統啟動后在Log出現“Huawei LiteOS #”的提示符,就可以使用shell了;

      shell有幾個常用的鍵盤特殊字符操作:

      回車鍵執行操作;

      Tab鍵可自動聯想補全,若有多個匹配項則補全共同字符,并打印多個匹配項。

      退格鍵可刪除一個字符,如果在UTF8格式下輸入了中文字符,只能通過回退三次來刪除。默認模式為英文輸入。

      方向鍵上下可選擇歷史命令。

      常見的系統命令有:help、date、uname、task、free、memcheck、memused、hwi、queue、sem、mutex、dlock、swtmr、systeminfo、log、dmesg、stack、cpup、watch ;使用和Linux的shell比較相似,需要可以查詢幫助。

      5、自己的task如何注冊到shell中

      定義Shell命令需要處理的任務

      int osShellCmdXX(int argc, const char **argv);

      argc:Shell命令的參數個數。個數中是否包括命令關鍵字,和注冊命令時的命令類型有關。

      argv:為指針數組,每個元素指向一個字符串,該字符串就是執行shell命令時傳入命令處理函數的參數。參數中是否包括命令關鍵字,和注冊命令時的命令類型有關。

      注冊到shell命令:分為靜態注冊和動態注冊,建議使用動態注冊

      靜態注冊XX命令到shell:

      #include "shcmd.h" SHELLCMD_ENTRY(XX_shellcmd, CMD_TYPE_EX, "XX", XARGS, (CMD_CBK_FUNC)osShellCmdXX);

      動態注冊XX命令到shell:

      #include "shell.h" osCmdReg(CMD_TYPE_EX, "XX", XARGS, (CMD_CBK_FUNC)osShellCmdXX);

      注冊好后,就可以在串口交互中使用XX命令,執行osshellXX函數的功能。

      6、總結,善于使用shell是方便LiteOS找bug的很好地一個方法,把自己需要用的tsak在需要時時候打開,然后并且查詢系統和進程中信息。

      Shell 單片機 輕量級操作系統 LiteOS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何讓眾多的制造業企業接受工業互聯網
      下一篇:文本框內沒有輸入內容時,點擊其他地方文本框消失(文本框提示文字點擊就消失)
      相關文章
      亚洲熟妇av一区二区三区漫画| 亚洲人成77777在线播放网站不卡| 亚洲一区二区三区成人网站| 在线亚洲人成电影网站色www| 亚洲精品国产自在久久| 亚洲乱亚洲乱妇无码| 亚洲av午夜国产精品无码中文字| 亚洲人成网站18禁止| 亚洲熟女综合色一区二区三区| 国产亚洲精品影视在线| 亚洲中文字幕无码久久2020 | 亚洲精品无码少妇30P| 亚洲中文字幕无码爆乳| 亚洲精品无码专区久久| 亚洲精品无码久久久久久| 亚洲AV综合永久无码精品天堂| 337p日本欧洲亚洲大胆人人 | 亚洲а∨天堂久久精品| 亚洲男人天堂2020| 久久久久国产成人精品亚洲午夜| 亚洲中文久久精品无码| 亚洲成av人片在线观看无码不卡| 亚洲成在人天堂一区二区| 亚洲视频在线观看网址| 亚洲另类自拍丝袜第1页| 自拍日韩亚洲一区在线| 亚洲av第一网站久章草| 亚洲国产精品成人久久蜜臀 | 亚洲伊人久久精品影院| 亚洲av网址在线观看| 亚洲欧洲日韩在线电影| 亚洲人成www在线播放| 最新亚洲人成无码网www电影| 亚洲国产精品成人AV无码久久综合影院 | 豆国产96在线|亚洲| 国产亚洲人成A在线V网站| 亚洲av无码成h人动漫无遮挡| 亚洲精品国产肉丝袜久久| 午夜在线a亚洲v天堂网2019| 国产亚洲精品第一综合| 曰韩亚洲av人人夜夜澡人人爽 |