国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 行業(yè)百科 > 簡述Linux如何應(yīng)用在嵌入式單片機(jī)上

簡述Linux如何應(yīng)用在嵌入式單片機(jī)上 時間:2020-05-06      來源:原創(chuàng)

大多數(shù)功能更強(qiáng)大的緊湊型單片機(jī)(SBC)都運(yùn)行一種流行的Linux發(fā)行版,專門用于這些嵌入式板。盡管沒有針對嵌入式應(yīng)用程序的特定版本的Linux內(nèi)核,但與運(yùn)行Linux的PC或臺式設(shè)備的區(qū)別通常很小。
通常比擁有大量RAM和硬盤更依賴于閃存-在某些情況下還“無頭”,即沒有HDMI或視頻輸出-嵌入式應(yīng)用程序的分發(fā)是針對可用資源而量身定制的,而不是不能夠運(yùn)行某些功能或命令。對于無頭SBC而言,與它們進(jìn)行交互的唯一方法是通過Linux命令行,因此必須具備良好的Linux基礎(chǔ)知識。同樣,在設(shè)備和外圍設(shè)備連接級別(例如,具有GPIO接口和I2C功能),需要了解許多重要的Linux資源。在本文中,我們將介紹將嵌入式SBC連接到現(xiàn)實(shí)世界時最可能使用的一些命令。假定您具有一些基本的Linux命令行技能。

在開始使用命令行界面(CLI)之前,讓我們回顧一下使用Linux的一些好處。Linux可以運(yùn)行在從具有嵌入式微控制器的緊湊型SBC到多核數(shù)據(jù)中心服務(wù)器等各種設(shè)備上,它是一種極其高效且可擴(kuò)展的操作系統(tǒng)(OS)。正如我們將在本文中發(fā)現(xiàn)的那樣,您的SBC上可以使用大量的開源程序。我們將在本文中介紹其中一些,但還有數(shù)百個。將OS用于嵌入式設(shè)計(jì)的一個方面是,它并不特別適合某些實(shí)時應(yīng)用程序的延遲和確定性要求。就是說,有許多行業(yè)的發(fā)展旨在提供基于搶占式的硬實(shí)時Linux OS。實(shí)質(zhì)上,這樣可以根據(jù)需要中斷OS,以滿足實(shí)時需求。而且,由于Linux是開源操作系統(tǒng),因此它已獲得GNU通用公共許可證(GPL)的許可,并且可以免費(fèi)使用和修改。在這種情況下,社區(qū)對OS的支持是巨大的,因?yàn)橛谐汕先f的Linux內(nèi)核和應(yīng)用程序開發(fā)人員參與其中。
命令級界面
對于本文中的示例,我們將使用PocketBeagle板。PocketBeagle的IP地址為192.168.6.2,默認(rèn)用戶為'debian'。在本文中,<ret>表示按回車鍵或Enter鍵。按住Ctrl鍵并按另一個鍵(在此示例中為“ D”)由Ctrl-D表示。Linux命令也有很長的選項(xiàng)列表,可以從命令行調(diào)用這些選項(xiàng)。鼓勵讀者研究這些內(nèi)容,只需鍵入命令后接--幫助(例如df)--help <ret>即可產(chǎn)生命令語法和選項(xiàng)的完整詳細(xì)信息,在此情況下,設(shè)備文件系統(tǒng)命令。
從計(jì)算機(jī)到PocketBeagle的連接取決于使用終端程序(例如PuTTY)在Microsoft Windows下運(yùn)行,還是使用Mac OS X時使用終端。
SSH(安全外殼)提供了一種遠(yuǎn)程連接到另一臺計(jì)算機(jī)的安全加密方法。連接后,您可以運(yùn)行直接在該計(jì)算機(jī)上運(yùn)行的所有命令。
最常用的命令格式是SSH user @ host <ret>。主機(jī)可以是IP地址,也可以是本地網(wǎng)絡(luò)上的主機(jī)名。可以使用Ctrl-D終止SSH會話。如果先前未與主機(jī)(在這種情況下為PocketBeagle)進(jìn)行通信,則將顯示警告消息。

