因为它是多线程的,所以您可以拥有一个交互式外壳,因此您可以输入命令,直接在设备上调用函数以获取所需的信息或控制程序的行为。如果您仅习惯于<em>Linux</em>或BSD等现代操作系统,这对您来说似乎很普通。FinSH有两种模式
2021-05-29 21:00:07
RT-Thread是用於對物聯網(IoT)裝置進行程式設計的開源實時作業系統。 FinSH是RT-Thread的命令列元件,它提供了一組操作介面,使使用者可以從命令列聯絡裝置。主要用於偵錯或檢視系統資訊。
通常,使用硬體偵錯程式和printf日誌顯示開發偵錯資訊。然而,在某些情況下,這兩種方法不是很有用,並且很難解析。但是,RT-Thread是一個多執行緒系統,當您想了解正在運行的執行緒的狀態或手動控制系統的當前狀態時,這很有用。因為它是多執行緒的,所以您可以擁有一個互動式外殼,因此您可以輸入命令,直接在裝置上呼叫函數以獲取所需的資訊或控制程式的行為。如果您僅習慣於Linux或BSD等現代作業系統,這對您來說似乎很普通。
FinSH有兩種模式:
一種C語言直譯器模式,稱為c-style
傳統的命令列模式,稱為msh
在C語言解釋模式下,FinSH可以解析執行大多數C語言的表示式,並使用函數呼叫訪問系統上的函數和全局變數。它還可以從命令列創建變數。
在msh模式下,FinSH的操作類似於Bash之類的傳統shell。
GNU命令
在開發FinSH時,我們瞭解到在編寫命令列應用程式之前,您需要熟悉GNU命令列標準。這種標準實踐框架有助於使介面變得更直觀,從而使開發人員在使用該介面時感到舒適。
完整的GNU命令包括四個主要部分:
命令名稱(可執行):命令列程式的名稱
子命令:命令程式的子函數名
選項:子命令功能的配置選項
Arguments:子命令函數的配置選項對應的參數
可執行命令是systemctl,子命令是enable,選項是--now,自變數是firewalld。
想象一下,您想使用 RT-Thread 編寫一個符合 GNU 標準的命令列程式。 FinSH 擁有您需要的一切,並將按預期運行您的程式碼。更重要的是,您可以依賴這種合規性,以便您可以自信地移植您喜歡的 Linux 程式。
選項種類
選項有很多種,按長度可以分為兩個主要類別:
短選項:由一個連字元加一個字母組成,例如 pkgs -h 中的 -h 選項
長選項:由兩個連字元加單詞或字母組成,例如scons中的--target選項---target-mdk5
您可以將這些選項分為三類,具體取決於它們是否具有參數:
無參數:選項後不能有參數
必須包含參數:選項後必須跟參數
可選參數:允許但不要求選項後的參數
正如您對大多數Linux命令所期望的那樣,FinSH選項解析非常靈活。它可以基於空格或等號作為分隔符來區分選項和參數,或者僅通過提取選項本身並假設後面的內容是參數(換句話說,根本沒有分隔符):
wavplay -v 50
wavplay --vol=50
Using optparse
如果您曾經編寫過命令列應用程式,則可能會知道通常有一個庫或模組供您選擇的語言稱為optparse。它提供給程式設計師,以便可以相對於命令的其餘部分來解析作為命令的一部分輸入的選項(例如-v或--verbose)。它可以幫助您的程式碼瞭解子命令或自變數中的選項。
程式設計硬體似乎令人生畏,但對於物聯網來說,它變得越來越普遍。並非所有內容都可以或應該在Raspberry Pi上運行,但是藉助FinSH,藉助RT-Thread,您可以保持熟悉的Linux感覺。
好了,本文到此結束。如果對程式設計、計算機、程式設計師方面感興趣的話,歡迎私信聯絡我,隨時交流!點個關注,是對我莫大的鼓勵!
相關文章
因为它是多线程的,所以您可以拥有一个交互式外壳,因此您可以输入命令,直接在设备上调用函数以获取所需的信息或控制程序的行为。如果您仅习惯于<em>Linux</em>或BSD等现代操作系统,这对您来说似乎很普通。FinSH有两种模式
2021-05-29 21:00:07
“设置第一段首字下沉X(数据)行据正文X(数据)” 操作步骤: 1.选中需要首字下沉的段落 2.插入选项卡 3.文本功能组 4.首字下沉 5.首字下沉选项 动画演示如下 超链接 考试场景: “添加超链接XXX” 操作步骤: 1.选中需要
2021-05-29 20:30:06
台积电官方称将在老美建造5纳米半导体工厂,而老美同样在本月中旬突然宣布成立“半导联盟”,其中包括有苹果,<em>高通</em>这样的本土公司,还有包括ASML、ARM、台积电这样的国外科技巨头。在当下持续对华为,或者说中国半导
2021-05-29 20:00:52
确实,诸如APP安装、通话等功能都是目前的低价智能手环无法提供的,但是目前的<em>安卓</em>智能手表在功能体验上依然不完善,在使用时有着不少的槽点。这些功能本身与手机高度重叠,而大多数人都有手机不离手的习惯,以至于智
2021-05-29 20:00:42
一直以来,<em>安卓</em>手机因为性能不如苹果手机,所以在口碑方面,华米OV旗舰始终是略逊iPhone。但<em>安卓</em>手机性能是否落后苹果手机,其实并非由手机厂商所决定。手机芯片供应商高通的芯片研发能力不如苹果,才是<em>
2021-05-29 20:00:23
本身魅族市场占有率就低,这次的安卓12又没有用上,和<em>高通</em>关系也不是太好,虽然不太会被制裁。魅族一直想走高端路线,加上鸿蒙的加持,能让不少人对其印象倍增好感。你对魅族接入鸿蒙系统有什么看法呢,可以在评论区评
2021-05-29 19:31:29