物聯(lián)網(wǎng)系列專業(yè)課程:物聯(lián)網(wǎng)網(wǎng)關(guān)操作系統(tǒng)_第1頁
物聯(lián)網(wǎng)系列專業(yè)課程:物聯(lián)網(wǎng)網(wǎng)關(guān)操作系統(tǒng)_第2頁
物聯(lián)網(wǎng)系列專業(yè)課程:物聯(lián)網(wǎng)網(wǎng)關(guān)操作系統(tǒng)_第3頁
物聯(lián)網(wǎng)系列專業(yè)課程:物聯(lián)網(wǎng)網(wǎng)關(guān)操作系統(tǒng)_第4頁
物聯(lián)網(wǎng)系列專業(yè)課程:物聯(lián)網(wǎng)網(wǎng)關(guān)操作系統(tǒng)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

物聯(lián)網(wǎng)網(wǎng)關(guān)操作系統(tǒng),中智訊(武漢)科技有限公司,Linux操作系統(tǒng)概述Linux常用軟件工具嵌入式Linux系統(tǒng)開發(fā)網(wǎng)關(guān)鏡像更新與使用Linux程序開發(fā)與編譯Linux基礎(chǔ)應(yīng)用實驗,嵌入式與操作系統(tǒng),為什么需要操作系統(tǒng)?早期的8位/16位系統(tǒng)中大多沒有操作系統(tǒng);進(jìn)入32位時代:系統(tǒng)中的軟件越來越復(fù)雜,完全駕馭的能力不夠;維護(hù)成本太高、系統(tǒng)升級困難。使用嵌入式操作系統(tǒng):穩(wěn)定性好、性能高、功能完善,遵循標(biāo)準(zhǔn),便于移植、升級嵌入式操作系統(tǒng)的特點:提供內(nèi)核管理多任務(wù)管理外圍資源管理要更穩(wěn)定可裁剪、可配置實時性需求針對應(yīng)用的優(yōu)化與功能增強,常見的嵌入式操作系統(tǒng),uC/OS-II操作系統(tǒng)(類似的有Contiki、freeRTOS):簡單高效、免費、支持64個任務(wù)、支持多種CPU、無設(shè)備驅(qū)動程序、缺乏足夠的應(yīng)用模塊;Linux操作系統(tǒng):類似UNIX;免費;源代碼開放;符合POSIX標(biāo)準(zhǔn);支持TCP/IP;支持絕大多數(shù)32位和64位CPU;搶先式多任務(wù)處理;內(nèi)存保護(hù);虛擬內(nèi)存等;WinCE/WindowsPhone/Windows10IoT操作系統(tǒng):Microsoft出品、需購買許可、支持多線程、有優(yōu)先級、虛擬內(nèi)存、提供類似PC機的操作系統(tǒng)界面;VxWorks操作系統(tǒng):收費價格昂貴;通常只提供二進(jìn)制碼內(nèi)核;支持多種CPU;完整的開發(fā)工具和測試工具;完備的設(shè)備驅(qū)動和應(yīng)用模塊;支持POSIX標(biāo)準(zhǔn);性能好,功能齊全;Andriod操作系統(tǒng):Google與開放手機聯(lián)盟合作開發(fā)的基于Linux平臺的開源手機操作系統(tǒng);MacOSX操作系統(tǒng);KeilRTX;,Linux操作系統(tǒng),1969年,Bell實驗室,發(fā)明UNIX;1991年,芬蘭LinusTorvalds,設(shè)計了Linux。最初設(shè)計為桌面系統(tǒng),現(xiàn)廣泛應(yīng)用于服務(wù)器。Linux的特點:支持多種體系結(jié)構(gòu),支持大量外設(shè),網(wǎng)絡(luò)功能完善開放源代碼,軟件資源豐富,內(nèi)核穩(wěn)定而高效,大小及功能均可定制。滿足嵌入式操作系統(tǒng)的要求,目前在嵌入式領(lǐng)域高速發(fā)展,催生了一些嵌入式Linux,如uClinux、RTLinux,知識延伸:GNU、自由軟件,常見Linux發(fā)行版,Ubuntu:目前最流行的Linux發(fā)行版,每半年發(fā)行一個新版本,安裝簡單,操作界面友好RedHat9.0:老牌Linux發(fā)行版,早期嵌入式開發(fā)常用環(huán)境,驅(qū)動支持比較老,安裝復(fù)雜Fedora:RedHat后續(xù)社區(qū)版本,測試新功能,更新較快Centos:社區(qū)企業(yè)操作系統(tǒng),基于RedHat商業(yè)版的源碼編譯而成,免費,嵌入式操作系統(tǒng)應(yīng)用場景,嵌入式Linux系統(tǒng)組成,一個基于linux的完整的嵌入式系統(tǒng)由三個部分組成:系統(tǒng)引導(dǎo)程序、linux操作系統(tǒng)內(nèi)核和文件系統(tǒng)。系統(tǒng)引導(dǎo)程序通常稱作BootLoader,平臺上執(zhí)行的第一段代碼,常見的有uboot、vivi、blob、redboot等。Kernel即又Linux內(nèi)核源碼進(jìn)行定制裁剪交叉編譯生成,一般比較小。文件系統(tǒng)主要存儲用戶應(yīng)用程序,同時包括系統(tǒng)配置文件、系統(tǒng)程序和必需的驅(qū)動程序,根據(jù)用戶所加入應(yīng)用程序的大小,文件系統(tǒng)所占空間也存在比較大的差異。采用分區(qū)存放。,Linux內(nèi)核結(jié)構(gòu)示意圖,嵌入式Linux開發(fā)模型,嵌入式Linux開發(fā)在宿主機上進(jìn)行:,標(biāo)準(zhǔn)Linux,虛擬機+標(biāo)準(zhǔn)Linux,Linux模擬環(huán)境,Linux環(huán)境下GNU工具(編譯、鏈接),安裝環(huán)境,安裝工具,在虛擬機安裝嵌入式Linux操作系統(tǒng),1.系統(tǒng)CPU要支持虛擬化2.在BIOS中開啟VT-x或者AMD-V3.電腦系統(tǒng)建議Win764位以上,內(nèi)存4G及以上,安裝說明,Linux操作系統(tǒng)概述Linux常用軟件工具嵌入式Linux系統(tǒng)開發(fā)網(wǎng)關(guān)鏡像更新與使用Linux程序開發(fā)與編譯Linux基礎(chǔ)應(yīng)用實驗,熟悉Linux環(huán)境下基本操作,通過VirtualBox安裝完ZEmbeOS,需要先了解開發(fā)中常用的一些工具及部分軟件的配置:任務(wù)欄文件瀏覽器常用軟件:終端、文本編輯器中文輸入法,網(wǎng)絡(luò)設(shè)置(虛擬機),設(shè)置虛擬機網(wǎng)絡(luò):,選擇橋接網(wǎng)卡,界面名稱選擇本地的網(wǎng)卡設(shè)備,網(wǎng)絡(luò)設(shè)置(ubuntu),網(wǎng)絡(luò)設(shè)置:右鍵單擊Ubuntu任務(wù)欄的網(wǎng)絡(luò)狀態(tài)圖標(biāo),選擇“編輯連接”;彈出網(wǎng)絡(luò)連接界面,在“有線”選項卡內(nèi)選擇“編輯”按鈕開始設(shè)置網(wǎng)絡(luò)IP等參數(shù);點擊應(yīng)用,保存網(wǎng)絡(luò)設(shè)置退出。,設(shè)置靜態(tài)IP地址,網(wǎng)絡(luò)設(shè)置(ubuntu),網(wǎng)絡(luò)設(shè)置:在Ubuntu中單擊菜單應(yīng)用程序-附件-終端打開終端,在終端命令行輸入命令可以查看到網(wǎng)卡的信息。,ubuntuubuntu-laptop:$ifconfigeth1Linkencap:以太網(wǎng)硬件地址08:00:27:b4:0c:9cinet地址:05廣播:55掩碼:inet6地址:fe80:a00:27ff:feb4:c9c/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500躍點數(shù):1接收數(shù)據(jù)包:557錯誤:0丟棄:0過載:0幀數(shù):0發(fā)送數(shù)據(jù)包:254錯誤:0丟棄:0過載:0載波:0碰撞:0發(fā)送隊列長度:1000接收字節(jié):57350(57.3KB)發(fā)送字節(jié):38186(38.1KB)loLinkencap:本地環(huán)回inet地址:掩碼:inet6地址:1/128Scope:HostUPLOOPBACKRUNNINGMTU:16436躍點數(shù):1接收數(shù)據(jù)包:120錯誤:0丟棄:0過載:0幀數(shù):0發(fā)送數(shù)據(jù)包:120錯誤:0丟棄:0過載:0載波:0碰撞:0發(fā)送隊列長度:0接收字節(jié):10012(10.0KB)發(fā)送字節(jié):10012(10.0KB),網(wǎng)絡(luò)設(shè)置-視頻,$sudomount-tvboxsfshare/opt/share/共享文件夾映射$sudoumount/opt/share/共享文件夾釋放,虛擬機文件共享,在windows下面共享虛擬機下的內(nèi)容,把Linux下的內(nèi)容可以在windows下直接訪問,在終端上面使用如下的命令進(jìn)行操作:,文件共享不支持中文名稱文件,特殊說明,虛擬機文件共享-視頻,Linux常用命令,Linux的系統(tǒng)管理主要在控制終端下進(jìn)行,通過使用命令行的方式進(jìn)行管理;Linux的命令(也包括文件名等等)對大小寫是敏感的;help提供內(nèi)部命令的幫助;擅用Tab鍵;參考資料:Linux常用命令大全.CHM。,終端命令的使用,查詢當(dāng)前目錄文件列表:ls,ls/顯示/.下的所有文件和目錄;ls-l給出文件或者文件夾的詳細(xì)信息;ls-a顯示所有文件,包括隱藏文件;例如:$ls-lmnt“查看mnt目錄的詳細(xì)內(nèi)容”總用量0drwxrwxrwx1rootroot02012-06-0509:32share,建立一個目錄:mkdir,$mkdirpackage“創(chuàng)建package文件夾”,刪除文件/目錄:rm,rm-optionstarget-f即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認(rèn)。-r將目錄及以下之檔案亦逐一刪除。$rm-rfmnt“刪除mnt文件夾下所有內(nèi)容”,終端命令的使用,訪問權(quán)限:chmod,chmod-cfvRabcfile-c:若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作-f:若該檔案權(quán)限無法被更改也不要顯示錯誤訊息-v:顯示權(quán)限變更的詳細(xì)資料-R:對目前目錄下的所有檔案與子目錄進(jìn)行相同的權(quán)限變更(即以遞回的方式逐個變更)其中a,b,c各為一個數(shù)字,分別表示User、Group、及Other的權(quán)限,r=4,w=2,x=1:若要rwx屬性則4+2+1=7;若要rw-屬性則4+2=6;若要r-x屬性則4+1=5。例如:$chmod777package”修改package的權(quán)限為所有用戶可讀、可寫、可執(zhí)行”,進(jìn)入文件夾:cd,$cdpackage”進(jìn)入package所在目錄”,終端命令的使用,壓縮解壓:tar,tar-optionsfile-Cdir將file文件解壓縮/將dir目錄壓縮成file-c壓縮文件-f指定壓縮/解壓縮文件-v顯示壓縮/解壓縮過程-z壓縮/解壓縮.tgz格式文件-j壓縮/解壓縮.tar.bz2格式文件-C指定解壓縮路徑例如:$tarxvzfkernel.tar.gz“解壓縮.tar.gz文件包”,加載/卸載一個硬件設(shè)備:mount/umount,$mount-tvfat/dev/ub/a/part1/media“將part1掛載在/media下”$umount/media“卸載/media文件夾”,終端命令的使用,網(wǎng)絡(luò)命令:ifconfig,ifconfig網(wǎng)絡(luò)設(shè)備參數(shù)如:$ifconfigeth00“配置eth0的ip地址”$ifconfigeth10netmask“配置eth1的ip地址”,網(wǎng)絡(luò)命令:ping,$ping“測試本機和是否能夠連接通”,網(wǎng)絡(luò)文件傳輸命令:tftp,tftp-g05-r服務(wù)端文件l本地文件$tftp-g05-rhello-l./hello“將服務(wù)器tftp目錄下的hello文件下載到本地”,Linux操作系統(tǒng)概述Linux常用軟件工具嵌入式Linux系統(tǒng)開發(fā)網(wǎng)關(guān)鏡像更新與使用Linux程序開發(fā)與編譯Linux基礎(chǔ)應(yīng)用實驗,嵌入式Linux系統(tǒng)組成,一個基于linux的完整的嵌入式系統(tǒng)由三個部分組成:系統(tǒng)引導(dǎo)程序、linux操作系統(tǒng)內(nèi)核和文件系統(tǒng)。,Android文件系統(tǒng),QT文件系統(tǒng),基本文件系統(tǒng),嵌入式Linux開發(fā)步驟,一般嵌入式系統(tǒng)開發(fā)包含以下步驟:準(zhǔn)備Linux宿主機環(huán)境,安裝必備的嵌入式開發(fā)工具及軟件依賴包部署交叉編譯環(huán)境,設(shè)置工作路徑BootLoader移植:裁剪、驅(qū)動、調(diào)試Linux內(nèi)核移植:裁剪、調(diào)試最小文件系統(tǒng)制作Linux驅(qū)動開發(fā):針對外設(shè)進(jìn)行驅(qū)動移植、調(diào)試Linux應(yīng)用程序開發(fā):針對無圖形的系統(tǒng),開發(fā)必要的應(yīng)用Linux圖形系統(tǒng)移植及程序開發(fā):QT、Android硬件Hal層驅(qū)動開發(fā)(Android)打包發(fā)布集成的系統(tǒng)鏡像,培訓(xùn)Linux實驗源碼介紹,應(yīng)用程序,應(yīng)用編譯器,內(nèi)核編譯器,Linux源碼,uboot源碼,uImage,ubootpak.bin,rootfs.img,通過busybox工具包制作,s5p4418-linux.tgz,Linux操作系統(tǒng)概述Linux常用軟件工具嵌入式Linux系統(tǒng)開發(fā)網(wǎng)關(guān)鏡像更新與使用Linux程序開發(fā)與編譯Linux基礎(chǔ)應(yīng)用實驗,培訓(xùn)實驗平臺系統(tǒng)鏡像,Uboot鏡像,內(nèi)核鏡像,內(nèi)核+基礎(chǔ)文件系統(tǒng)集合鏡像,內(nèi)核+Linux最小文件系統(tǒng)鏡像,Android文件系統(tǒng)鏡像,培訓(xùn)平臺刷機工具(Android),Uboot鏡像,內(nèi)核+基礎(chǔ)文件系統(tǒng)集合鏡像,Android文件系統(tǒng)鏡像,培訓(xùn)平臺刷機工具(Linux),Uboot鏡像,內(nèi)核+Linux最小文件系統(tǒng)鏡像,Android系統(tǒng)刷機視頻,按住VOL-按鍵不放,再同時按一下復(fù)位按鍵,直到LCD進(jìn)入到刷機狀態(tài),松開VOL-按鍵,Linux系統(tǒng)刷機視頻,按住VOL-按鍵不放,再同時按一下復(fù)位按鍵,直到LCD進(jìn)入到刷機狀態(tài),松開VOL-按鍵,Linux操作系統(tǒng)概述Linux常用軟件工具嵌入式Linux系統(tǒng)開發(fā)網(wǎng)關(guān)鏡像更新與使用Linux程序開發(fā)與編譯Linux基礎(chǔ)應(yīng)用實驗,Linux程序開發(fā),Linux下常規(guī)應(yīng)用程序開發(fā)沒有可視化的編程IDE環(huán)境,一般通過文本編輯器進(jìn)行代碼的編寫和修改程序通過在終端調(diào)用GCC編譯器進(jìn)行程序的編譯工程較大的源碼,需要通過Makefile文件進(jìn)行管理,描述源程序之間的依賴關(guān)系,并實現(xiàn)自動化的編譯工作Bash腳本是Linux下常用的批命令處理文件,往往也用于命令的批量化執(zhí)行一般開源的源碼都集成Makefile工程管理文件及ReadMe文件,指引如何進(jìn)行開發(fā),GCC&Makefile,GCC原名為GNUC語言編譯器,是一套由GNU開發(fā)的編程語言編譯器。它是一套以GPL及LGPL許可證所發(fā)行的自由軟件,也是GNU計劃的關(guān)鍵部分,亦是自由的類Unix及蘋果電腦MacOSX操作系統(tǒng)的標(biāo)準(zhǔn)編譯器,Linux下默認(rèn)的編譯器就是GCC。Makefile文件來描述源程序之間的相互關(guān)系并自動維護(hù)編譯工作,用戶只需要對已經(jīng)完成的Makefile執(zhí)行make命令就可以實現(xiàn)其對源代碼的編譯;Makefile文件需要按照某種語法進(jìn)行編寫,文件中需要說明如何編譯各個源文件并連接生成可執(zhí)行文件,并要求定義源文你的是之間的依賴關(guān)系。,GCC編譯流程,GCC的使用,gcc最基本的用法是gccoptionsfilenames,$gcc-ohellohello.c#編譯hello.c程序源碼$./hello#執(zhí)行編譯生成的hello文件,Makefile的編寫,Makefile文件是Linux下面用于解釋make命令工具的工程管理文件,它使得Linux下面眾多開源項目能夠進(jìn)行“自動化編譯”;當(dāng)在源碼工程中執(zhí)行make命令,系統(tǒng)將會自動根據(jù)工程內(nèi)的Makefile文件來進(jìn)行源碼的編譯;Makefile文件的核心規(guī)則如下:,target:prerequisitesCommand#target也就是一個目標(biāo)文件,可以是ObjectFile,也可以是執(zhí)行文件,還可以是一個標(biāo)簽(Label)。#prerequisites就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論