RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

RT-Thread finsh組件工作流程詳解

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:網(wǎng)絡整理 ? 作者:工程師陳翠 ? 2018-09-23 11:04 ? 次閱讀

finsh是RT-Thread的命令行外殼(shell),提供一套供用戶在命令行的操作接口,主要用于調(diào)試、查看系統(tǒng)信息。在大部分嵌入式系統(tǒng)中,一般開發(fā)調(diào)試都使用硬件調(diào)試器和printf日志打印,在有些情況下,這兩種方式并不是那么好用。比如對于RT-Thread這個多線程系統(tǒng),我們想知道某個時刻系統(tǒng)中的線程運行狀態(tài)、手動控制系統(tǒng)狀態(tài)。如果有一個shell,就可以輸入命令,直接相應的函數(shù)執(zhí)行獲得需要的信息,或者控制程序的行為。這無疑會十分方便。

finsh支持兩種模式:

1. C語言解釋器模式, 為行文方便稱之為c-style;

2. 傳統(tǒng)命令行模式,此模式又稱為msh(module shell)。C語言表達式解釋模式下, finsh能夠解析執(zhí)行大部分C語言的表達式,并使用類似C語言的函數(shù)調(diào)用方式訪問系統(tǒng)中的函數(shù)及全局變量,此外它也能夠通過命令行方式創(chuàng)建變量。在msh模式下,finsh運行方式類似于dos/bash等傳統(tǒng)shell。

大致工作流程

一、finsh組件初始化函數(shù)finsh_system_init(),并且添加了INIT_COMPONENT_EXPORT(finsh_system_init),支持組件初始化;

這個函數(shù)會初始化finsh組件,包括一些finsh變量以及相關數(shù)據(jù)結構。

然后它會創(chuàng)建一個線程,代碼如下:

可以看到,線程函數(shù)是finsh_thread_entry,在下一節(jié)中我們將分析它具體工作流程。

二、void finsh_set_device(const char* device_name)函數(shù)為finsh設置終端設備,在stm32中主要設置串口設備為終端。該函數(shù)一般放在組件初始化函數(shù)rt_component_init()后面,因為要先完成finsh組件初始化才能設置終端設備。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式系統(tǒng)

    關注

    41

    文章

    3587

    瀏覽量

    129435
  • 組件
    +關注

    關注

    1

    文章

    512

    瀏覽量

    17813

原文標題:RT-Thread finsh組件工作流程

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RT-Thread記錄(二、RT-Thread內(nèi)核啟動流程

    在前面我們RT-Thread Studio工程基礎之上講一講RT-Thread內(nèi)核啟動流程.
    的頭像 發(fā)表于 06-20 00:30 ?5027次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(二、<b class='flag-5'>RT-Thread</b>內(nèi)核啟動<b class='flag-5'>流程</b>)

    RT-Thread學習筆記和finsh shell配置方法

    RT-Thread finsh 同時支持:c-style 模式與msh 模式,但是默認進入c-style模式,執(zhí)行[ msh() ]即可切換到msh 模式。在msh 模式下執(zhí)行[ exit ]后即
    發(fā)表于 02-12 00:01

    RT-Thread Studio 上使用 RT-Thread Nano

    _hw_console_output() ,默認可以進行打印。打開串口終端,可以發(fā)現(xiàn)在終端中執(zhí)行了打印。基于 Nano 添加 FinSH雙擊 RT-Thread Settings 進入配置,打開組件,勾選
    發(fā)表于 05-18 15:59

    【每日一練】RT-Thread Nano-Finsh組件支持(第四節(jié)學習視頻)

    Nano-啟動運行流程分析(第二節(jié)學習視頻)【每日一練】RT-Thread Nano-rt_kprintf支持(第三節(jié)視頻學習)
    發(fā)表于 05-20 09:52

    RT-Thread FinSH 控制臺

    ?n?]。讀完本章,我們會對 FinSH工作方式以及如何導出自己的命令到 FinSH 有更加深入的了解。FinSH 簡介FinSH
    發(fā)表于 05-20 18:10

    rt-thread studio如何配置finsh組件?

    為什么rt-thread studio沒有配置finsh組件的?
    發(fā)表于 03-28 14:21

    RT-ThreadFinSH命令行組件原理是什么

    1、FinSH組件介紹FinSHRT-Thread 的命令行組件,提供一套供用戶在命令行調(diào)用的操作接口,主要用于調(diào)試或查看系統(tǒng)信息。它
    發(fā)表于 04-26 16:00

    RT-Thread FinSH命令行組件導出自定義msh命令

    1、RT-Thread FinSH控制臺添加自定義msh命令原理FinSHRT-Thread 的命令行組件,提供一套供用戶在命令行調(diào)用
    發(fā)表于 05-27 16:08

    HC32F460移植RT-Thread Nano+FinSh工程源碼下載

    HC32F460移植RT-Thread Nano+FinSh工程源碼下載
    發(fā)表于 01-05 10:30 ?6次下載

    RT-Thread 應用筆記 - RTC Alarm 組件的使用

    RT-Thread 應用筆記 - 不正確使用LOG也會引發(fā)hard faultRT-Thread 應用筆記 - RTC Alarm 組件的使用RT-Thread 應用筆記 - free
    發(fā)表于 01-25 18:18 ?10次下載
    <b class='flag-5'>RT-Thread</b> 應用筆記 - RTC Alarm <b class='flag-5'>組件</b>的使用

    RT-Thread全球技術大會:Kconfig在RT-Thread中的工作機制

    RT-Thread全球技術大會:Kconfig在RT-Thread中的工作機制 ? ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:49 ?1535次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術大會:Kconfig在<b class='flag-5'>RT-Thread</b>中的<b class='flag-5'>工作</b>機制

    RT-Thread全球技術大會:如何使用組件以及自動初始化流程

    RT-Thread全球技術大會:如何使用組件和自動初始化流程 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 15:16 ?932次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術大會:如何使用<b class='flag-5'>組件</b>以及自動初始化<b class='flag-5'>流程</b>

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    RT-Thread文檔_FinSH 控制臺

    RT-Thread文檔_FinSH 控制臺
    發(fā)表于 02-22 18:41 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>FinSH</b> 控制臺

    RT-Thread文檔_FAL 組件

    RT-Thread文檔_FAL 組件
    發(fā)表于 02-22 18:41 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_FAL <b class='flag-5'>組件</b>
    RM新时代网站-首页