




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
全國高等職業(yè)院校規(guī)劃教材.精品與示范系列
李軍鋒主編邵瑛沈毓駿副主編嵌入式系統應用——仿真月球車控制系統設計電子工業(yè)出版社項目1熟悉嵌入式系統開發(fā)環(huán)境一、項目概況一、項目概況項目說明:
本項目利用嵌入式系統基本理論,構建嵌入式系統的集成開發(fā)環(huán)境,采用Linux操作系統平臺在ARM板內燒寫可執(zhí)行文件并設置開機自動運行程序實現仿真月球車的直線運行控制,包括仿真月球車前進和后退。二、知識儲備
2.1、嵌入式系統基本概念定義:根據IEEE(國際電機工程師協會)的定義,嵌入式系統是“devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants”(即“控制、監(jiān)視或者輔助機器和設備運行的裝置”之意)。表明嵌入式系統是一個軟硬件綜合體的事實。有多種不同的關于嵌入式系統(EmbeddedSystem)的定義,被業(yè)界大多數人所接受的是根據嵌入式系統的特點下的定義:“以應用為中心、以計算機技術為基礎、軟件硬件可裁剪,功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統”。二、知識儲備2.1、嵌入式系統基本概念嵌入式系統的應用嵌入式應用信息家電智能玩具軍事電子通信設備移動存貯工控設備智能儀表汽車電子網絡設備消費電子軍事國防電子商務工業(yè)控制二、知識儲備2.1、嵌入式系統基本概念嵌入式系統應用領域極為廣泛,具體例如:坦克、導彈、飛機、軍艦、雷達DVD機、電視機、微波爐、洗衣機、電冰箱、熱水器手機、MP3播放器、數碼相機、數碼攝像機、機頂盒鍵盤、鼠標、閃存盤、CD-ROM、交換機、路由器1.4嵌入式系統的應用領域二、知識儲備2.1、嵌入式系統基本概念嵌入式系統應用領域二、知識儲備2.1、嵌入式系統基本概念嵌入式系統應用領域二、知識儲備2.1、嵌入式系統基本概念嵌入式系統應用領域2.1、嵌入式系統基本概念嵌入式系統應用領域空調控制后視鏡照明系統座椅系統天窗系統鎖車窗升降二、知識儲備
2.1、嵌入式系統基本概念嵌入式系統應用領域分布式控制網關+分布式模塊網關CANLIN后視鏡LIN門控窗控面板分布式控制二、知識儲備
二、知識儲備
2.1、嵌入式系統基本概念嵌入式系統應用領域二、知識儲備
2.1、嵌入式系統基本概念嵌入式系統的發(fā)展經歷了以下四個階段:無操作系統階段簡單操作系統階段實時操作系統階段面向Internet階段
2.1.3嵌入式系統與PC的不同一般專用于特定的任務,而PC是一個通用計算機。使用多種類型的處理器和處理器體系結構。及其關注成本有實時約束使用實時多任務操作系統軟件故障造成的后果比PC系統更嚴重大多有功耗約束經常在極端的環(huán)境下運行系統資源比PC少的多通常所有的目標代碼存放在ROM中需要專用工具和方法進行開發(fā)設計嵌入式系統的數量遠遠超過PC2.1.4巨大的市場計算機應用的普及、互聯網技術的實用以及納米微電子技術的突破,正有力推動著21世紀工業(yè)生產,商業(yè)活動科學試驗和家庭生活等領域自動化和信息化進程。嵌入式產品的巨大商機--全過程自動化產品制造、大范圍電子商務活動、高度協同科學實驗以及現代化家庭起居。你接觸的每一樣東西將裝有芯片和嵌入式軟件。2.1.5創(chuàng)新的機遇通用計算機產業(yè)是壟斷的。嵌入式系統與技術是一個分散的工業(yè),充滿競爭、機遇與創(chuàng)新。沒有哪一個系列的處理器和操作系統能夠壟斷全部市場即便在體系結構上存在著主流,但各不相同的應用領域決定了不可能有少數公司,少數產品壟斷全部市場。因此嵌入式系統領域的產品和技術,必然是高度分散的,留給各個行業(yè)的中小規(guī)模高技術公司的創(chuàng)新余地很大。二、知識儲備2.1、嵌入式系統基本概念嵌入式系統的特點和種類從構成上看:集軟硬件一體、可獨立工作的計算機;從外觀上看:“可編程”的電子“器件”;從功能上看:對目標系統進行智能化控制。從用戶和開發(fā)人員的角度來看:專用性強。體積小型化。實時性好??刹眉粜院???煽啃愿摺9牡?。本身不具備開發(fā)能力。通常采用“軟硬協同設計”。二、知識儲備2.1、嵌入式系統基本概念嵌入式系統的特點和種類嵌入式處理器的分類在目前的嵌入式處理器市場中,各種類型的處理器芯片層出不窮。據不完全統計,全世界范圍內的處理器品種已超過1000種,流行的體系結構有30多個系列,其中8051體系和ARM體系的CPU是當前市場的主流。二、知識儲備2.1、嵌入式系統基本概念嵌入式系統的特點和種類嵌入式技術的發(fā)展方向和特點向應用開發(fā)提供強大支持更強大的處理器OS,實時多任務編程技術交叉開發(fā)工具軟件質量保障為設備網絡通信提供標準接口?;ヂ摼W移動網絡,無線網絡GPS衛(wèi)星定位支持小型電子設備小尺寸、微功耗和低成本。提供精巧的多媒體人機界面。2.嵌入式系統的基本結構嵌入式系統的構架嵌入式微處理器嵌入式操作系統啟動程序BootLoader介紹
2.1嵌入式系統的構架API(ApplicationProgrammingInterface)2.2嵌入式系統的硬件基本結構2.3嵌入式處理器支持實時多任務.較短的中斷響應時間存儲區(qū)保護功能可擴展的處理器結構較低的功耗分類:★嵌入式微控制器(MicrocontrollerUnit)★嵌入式DSP處理器EDSP(EmbeddedDigitalSignalProcessor)★嵌入式微處理器(EmbeddedMicroprocessorUnit)★嵌入式片上系統SOC(SystemOnChip)
2.3.1嵌入式微處理器特點:功能和微處理器基本一樣,是具有32位以上的處理器,具有較高的性能.具有體積小,功耗少,成本低,可靠性高的特點.有的可提供工業(yè)級應用.流行的嵌入式微處理器:ARM/Strong(ARM公司)PowerPC(MOTOROL公司)68000(MOTOROL公司)MIPS(MIPS公司)MIPS處理器MIPS技術公司是一家設計制造高性能、高檔次及嵌入式32位和64位處理器的廠商。在RISC處理器方面占有重要地位。MIPS的意思是“無內鎖流水段微處理器”(Microprocessorwithoutinterlockedpipedstages),最早是在80年代初期由美國斯坦福大學Hennessy教授領導的研究小組研制出來的。1986年推出R2000處理器,1988年推出R3000處理器,1991年推出第一款64位商用微處理器R4000。之后,又陸續(xù)推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型號。之后,MIPS公司的戰(zhàn)略發(fā)生變化MIPS處理器此外,24K微架構能符合各種新興的服務趨勢,為寬頻存取以及還在不斷發(fā)展的網絡基礎設施、通訊協議提供軟件可編程的彈性。在嵌入式方面,MIPS系列微處理器是目前僅次于ARM的用得最多的處理器之一(1999年以前MIPS是世界上用得最多的處理器),其應用領域覆蓋游戲機、路由器、激光打印機、掌上電腦等各個方面。MIPS的系統結構及設計理念比較先進,在設計理念上MIPS強調軟硬件協同提高性能,同時簡化硬件設計。
PowerPC處理器PowerPC架構的特點是可伸縮性好,方便靈活。PowerPC處理器品種很多,既有通用的處理器,又有嵌入式控制器和內核,應用范圍非常廣泛,從高端的工作站、服務器到桌面計算機系統,從消費類電子產品到大型通信設備,無所不包。處理器芯片主要型號是PowerPC750,它于1997年研制成功,最高的工作頻率可以達到500MHz,采用先進的銅線技術。該處理器有許多品種,以便適合各種不同的系統。包括IBM小型機、蘋果電腦和其他系統。嵌入式的PowerPC405(主頻最高為266MHz)和PowerPC440(主頻最高為550MHz)處理器內核可以用于各種SoC設計上,在電信、金融和其他許多行業(yè)具有廣泛的應用。2.3.2嵌入式微控制器 嵌入式微控制器就是將整個計算機系統的主要硬件集成到一塊芯片中,芯片內部集成ROM/EPROM,RAM,總線,總線邏輯,定時/計數器,Watchdog,I/O,串行口等各種必要功能和外設.其特點為:一個系列的微控制器具有多種衍生產品;單片化,體積大大減小,功耗和成本降低,可靠性提高;是目前嵌入式工業(yè)的主流,約占嵌入式系統70%的份額;多是8位和16位處理器流行的嵌入式微控制器通用系列:8051,MCS251,MCS-96/196/296半通用系列:支持I2C,CANBUS,LCD及眾多專用MCU和兼容系列2.3.3嵌入式DSP嵌入式DSP處理器有兩個發(fā)展方向:是嵌入式DSP處理器和嵌入式處理器經過單片化設計,片上增加豐富的外設成為具有高性能DSP功能的SoC;是在通用微處理器、微控制器或SoC中增加DSP協處理器,例如Intel的MCS-296和Siemens的TriCore。2.3.4嵌入式外圍接口電路
和設備接口根據外圍設備的功能可分為以下5類存儲器類型通信接口輸入輸出設備設備擴展接口電源及輔助設備存儲器類型:存儲器是嵌入式系統中存儲數據和程序的功能部件,目前常見的存儲設備按使用的存儲器類型分為:
靜態(tài)易失型存儲器(RAM,SRAM);動態(tài)存儲器(DRAM);
非易失性存儲器ROM(ROMEPROM,EEPROM,FLASH);硬盤、軟盤、CD-ROM等。通信接口目前存在的所有計算機通信接口在嵌入式領域中都有其廣泛的應用,應用最為廣泛的接口設備包括
RS-232接口(串口UART)
USB接口(通用串行總線接口)
IrDA(InfraRedDataAssociation-紅外線接口)、
SPI(串行外圍設備接口)、
I2C、CAN總線接口、藍牙接口(Bluetooth)
Ethernet(以太網接口)、
IEEE1394接口和通用可編程接口GPIO。輸入輸出設備
CRT、LCD和觸摸屏等,構成了嵌入式系統中重要的信息輸入輸出設備,應用廣泛。觸摸屏可以方便的實現鼠標和鍵盤功能。設備擴展接口
簡單的嵌入式系統如具有簡單的記事本、備忘錄以及日程計劃等功能的PDA,它所需要存儲的數據量并不需要很大的內存。由于目前的嵌入式系統功能越來越復雜,需要大容量內存,大的內存使得系統成本和體積加大。目前一些高端的嵌入式系統都會預留可擴展存儲設備接口,為日后用戶有特別需求時,可購買符合擴展接口規(guī)格的裝置直接接入系統使用。
常用的擴展卡還有各種CF卡、SD卡、MemoryStick等。目前高端的嵌入式系統都留有一定的擴展卡接口。電源及輔助設備嵌人式系統力求外觀小型化、重量輕以及電源使用壽命長,例如移動電話或PDA,體積較大或者過重的機型已經被淘汰。目前發(fā)展的目標是體積小、易攜帶和外觀設計新穎等。在便攜式嵌入式系統的應用中,必須特別關注電源裝置等輔助設備。
2.4嵌入式操作系統 嵌入式操作系統是嵌入式應用軟件的基礎和開發(fā)平臺.嵌入式系統的出現,解決了嵌入式軟件開發(fā)標準化的難題.嵌入式系統具有操作系統的最基本的功能:進程調度內存管理設備管理文件管理操作系統接口(API調用)嵌入式操作系統具有的特點:系統可裁減,可配置.系統具備網絡支持功能系統具有一定的實時性
2.4.1嵌入式操作系統的分類按照對實時系統的定義,嵌入式系統可分為實時嵌入式系統與非實時嵌入式系統:實時系統的定義:能夠對外部事件做出及時響應的系統。響應時間要有保證。對外部事件的響應包括事件發(fā)生時要識別出來在給定時間約束內必須輸出結果實時操作系統:VxWorks,WinCE,QNX,Nucleus非實時操作系統:嵌入式Linux
2.4.2嵌入式實時操作系統的特點實時系統必須產生正確的結果實時系統的響應必須在預定的周期內完成這兩點同樣重要實時系統是具有確定性的。在這些實時系統中,響應時間決定事件是有界的。一個確定的實時系統意味著系統的每個部件都必須具有確定的行為,使得整個系統是確定性的。2.5幾種主流的嵌入式操作系統Vxworks:美國WindRiver公司于1983年開發(fā),具有可靠、實時、可裁減特性。WindowsEmbedded:支持具有豐富應用程序和服務的32位嵌入式系統。主要系列:WindowsCE3.0,WindowsNTEmbedded4.0和帶有ServerApplianceKit的Windows2000PalmOS:Com公司產品,在PDA市場占據很大份額,具有開放的操作系統應用程序接口(API),可讓用戶靈活方便地定制操作系統。嵌入式Linux:近兩年來,Linux在嵌入式領域異軍突起,他的獨特性,使其作為開發(fā)嵌入式產品的操作系統具備巨大的潛力。Linux具有一些獨特的優(yōu)勢:層次結構及內核完全開放;強大的網絡支持功能;具備一整套工具鏈;廣泛的硬件支持特性。
2.6嵌入式系統軟件的層次結構如當設計一個簡單的應用程序時,可以不使用操作系統,但是當設計較復雜的程序時,可能就需要一個操作系統(OS)來管理、控制內存、多任務、周邊資源等等。依據系統所提供的程序界面來編寫應用程序,可以大大的減少應用程序員的負擔。對于使用操作系統的嵌入式系統來說,嵌入式系統軟件結構一般包含四個層面:設備驅動層、實時操作系統(RTOS)、應用程序接口(API)層、實際應用程序層。有些資料將應用程序接口API歸屬于OS層,如圖1-1的上半部分所示的嵌入式系統的軟件結構,是按三層劃分的。由于硬件電路的可裁減性和嵌入式系統本身的特點,其軟件部分也是可裁減的。對于功能簡單僅包括應用程序的嵌入式系統一般不使用操作系統,僅有應用程序和設備驅動程序?,F代高性能嵌入式系統應用越來越廣泛,操作系統使用成為必然發(fā)展趨勢。本節(jié)主要講述的具有操作系統的嵌入式軟件層次。嵌入式系統軟件的層次結構具有操作系統的嵌入式軟件層次驅動層程序實時操作系統(RTOS)操作系統的應用程序接口(API)應用程序2.7啟動程序BootLoader介紹對于PC機,其開機后的初始化處理器配置、硬件初始化等操作是由BIOS(BasicInput/OutputSystem)完成的,但對于嵌入式系統來說,出于經濟性、價格方面考慮一般不配置BIOS,因此我們必須自行編寫完成這些工作的程序。這就是所需要的開機程序,在嵌入式中稱為BootLoader程序。系統加電復位后,幾乎所有的CPU都從由復位地址上取指令。因此在系統加電復位后,處理器將首先執(zhí)行BootLoader程序。啟動程序BootLoader介紹BootLoader是系統加電后、操作系統內核或用戶應用程序運行之前,首先必須運行的一段程序代碼。通過這段程序,為最終調用操作系統內核、運行用戶應用程序準備好正確的環(huán)境。對于嵌入式系統來說,有的使用操作系統,也有的不使用操作系統,但在系統啟動時都必須運行BootLoader,為系統運行準備好軟硬件環(huán)境。系統啟動代碼完成基本軟硬件環(huán)境初始化后,對于有操作系統的情況下,啟動操作系統、啟動內存管理、任務調度、加載驅動程序等,最后執(zhí)行應用程序或等待用戶命令;對于沒有操作系統的系統直接執(zhí)行應用程序或等待用戶命令啟動程序BootLoader介紹系統的啟動通常有兩種方式,一種是可以直接從Flash啟動,另一種是可以將壓縮的內存映像文件從Flash(為節(jié)省Flash資源、提高速度)中復制、解壓到RAM,再從RAM啟動。當電源打開時,一般的系統會去執(zhí)行ROM(應用較多的是Flash)里面的啟動代碼。這些代碼是用匯編語言編寫的,其主要作用在于初始化CPU和板上的必備硬件如內存、中斷控制器等。有時候用戶必須根據自己板子的硬件資源情況做適當的調整與修改。
主流bootloader介紹U-bootPPCbootARMbootBlobRedboot
3.嵌入式系統的開發(fā)方法嵌入式系統的設計準則嵌入式系統的設計流程嵌入式系統的開發(fā)方法嵌入式系統的開發(fā)模式嵌入式系統的測試
3.1嵌入式系統的設計準則 嵌入式系統設計不同于桌面系統,它非常受制于功能和具體的應用環(huán)境。所以嵌入式系統的設計具有一些特殊的要求。 嵌入式系統的設計要求:并發(fā)處理,及時響應接口方便,操作容易穩(wěn)定可靠,維護簡便功耗管理,降低成本功能實用,便于升級
3.2嵌入式系統的設計流程嵌入式系統開發(fā)的最大特點就是需要軟硬件綜合開發(fā)。其原因在于:一方面,任何一個嵌入式產品都是軟件和硬件的結合體;另一方面,一旦嵌入式產品研發(fā)完成,軟件就固化在硬件環(huán)境中,嵌入式軟件是針對相應的嵌入式硬件開發(fā)的,是專用的。嵌入式系統的這一特點決定了嵌入式應用開發(fā)方法不同于傳統的軟件工程方法。
3.2.1嵌入式系統的開發(fā)流程3.2.2從生命周期看嵌入式系統的設計流程3.3嵌入式系統開發(fā)方法設計過程的明確目標是建造一個有用的產品產品功能產品性能制造成本功耗特性上市時間嵌入式產品設計需要一個小組的技術人員協作完成設計過程會受內外因素的影響而變化
3.3.1嵌入式系統分層設計模型
3.3.2嵌入式系統的軟硬件并行設計3.4嵌入式系統的開發(fā)模式網線串口線宿主機目標機3.4嵌入式系統的開發(fā)模式嵌入式系統的軟件使用交叉開發(fā)平臺進行開發(fā)。系統軟件和應用軟件在主機開發(fā)平臺上開發(fā)系統軟件和應用軟件在嵌入式硬件平臺上運行。宿主機(Host)是用來開發(fā)嵌入式軟件的系統。目標機(Target)是被開發(fā)的目的嵌入式系統。交叉編譯器(Cross-compiler)是進行交叉平臺開發(fā)的主要軟件工具。它是運行在一種處理器體系結構上,但是可以生成在另一種不同的處理器體系結構上運行的目標代碼的編譯器。
3.5嵌入式系統的測試測試目的:找到軟硬件設計中的錯誤減少風險節(jié)約成本提高性能測試什么:功能調試(黑盒測試)壓力測試,邊界測試,異常測試錯誤測試,隨機測試,性能測試覆蓋測試(白盒測試)語句測試,判定和分支測試,條件覆蓋二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建
Arm-Linux程序的開發(fā)并不像我們以前接觸的Windows程序開發(fā)那樣,關于平臺的搭建就繁瑣很多,所以在正式進入程序開發(fā)之前先對這種開發(fā)模式進行簡要介紹,讓一個即使沒有任何Linux開發(fā)經驗的程序員也能夠看懂后面的內容。二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建宿主機和目標機由于嵌入式Linux的開發(fā)資源有限,不可能在開發(fā)板上運行開發(fā)和調試工具。通常需要交叉編譯調試的方式進行,即“宿主機+目標機(開發(fā)板)”的形式。目標機和宿主機一般采用串口連接,亦可同時通過網口連接,如下圖所示。二、知識儲備嵌入式Linux應用程序調試模型2.2Arm-Linux開發(fā)環(huán)境搭建二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建宿主機是運行Linux的PC??梢允前惭b了Linux操作系統的本地機,亦可以是Linux服務器(模型假定其IP為0)。宿主機和目標機的處理器通常情況下都不會相同。宿主機需要建立適合于目標機的交叉編譯環(huán)境。程序在宿主機上編譯—連接—定位,得到的可執(zhí)行文件則在目標機運行。二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建開發(fā)arm-linux程序至少需要三種系統:
Windows系統
PC-Linux系統
Arm-Linux系統二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建
Windows系統主要用來文件傳送和一些簡單的文本文件編輯。這個系統其實并非必需,只是因為目前PC機上最流行的系統仍然是Windows系統,我們的很多關于PC的文件和數據的操作習慣都是在Windows系統上養(yǎng)成的,已經對其形成了嚴重的依賴,所以Windows系統扮演著的“輔助開發(fā)系統”的角色。二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建
PC-Linux系統在此系統上安裝arm-Linux交叉編譯器后,就可以對代碼文本文件進行編譯,生成可在arm-Linux系統中運行可執(zhí)行程序。此系統就是前面所稱的“Linux宿主機”,我們對Linux程序的開發(fā)工作(包括代碼編寫、調試和編譯生成可執(zhí)行文件)基本上就是在此系統上進行的。二、知識儲備
2.2Arm-Linux開發(fā)環(huán)境搭建
Arm-Linux系統
Arm-Linux程序運行的平臺。此系統的硬件載體是一塊小型的嵌入式arm板,我們在Linux宿主機上開發(fā)好程序并編譯生成arm-linux可執(zhí)行程序后,將可執(zhí)行程序文件傳送到嵌入式arm板中,然后就可以在arm板上直接運行此程序了。二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建三種系統的職能和聯系:二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建
關于開發(fā)語言,因為目前購買的Arm-Linux嵌入式板提供的編譯庫都是C/C++的,所以一般選擇C/C++進行程序設計。
二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建
系統平臺搭建方式“三系統”的搭建方式,有兩種方法:三臺分立的單系統機器組合“三機器”組合模式或者一臺雙系統PC機和一臺單系統Arm板機器“兩機器”組合模式?!叭龣C器”組合模式。將三個系統分別安裝在三臺機器上并將三臺機器組建局域網。
“兩機器”組合模式。在PC機上利用虛擬工作站可以同時運行兩個系統,虛擬機上的Linux系統基本可以完成所有的實體PC-Linux機器的所有任務,當然也能夠組建局域網。
日前主流為“兩機器”組合模式。
二、知識儲備“兩機器”組合模式圖
2.2Arm-Linux開發(fā)環(huán)境搭建二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建虛擬機VmwareWorkstation軟件安裝雙擊VMware-workstation-6.5.1-126130.exe安裝程序,出現如下圖所示安裝提示向導:二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建接下來按照安裝提示根據自己的需求進行設置,點擊下一步進行安裝,當出現如下提示畫面時在SerialNumber中輸入SN.txt文本下的序列號,點擊Enter完成虛擬機的安裝。二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統
二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統單擊NewVirtualMachine選項,開始安裝Redhat操作系統,由于不是光盤安裝,而是安裝包,所以在以下界面中選擇Installerdisc….選項,如圖所示:二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統并點擊Browse找到Redhat安裝文件,點擊Next進行安裝。接下來在選擇操作系統提示框中選擇Linux,如下圖所示:二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統下面的安裝向導,全部選擇默認即可,點擊Next,直至出現redhat安裝界面,如下圖所示:二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統在安裝畫面下敲擊回車,進行安裝。在語言選擇界面中選擇簡體中文,如圖:二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統在接下來的安裝向導中,均選擇默認選項即可,直接點擊下一步,進行安裝,直至出現根口令輸入提示,如圖:二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統輸入密碼,此密碼為root根用戶的登錄密碼。注意:一定要記住所填的根口令,否則無法登錄。接著點擊下一步,直至出現如下的安裝界面,此時需等待系統的安裝。二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統單擊虛擬機菜單VM下的Settings選項,出現如下圖所示的界面,選擇CD/DVD選項,在Browse中選擇第二個安裝包,并將上面的Connect選項勾上,點擊OK進行安裝,當出現插入第三張光盤提示時,安裝方法同上。二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝LINUX操作系統在安裝進度完成后的提示界面中,選擇不創(chuàng)建引導盤,點擊下一步,接下來的安裝界面,全部選擇默認選項即可,等待系統重啟,重啟后的安裝向導根據個人需求配置即可,配置完后,等待登錄界面,如下所示:二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝Vmwaretools工具
Vmwaretools工具的安裝是為了實現Windows與Linux之間的文件傳輸。點擊虛擬機的菜單VM下的InstallVM….選項,將第三個文件移到Linux系統下,打開終端,將剛移動的文件進行解壓,命令為“tarxzvf文件名”,解壓后進入目標文件夾,用命令“./vmware-install.pl”進行Vmware-tools工具的安裝,出現提示后,直接回車,選擇默認即可。單擊菜單VM下Settings后選擇Options選項卡下的Sharefolders,右則選擇Alwaysenabled,點擊add添加共享文件夾,此文件夾即為Windows與Linux共享的文件夾,可根據需要自行設置,此時Windows下共享文件夾下的內容即可在Linux下查看與應用,在Linux下共享文件夾的路徑為/mnt/hgfs/共享文件夾
二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建安裝交叉編譯工具具體過程如下:首先,將開發(fā)環(huán)境文件夾下的交叉編譯工具EABI-4.3.3_EmbedSky_20100610.tar.bz2放置Linux下,然后用命令“tarxjvf文件名”對其進行解壓。其次,解壓后還需設置環(huán)境變量,在終端下輸入“vi/etc/profile”將打開profile文件,然后在“pathmunge/usr/local/sbin”下面設置交叉編譯環(huán)境的環(huán)境變量,加入“pathmunge/opt/EmbedSky/4.3.3/bin”,退出profile后,還需在終端下輸入“sourceprofile”使剛才設置的環(huán)境變量生效,至此表示交叉編譯環(huán)境搭建成功。二、知識儲備2.2Arm-Linux開發(fā)環(huán)境搭建將實驗文件下的mooncar文件夾共享到Linux下,進入mooncar文件夾下,運行make,即對運行程序mooncar進行了編譯和運行。二、知識儲備2.3Linux常用命令Linux系統具有非常豐富的命令,絕大多數命令具有大量的參數,要對這些命令進行詳細描述需要大量篇幅,在此,僅對嵌入式開發(fā)過程中可能用到的命令進行簡單介紹。二、知識儲備
2.3Linux常用命令
Linux中的文件類型
Linux中有四種基本文件類型,分別為普通文件、目錄文件、符號鏈接文件和設備文件,此外,還有一些其他類型的文件,如命名管道文件、socket文件等??捎胒ile命令來識別指定文件的類型。普通文件如文本文件、源代碼文件、Shell腳本文件、二進制的可執(zhí)行文件、二進制的數據文件等。在圖形界面下,用與文件屬性相匹配的圖標表示;在終端命令ls中,用“-”表示。目錄文件是儲存文件名的唯一地方,其中包括所屬的文件名、子目錄名及其指針。在圖形界面下,用文件夾圖標表示;在終端命令ls中,用“d”表示。二、知識儲備2.3Linux常用命令
Linux中的文件類型符號鏈接文件是指向某個文件存儲位置的指針,也稱為軟鏈接文件或者符號鏈接文件,硬鏈接文件或者物理鏈接文件見本書后面的ln命令部分。在圖形界面下,文件名以斜體顯示;在終端命令ls中,用“l(fā)”表示,并且文件名后面以“->”指向所鏈接的文件。設備文件表示如磁盤、終端、打印機等設備的一類文件,以便用戶象操作文件一樣來操作設備,這些文件常放在/dev目錄內。根據設備與系統內存交換數據的方式將設備分為塊設備和字符設備,塊設備以數據塊為單位與系統內存交換數據,字符設備以單個字節(jié)為單位與系統內存交換數據。在圖形界面下,分別用不同的圖標區(qū)分塊設備與字符設備;在終端命令ls中,用“b”表示塊設備,用“c”表示字符設備。二、知識儲備2.3Linux常用命令
Linux文件系統中有一些常用的目錄,這些目錄中存放指定的內容,如下所示:/etc:包含大多數引導和配置系統所需的系統配置文件,如:host.conf、httpd、fstab等,另外,還有大量的配置文件保存在子目錄中,如sshd_config保存在目錄/etc/ssh/中,lvm.conf保存在目錄/etc/lvm/中。/lib:包含c編譯程序所需要的函數庫,這些函數庫以二進制文件形式存在。/usr:包含其它一些子目錄,如src、bin等,其中src子目錄中存放Linux的內核源代碼,bin子目錄中存放已經安裝的程序語言的命令,如javac、java、gcc、perl等。
二、知識儲備2.3Linux常用命令常用的目錄/var:包含一些經常改變的文件,如日志文件。/tmp:存放用戶和程序所產生的臨時數據文件,系統會定時清除該目錄中的內容。/bin:大多數普通用戶使用的命令文件存放在此。/home:普通用戶主目錄默認存放在此,系統管理員增加新用戶時,若沒有特別指明用戶主目錄,則系統會在此處自動增加與用戶同名的目錄作為用戶主目錄。/dev:包含系統中的設備文件,如fd0、hda等。/mnt:其它文件系統的掛載點。二、知識儲備2.3Linux常用命令
在Linux系統中,針對某個文件,將操作該文件的用戶分為三類:文件的所有者,用單詞user的第一個字母u表示;同組用戶,即與文件的所有者具有相同組ID的用戶,用單詞group的第一個字母g表示;其他用戶,即與文件的所有者不同組的用戶,用單詞other的第一個字母o表示;此外,將上述三類用戶合起來稱為所有用戶,用單詞all的第一個字母a表示。
二、知識儲備2.3Linux常用命令文件操作權限文件有三種基本的操作權限,分別為:讀權限,表示用戶可以讀取文件的內容,用單詞read的第一個字母r表示;寫權限,表示用戶可以修改文件內容或者刪除文件,用單詞write的第一個字母w表示;執(zhí)行權限,表示用戶可以執(zhí)行文件,對于目錄文件,表示用戶可以進入該目錄,用單詞execute的第二個字母x表示。二、知識儲備2.3Linux常用命令
對文件操作的三類用戶和文件的三種操作權限進行組合,形成文件的授權屬性,分三組,每組三位,分別用字母表示用戶和操作權限;第一組表示文件主的操作權限,第二組表示同組用戶的操作權限,第三組表示其他用戶的操作權限,無操作權限的位置用符號“-”表示。舉例如下:
rwxr-xr--//文件主具有讀、寫和執(zhí)行權限;同組用戶具有讀和執(zhí)行權限;其他用戶僅有讀權限。
二、知識儲備2.3Linux常用命令
pwd
顯示當前工作目錄。該命令無參數,直接輸入命令pwd回車,會顯示當前的工作目錄。
cd
進入指定目錄。cd命令格式為:cd[路徑],其中路徑可以為相對路徑或者絕對路徑。舉例如下:cd/home/user//進入/home/user目錄。cd///退回到根目錄。cd..//退回到上級目錄,當前目錄為根目錄時,該命令執(zhí)行不會改變當前目錄。二、知識儲備2.3Linux常用命令
ls
列出指定目錄或者當前目錄下的文件名。ls是用戶最常用的命令之一,因為用戶經常需要查看某個目錄下有哪些文件。
ls命令格式為:ls[選項][文件名列表],其中選項是對ls命令要執(zhí)行功能的進一步說明,文件表示要顯示的文件名。選項
-l:每行顯示一個文件的詳細信息,稱為以長格式顯示,該選項最常用。若不加該參數,ls將在一行中顯示多個文件名,并以不同顏色來標記不同類型的文件。該參數所顯示的文件信息依次是文件類型、授權屬性、鏈接數、文件屬主、文件屬組、文件大小、文件建立或最后修改時間、文件名。對于符號鏈接文件,顯示的文件名之后有“->”和指向的文件名;對于設備文件,其“文件大小”字段顯示主、次設備號,而不是文件大小。二、知識儲備2.3Linux常用命令
ls
用ls-l命令顯示的文件信息中,開頭是由10個字符構成的字符串,其中第一個字符表示文件類型,它可以是下述類型之一:
-:普通文件
d:目錄文件
l:符號鏈接文件
b:塊設備文件
c:字符設備文件
p:命名管道文件
s:socket文件二、知識儲備
2.3Linux常用命令
cp命令的功能是將給出的文件或目錄拷貝到指定的文件或目錄中,cp命令的格式為:cp[選項]源文件目標文件,其中選項是對cp命令要執(zhí)行功能的進一步說明,源文件表示要復制的文件,目標文件表示源文件將被復制的目的目錄名或者目的文件名。
選項
-a:該選項通常在拷貝目錄時使用,它保留鏈接、文件屬性,并遞歸地拷貝子目錄中的內容,其作用等于dpr選項的組合。
-d:拷貝時保留鏈接。
-p:除復制源文件的內容外,還將把其最后修改時間和訪問權限也復制到目標文件中。
-r:若源文件是目錄文件,cp將遞歸復制該目錄下所有的子目錄和文件,目標文件名必須為一個目錄文件名。
-l:不作拷貝,只是鏈接文件。二、知識儲備2.3Linux常用命令
mvmv命令能夠將指定文件或目錄改名或將指定文件或目錄進行移動。選項
-i:交互方式操作,如果mv操作將導致對已存在目標文件的覆蓋,則系統要求用戶回答“y”進行文件覆蓋或“n”放棄覆蓋。
-f:禁止交互操作,在mv操作要覆蓋已有的目標文件時不給任何提示而直接覆蓋目標文件。
-u:只有在源文件比目標文件新,或者目標文件不存在時,才執(zhí)行移動功能。
二、知識儲備2.3Linux常用命令
rm命令可以一次刪除一個或多個文件或目錄,對于鏈接文件,只是刪除鏈接,原有文件保持不變。
rm命令的格式為:rm[選項]文件,其中選項是對rm命令要執(zhí)行功能的進一步說明,使用舉例
rm/home/user/test//刪除目錄/home/user/下的文件testrm–r/var/tmp///以遞歸形式刪除目錄/var/tmp/及其包含的文件和子目錄。
二、知識儲備2.3Linux常用命令
cat顯示文本文件的內容。該命令后可以跟多個文本文件名,將依次顯示每個文件的內容。cat命令的格式為:cat[選項]文件,其中選項是對cat命令要執(zhí)行功能的進一步說明,文件表示要顯示內容的文件名。使用舉例cat1.txt//在屏幕上顯示1.txt文件的內容。
cat1.txt2.txt//依次顯示1.txt和2.txt文件的內容。
二、知識儲備2.3Linux常用命令
chmodchmod命令用于改變文件的訪問許可權限。在chmod命令中,用戶和訪問許可權限既可以用字母表示,也可以用數字表示。選項
-R:表示許可權限的設置對指定目錄及其子目錄下的所有文件和目錄都有效。
-v:顯示命令執(zhí)行的信息使用舉例
chmod–va+x/home/user/test//給所有用戶追加文件/home/user/test的執(zhí)行權限,同時顯示命令執(zhí)行的信息。
chmod–v+s-t/home/user/test//給文件/home/user/test設置SUID和SGID位,去掉粘附位,同時顯示命令執(zhí)行的信息。
2.3Linux常用命令
tar是文件和目錄的備份命令,能夠將指定的文件和目錄打包成一個歸檔文件即備份文件。tar命令的格式為:tar主選項[輔選項]文件名,其中,主選項是必須的,輔選項可選。
tar-cvfetc.tar/etc//將目錄/etc下的所有文件和子目錄備份打包到當前目錄下的文件etc.tar中,并顯示打包過程。
tar-xZvfetc.tar.z//解壓縮并還原歸檔文件etc.tar.z中的文件和目錄。二、知識儲備二、知識儲備2.3Linux常用命令
mount命令的功能是掛載其它文件系統到當前文件系統中,被掛載的文件系統必須是當前Linux系統所能識別的系統。mount命令的格式為:mount[選項][掛載點],其中選項是對mount命令要執(zhí)行功能的進一步說明,掛載點表示被掛載的文件系統的根目錄在當前文件系統中的位置。選項
-a:掛載/etc/fstab文件中所列的全部文件系統。
-t:指定所要掛載的文件系統名稱,系統所支持的文件系統信息在/proc/filesystems文件中保存。
-o:后跟指定選項,如nolock、iocharset等,選項之間用逗號分隔。
mount//查看當前所掛載的文件系統信息。
mount–ttest/dev/hda2/mnt/test二、知識儲備2.3Linux常用命令
lsmodLinux系統為了保證能方便地支持新設備、新功能,而又不會無限擴大內核規(guī)模,對設備驅動和文件系統部分采用了可動態(tài)加載的模塊化設計方式,用戶在需要時可以動態(tài)加載這些模塊,使用完畢后可以動態(tài)卸載這些暫時不用的模塊,以減少內核對系統內存的占用。
二、知識儲備2.3Linux常用命令
insmodinsmod命令能夠將一個可動態(tài)加載的內核模塊加載到內核中。通常情況下,系統內核模塊的文件后綴為“.ko”,而擴展內核模塊的文件后綴為“.o”,系統內核模塊位于目錄“/lib/modules/2.6.18-8.10WS”的各個子目錄中,擴展模塊位于用戶指定的目錄中。該命令只能由root用戶執(zhí)行。
insmod命令的格式為:insmod模塊文件名,舉例如下:
insmod/lib/modules/cat/cat.ko
二、知識儲備
2.3Linux常用命令
rmmodrmmod命令能夠將內核中未被使用的模塊進行卸載,正在使用的模塊不能被卸載,該命令只能由root用戶執(zhí)行。使用舉例
rmmod–Vrmmod–vfatrmmod–wvfloppy.ko二、知識儲備
2.4vi編輯器
vi是Linux系統中的全屏幕文本編輯器,是最常用的文本編輯工具軟件之一。vi是字符界面下最常用的編輯工具,其功能強大,占用資源少,但不支持鼠標操作?,F在出現了圖形界面下的vi,稱為VIM,啟動菜單選項為“開始→應用程序→實用工具→VIM編輯器”,支持鼠標操作,有類似其他軟件的菜單和快捷按鈕。字符界面下vi的操作規(guī)則可以用在圖形界面下的VIM中,本書主要介紹字符界面的vi。
vi有命令行狀態(tài)和文本編輯兩種狀態(tài),vi的命令行狀態(tài)的命令豐富,功能強大,在命令行狀態(tài)下按Insert鍵或者輸入i、I、a等字符進入編輯狀態(tài),在編輯狀態(tài)按Esc鍵可以回到命令行狀態(tài)。二、知識儲備
2.4vi編輯器
vi編輯器使用命令vi啟動,啟動方式有多種,如下所示:
vifilename//打開或新建文件filename,并將光標置于第一行的行首。
vi+nfilename//打開文件filename,并將光標置于第n行行首。
vi+filename//打開文件filename,并將光標置于最后一行行首。
二、知識儲備2.4vi編輯器移動光標類命令h:光標左移一個字符。l:光標右移一個字符。Space鍵:光標右移一個字符。Backspace鍵:光標左移一個字符。k或Ctrl+p:光標上移一行。j或Ctrl+n:光標下移一行。Enter鍵:光標下移一行。w或W:光標右移一個字至下個字的字首。b或B:光標左移一個字至上個字的字首。二、知識儲備
2.4vi編輯器移動光標類命令nG:光標移至第n行行首。n+:光標下移n行。n-:光標上移n行。n$:光標移至第n行行尾。H:光標移至屏幕頂行。M:光標移至屏幕中間行。L:光標移至屏幕最后行。0:光標移至當前行行首。$:光標移至當前行行尾。二、知識儲備
2.4vi編輯器
屏幕類命令
Ctrl+u:屏幕向上滾動半屏,同時光標向上移動到相應行。
Ctrl+d:屏幕向下滾動半屏,同時光標向下移動到相應行。
Ctrl+b:屏幕向上滾動一屏,同時光標向上移動到相應行。
Ctrl+f:屏幕向下滾動一屏,同時光標向下移動到相應行。
nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。2.4vi編輯器插入文本類命令
i:由命令行狀態(tài)進入編輯狀態(tài),輸入的內容插入到光標前。
I:由命令行狀態(tài)進入編輯狀態(tài),輸入的內容插入到當前行行首。
a:由命令行狀態(tài)進入編輯狀態(tài),輸入的內容插入到光標后。
A:由命令行狀態(tài)進入編輯狀態(tài),輸入的內容插入到當前行尾。
o:由命令行狀態(tài)進入編輯狀態(tài),在當前行之下新插入一行。
O:由命令行狀態(tài)進入編輯狀態(tài),在當前行之上新插入一行。
r:不進入編輯狀態(tài)而用輸入的字符替換當前字符。二、知識儲備
二、知識儲備2.4vi編輯器刪除命令
ndw或ndW:不進入編輯狀態(tài),刪除光標處開始及其后的n-1個字。
d0:不進入編輯狀態(tài),刪除當前光標處至當前行首的字符。
d$:不進入編輯狀態(tài),刪除當前光標處至當前行尾的字符。
ndd:不進入編輯狀態(tài),刪除當前行及其后的n-1行。
x:不進入編輯狀態(tài),刪除光標后的字符。
X:不進入編輯狀態(tài),刪除光標前的字符。
二、知識儲備2.4vi編輯器搜索及替換命令
/pattern:從光標開始處向文件尾搜索pattern,并對搜索到的pattern加上標記。
?pattern:從光標開始處向文件首搜索pattern,并對搜索到的pattern加上標記。
n:同一方向重復上一次搜索命令。
N:反方向重復上一次搜索命令。:s/p1/p2/g:將當前行中所有p1均用p2代替。:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2代替。:g/p1/s//p2/g:將文件中所有p1均用p2替換。
二、知識儲備
2.4vi編輯器存盤與退出命令:w:當前文件存盤。:efilename:打開文件filename進行編輯。:x:保存當前文件并退出。:q:退出vi。:q!:不保存文件內容并退出vi。
二、知識儲備
2.4vi編輯器編輯狀態(tài)
vi編輯器從命令行狀態(tài)進入到編輯狀態(tài)后就可以全屏幕的方式對文本內容進行編輯,編輯過程中可以通過鍵盤的“Insert”鍵在“插入”和“替換”狀態(tài)之間切換,可以使用鍵盤的4個方向鍵及其“Home”、“End”、“PageUp”、“PageDown”等鍵移動光標,可以使用退格鍵和刪除鍵對文本內容進行刪除。編輯完成后按鍵盤的“Esc”鍵回到命令行狀態(tài)執(zhí)行命令“:wq”存盤退出,或者“:q!”不存盤退出。二、知識儲備2.5內核移植與燒寫包括:Arm-Linux操作系統制作步驟Arm-Linux操作系統燒寫步驟二、知識儲備2.5內核移植與燒寫Arm-Linux操作系統制作步驟在一個最基本的Linux操作系統應該包括:引導程序、Linux內核與文件系統三部分,其中引導程序(Bootloader)是系統啟動或復位以后執(zhí)行的第一段代碼,它主要用來初始化處理器及外設,然后調用Linux內核。Linux內核在完成系統的初始化之后需要掛載某個文件系統做為根文件系統。根文件系統是Linux系統的核心組成部分,它可以做為Linux系統中文件和數據的存儲區(qū)域,通常它還包括系統配置文件和運行應用軟件所需要的庫。二、知識儲備2.5內核移植與燒寫Arm-Linux操作系統制作步驟制作步驟:建立交叉編譯環(huán)境編譯uboot及生成相應文件(利用已有的)編譯linux內核及生成相應文件制作根文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度健康餐廳連鎖加盟合作協議
- 2025年度退休人員體育教練勞務聘用合同
- 2025年度智慧城市建設項目圍擋安裝與智能化服務合同
- 二零二五年度辦公室租賃合同租賃合同終止范本
- 2025年度高科技企業(yè)競業(yè)禁止勞動合同規(guī)范細則
- 二零二五年度交通事故賠償處理與事故責任鑒定及賠償服務合同
- 二零二五年度山林流轉與生態(tài)保護補償基金合作合同
- 2025年度環(huán)保產品銷售業(yè)務提成管理合同
- 2025年度新能源科技公司股東股權轉讓協議范本
- 自然人與金融機構貸款擔保合作協議(2025年度)
- 2024年實驗小學大隊委競選筆試試題題庫
- 普通工安全技術操作規(guī)程交底注意事項(8篇)
- 2025屆江蘇省十三大市高三沖刺模擬歷史試卷含解析
- 《高等數學(第2版)》 高職 全套教學課件
- 五代十國史料輯存閱讀筆記
- DataOps 實踐指南 2.0白皮書
- 農村宅基地和建房(規(guī)劃許可)申請表
- 2024年鐵嶺衛(wèi)生職業(yè)學院單招職業(yè)技能測試題庫及答案解析
- 課本劇哈姆雷特劇本
- 供電所班組建設方案
- 委托處置不良資產協議(三篇)
評論
0/150
提交評論