Linux的前提是所有內(nèi)容都是文件,并且GPIO引腳也不例外。PocketBeagle的每個可用輸入和輸出都以這種方式處理,可以在/ sys / class / gpio目錄中找到。當(dāng)您使用Python之類的語言進(jìn)行工作時,除了將其設(shè)置為高輸出還是低輸出之外,還可以將每個單獨(dú)的GPIO設(shè)置為輸入或輸出。這可以在命令行中以相同的方式實(shí)現(xiàn)。
在此示例中,選擇了引腳gpio27,然后使用命令echo out> direction <ret>設(shè)置GPIO方向。這會將“輸出”放入文件“方向”。然后,您可以通過命令echo 1> value <ret>將引腳的輸出值設(shè)置為高電平,或者通過echo 0> value <ret>將引腳驅(qū)動為低電平。使用PocketBeagle,您可以通過以相同的方式打開和關(guān)閉USR LED,將“亮度”值從0更改為1來打開LED,從而獲得一些樂趣。
在將7段顯示器或加速度計(jì)之類的I 2 C設(shè)備連接到嵌入式板的I 2 C總線時,至關(guān)重要的是要確保沒有其他設(shè)備正在使用該總線上的地址。通常,一個SBC配備有多個I 2 C總線。通常,某些內(nèi)部板外圍設(shè)備可以連接到一個,而另一兩個可以用于用戶應(yīng)用。i2cdetect實(shí)用程序可以掃描指定的總線并返回找到的設(shè)備的結(jié)果。-l選項(xiàng)提供有關(guān)可用的I 2 C總線數(shù)量的信息,而i2cdetect –r 0 <ret>命令提供了在總線0上發(fā)現(xiàn)的設(shè)備的列表。在圖4所示的示例中,在以下位置找到了兩個設(shè)備:地址24h和50h。
采用支持Linux使用的SBC會增加許多功能,并通過使用開源工具和軟件來幫助簡化開發(fā)過程。嵌入式開發(fā)人員將欣賞實(shí)用程序命令輕松完成集成外圍設(shè)備并實(shí)現(xiàn)跨局域網(wǎng)和與基于Web的應(yīng)用程序之間的數(shù)據(jù)連接的任務(wù)。

一些常用的文件和目錄命令

 

ls –列出文件

 

例如,ls <ret>,ls –l <ret>顯示每個文件的完整詳細(xì)信息

 

cd –更改目錄

 

例如,cd <ret>,cd .. <ret>向上移動目錄,cd /。<ret>移至根目錄,cd?/ <ret>移至主目錄,cd / node_modules <ret>

 

mkdir –新建目錄

 

例如,mkdir projectfab <ret>

 

rm –刪除文件

 

例如,rm empty.txt <ret>

 

rmdir –刪除目錄

 

例如,rmdir projectfab <ret>

 

cp –復(fù)制文件或目錄

 

例如,cp program.c projectfab / program.c <ret>將文件program.c復(fù)制到子目錄projectfab

 

mv –移動文件或目錄

 

例如,mv program.c projectfab / newprogram.c <ret>將文件program.c移至子目錄projectfab并將其重命名為newprogram.c

 

觸摸–創(chuàng)建一個空文件

 

例如,觸摸empty.txt <ret>

 

更多–查看文件內(nèi)容

 

例如,更多program.c <ret>

 

whereis –查找特定文件或目錄的存儲位置

 

其他有用的實(shí)用程序命令

 

df –提供有關(guān)計(jì)算機(jī)文件系統(tǒng)和已安裝設(shè)備的詳細(xì)信息

 

du –文件的完整目錄

 

您可以將一個命令的輸出“管道”到另一命令–例如,一次使用時,顯示完整的上述命令輸出的屏幕

 

df | 更多<ret>

