色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

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

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

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

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

Linux的前提是所有內(nèi)容都是文件,并且GPIO引腳也不例外。PocketBeagle的每個可用輸入和輸出都以這種方式處理,可以在/ sys / class / gpio目錄中找到。當(dāng)您使用Python之類的語言進行工作時,除了將其設(shè)置為高輸出還是低輸出之外,還可以將每個單獨的GPIO設(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段顯示器或加速度計之類的I 2 C設(shè)備連接到嵌入式板的I 2 C總線時,至關(guān)重要的是要確保沒有其他設(shè)備正在使用該總線上的地址。通常,一個SBC配備有多個I 2 C總線。通常,某些內(nèi)部板外圍設(shè)備可以連接到一個,而另一兩個可以用于用戶應(yīng)用。i2cdetect實用程序可以掃描指定的總線并返回找到的設(shè)備的結(jié)果。-l選項提供有關(guān)可用的I 2 C總線數(shù)量的信息,而i2cdetect –r 0 <ret>命令提供了在總線0上發(fā)現(xiàn)的設(shè)備的列表。在圖4所示的示例中,在以下位置找到了兩個設(shè)備:地址24h和50h。
采用支持Linux使用的SBC會增加許多功能,并通過使用開源工具和軟件來幫助簡化開發(fā)過程。嵌入式開發(fā)人員將欣賞實用程序命令輕松完成集成外圍設(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 –查找特定文件或目錄的存儲位置

 

其他有用的實用程序命令

 

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

 

du –文件的完整目錄

 

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

 

df | 更多<ret>

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

 

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

 

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

 

命令級界面

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

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

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

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

Linux的前提是所有內(nèi)容都是文件,并且GPIO引腳也不例外。PocketBeagle的每個可用輸入和輸出都以這種方式處理,可以在/ sys / class / gpio目錄中找到。當(dāng)您使用Python之類的語言進行工作時,除了將其設(shè)置為高輸出還是低輸出之外,還可以將每個單獨的GPIO設(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段顯示器或加速度計之類的I 2 C設(shè)備連接到嵌入式板的I 2 C總線時,至關(guān)重要的是要確保沒有其他設(shè)備正在使用該總線上的地址。通常,一個SBC配備有多個I 2 C總線。通常,某些內(nèi)部板外圍設(shè)備可以連接到一個,而另一兩個可以用于用戶應(yīng)用。i2cdetect實用程序可以掃描指定的總線并返回找到的設(shè)備的結(jié)果。-l選項提供有關(guān)可用的I 2 C總線數(shù)量的信息,而i2cdetect –r 0 <ret>命令提供了在總線0上發(fā)現(xiàn)的設(shè)備的列表。在圖4所示的示例中,在以下位置找到了兩個設(shè)備:地址24h和50h。

采用支持Linux使用的SBC會增加許多功能,并通過使用開源工具和軟件來幫助簡化開發(fā)過程。嵌入式開發(fā)人員將欣賞實用程序命令輕松完成集成外圍設(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 –查找特定文件或目錄的存儲位置

 

其他有用的實用程序命令

 

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

 

du –文件的完整目錄

 

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

 

df | 更多<ret>

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

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

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

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 91在线观看免费观看| 欧美在线免费视频| 欧美亚洲另类制服自拍| 亚洲一区二区中文字幕| 久久久999国产| 日本在线精品视频| 国产亚洲欧美日韩美女| 欧美黄色www| 亚洲国模精品私拍| 欧美日韩亚洲一区二区| 91久久久久久久久久久久久| 大胆人体色综合| 国产主播精品在线| 久久国产精品视频| 成人免费看吃奶视频网站| 久久99热精品| 亚洲国产精品成人av| 欧美激情日韩图片| 精品亚洲男同gayvideo网站| 高清欧美电影在线| 亚洲无线码在线一区观看| 2019亚洲男人天堂| 中文欧美在线视频| 欧美自拍视频在线| 久久中国妇女中文字幕| 91人成网站www| 91精品国产777在线观看| 在线精品国产欧美| 成人国产在线激情| 97在线视频免费观看| 综合欧美国产视频二区| 成人性生交大片免费看小说| 日韩欧美精品网址| 一区二区在线视频| 91啪国产在线| 日韩美女免费视频| 欧美丰满少妇xxxxx| 中文字幕亚洲第一| 91免费看国产| 国产成人精品电影| 欧美高清视频在线播放|