大多數(shù)功能更強(qiáng)大的緊湊型單片機(jī)(SBC)都運(yùn)行一種流行的Linux發(fā)行版,專門用于這些嵌入式板。盡管沒有針對嵌入式應(yīng)用程序的特定版本的Linux內(nèi)核,但與運(yùn)行Linux的PC或臺式設(shè)備的區(qū)別通常很小。

 

通常比擁有大量RAM和硬盤更依賴于閃存-在某些情況下還“無頭”,即沒有HDMI或視頻輸出-嵌入式應(yīng)用程序的分發(fā)是針對可用資源而量身定制的,而不是不能夠運(yùn)行某些功能或命令。對于無頭SBC而言,與它們進(jìn)行交互的唯一方法是通過Linux命令行,因此必須具備良好的Linux基礎(chǔ)知識。同樣,在設(shè)備和外圍設(shè)備連接級別(例如,具有GPIO接口和I2C功能),需要了解許多重要的Linux資源。在本文中,我們將介紹將嵌入式SBC連接到現(xiàn)實(shí)世界時最可能使用的一些命令。假定您具有一些基本的Linux命令行技能。

 

在開始使用命令行界面(CLI)之前,讓我們回顧一下使用Linux的一些好處。Linux可以運(yùn)行在從具有嵌入式微控制器的緊湊型SBC到多核數(shù)據(jù)中心服務(wù)器等各種設(shè)備上,它是一種極其高效且可擴(kuò)展的操作系統(tǒng)(OS)。正如我們將在本文中發(fā)現(xiàn)的那樣,您的SBC上可以使用大量的開源程序。我們將在本文中介紹其中一些,但還有數(shù)百個。將OS用于嵌入式設(shè)計(jì)的一個方面是,它并不特別適合某些實(shí)時應(yīng)用程序的延遲和確定性要求。就是說,有許多行業(yè)的發(fā)展旨在提供基于搶占式的硬實(shí)時Linux OS。實(shí)質(zhì)上,這樣可以根據(jù)需要中斷OS,以滿足實(shí)時需求。而且,由于Linux是開源操作系統(tǒng),因此它已獲得GNU通用公共許可證(GPL)的許可,并且可以免費(fèi)使用和修改。在這種情況下,社區(qū)對OS的支持是巨大的,因?yàn)橛谐汕先f的Linux內(nèi)核和應(yīng)用程序開發(fā)人員參與其中。

 

命令級界面

對于本文中的示例,我們將使用PocketBeagle板。PocketBeagle的IP地址為192.168.6.2,默認(rèn)用戶為'debian'。在本文中,<ret>表示按回車鍵或Enter鍵。按住Ctrl鍵并按另一個鍵(在此示例中為“ D”)由Ctrl-D表示。Linux命令也有很長的選項(xiàng)列表,可以從命令行調(diào)用這些選項(xiàng)。鼓勵讀者研究這些內(nèi)容,只需鍵入命令后接--幫助(例如df)--help <ret>即可產(chǎn)生命令語法和選項(xiàng)的完整詳細(xì)信息,在此情況下,設(shè)備文件系統(tǒng)命令。

從計(jì)算機(jī)到PocketBeagle的連接取決于使用終端程序(例如PuTTY)在Microsoft Windows下運(yùn)行,還是使用Mac OS X時使用終端。

SSH(安全外殼)提供了一種遠(yuǎn)程連接到另一臺計(jì)算機(jī)的安全加密方法。連接后,您可以運(yùn)行直接在該計(jì)算機(jī)上運(yùn)行的所有命令。

最常用的命令格式是SSH user @ host <ret>。主機(jī)可以是IP地址,也可以是本地網(wǎng)絡(luò)上的主機(jī)名(在圖1的示例中)?梢允褂肅trl-D終止SSH會話。如果先前未與主機(jī)(在這種情況下為PocketBeagle)進(jìn)行通信,則將顯示警告消息。

Linux的前提是所有內(nèi)容都是文件,并且GPIO引腳也不例外。PocketBeagle的每個可用輸入和輸出都以這種方式處理,可以在/ sys / class / gpio目錄中找到。當(dāng)您使用Python之類的語言進(jìn)行工作時,除了將其設(shè)置為高輸出還是低輸出之外,還可以將每個單獨(dú)的GPIO設(shè)置為輸入或輸出。這可以在命令行中以相同的方式實(shí)現(xiàn)。

在此示例中,選擇了引腳gpio27,然后使用命令echo out> direction <ret>設(shè)置GPIO方向。這會將“輸出”放入文件“方向”。然后,您可以通過命令echo 1> value <ret>將引腳的輸出值設(shè)置為高電平,或者通過echo 0> value <ret>將引腳驅(qū)動為低電平。使用PocketBeagle,您可以通過以相同的方式打開和關(guān)閉USR LED,將“亮度”值從0更改為1來打開LED,從而獲得一些樂趣。該圖顯示了USR3 LED。

 

在將7段顯示器或加速度計(jì)之類的I 2 C設(shè)備連接到嵌入式板的I 2 C總線時,至關(guān)重要的是要確保沒有其他設(shè)備正在使用該總線上的地址。通常,一個SBC配備有多個I 2 C總線。通常,某些內(nèi)部板外圍設(shè)備可以連接到一個,而另一兩個可以用于用戶應(yīng)用。i2cdetect實(shí)用程序可以掃描指定的總線并返回找到的設(shè)備的結(jié)果。-l選項(xiàng)提供有關(guān)可用的I 2 C總線數(shù)量的信息,而i2cdetect –r 0 <ret>命令提供了在總線0上發(fā)現(xiàn)的設(shè)備的列表。在圖4所示的示例中,在以下位置找到了兩個設(shè)備:地址24h和50h。

采用支持Linux使用的SBC會增加許多功能,并通過使用開源工具和軟件來幫助簡化開發(fā)過程。嵌入式開發(fā)人員將欣賞實(shí)用程序命令輕松完成集成外圍設(shè)備并實(shí)現(xiàn)跨局域網(wǎng)和與基于Web的應(yīng)用程序之間的數(shù)據(jù)連接的任務(wù)。

一些常用的文件和目錄命令

 

ls –列出文件

 

例如,ls <ret>,ls –l <ret>顯示每個文件的完整詳細(xì)信息

 

cd –更改目錄

 

例如,cd <ret>,cd .. <ret>向上移動目錄,cd /。<ret>移至根目錄,cd?/ <ret>移至主目錄,cd / node_modules <ret>

 

mkdir –新建目錄

 

例如,mkdir projectfab <ret>

 

rm –刪除文件

 

例如,rm empty.txt <ret>

 

rmdir –刪除目錄

 

例如,rmdir projectfab <ret>

 

cp –復(fù)制文件或目錄

 

例如,cp program.c projectfab / program.c <ret>將文件program.c復(fù)制到子目錄projectfab

 

mv –移動文件或目錄

 

例如,mv program.c projectfab / newprogram.c <ret>將文件program.c移至子目錄projectfab并將其重命名為newprogram.c

 

觸摸–創(chuàng)建一個空文件

 

例如,觸摸empty.txt <ret>

 

更多–查看文件內(nèi)容

 

例如,更多program.c <ret>

 

whereis –查找特定文件或目錄的存儲位置

 

其他有用的實(shí)用程序命令

 

df –提供有關(guān)計(jì)算機(jī)文件系統(tǒng)和已安裝設(shè)備的詳細(xì)信息

 

du –文件的完整目錄

 

您可以將一個命令的輸出“管道”到另一命令–例如,一次使用時,顯示完整的上述命令輸出的屏幕

 

df | 更多<ret>

上一篇:在版本控制中嵌入式軟件工程師需要了解什么

下一篇:促使你學(xué)習(xí)嵌入式系統(tǒng)編程的動力有哪些

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號-5,京公海網(wǎng)安備11010802025203號

回到頂部