




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024/1/26嵌入式系統組織架構與設計1嵌入式系統組織架構與設計98.02.192024/1/26嵌入式系統組織架構與設計2課程大綱第一章嵌入式系統概述第二章嵌入式系統作業環境與系統開發流程第三章嵌入式系統Xscale微架構之系統結構第四章Xscale指令系統第五章Xscale-PXA270應用處理器結構和运用方法實作PXA270結構與特性時脈與電源管理系統整合單元LCD控制UART控制USB控制GPIO控制2024/1/26嵌入式系統組織架構與設計3嵌入式系統組織架構與設計-
第一章嵌入式系統概述98.02.192024/1/26嵌入式系統組織架構與設計4第一章課程大綱嵌入式系統概述嵌入式系統特性嵌入式系統體系架構嵌入式系統之發展嵌入式系統軟體Linux作業系統WinCE作業系統嵌入式系統開發平臺嵌入式系統硬體IntelXscaleSOC系列IntelXscale實驗平台2024/1/26嵌入式系統組織架構與設計5前言「碩大便是美」正好與IA(InformationAppliance)求「小而美、小而省」是背道而馳。半導體電子發展趨勢是符合「摩爾定律」資訊載具上之資訊軟體研發,具有量身訂做之特性,已從電腦中心設計(范紐曼結構)之時代轉向以消費者中心(3C)的設計。多產業標準並存之網路架構以及互動性、相容性高之系統軟體變成為研發廠商開發之首要目標:節省人力本钱配合嵌入式系統多功能化求新、求變2024/1/26嵌入式系統組織架構與設計6計算機科學(ComputerScience)ComputerScience電腦科學是一門包含各種各樣與計算和資訊處理相關主題的系統學科,從笼统的演算法分析、方式化語法等等,到更具體的主題如程式設計語言、程式設計、軟體和硬體等。作為一門學科,它與數學、電腦程式設計、軟體工程和電腦工程有顯著的不同,卻通常被混淆,儘管這些學科之間存在不同程度的交叉和覆蓋。中國算盤(abacus),遠古就應用在計算上。資訊理論資訊理論2024/1/26嵌入式系統組織架構與設計7計算機科學(ComputerScience)Computerscience,orcomputingscienceItisthestudyofthetheoreticalfoundationsofinformationandcomputationandtheirimplementationandapplicationincomputersystems.Computation:Itisageneraltermforanytypeofinformationprocessingthatcanberepresentedmathematically.Computationisaprocessfollowingawell-definedmodelthatisunderstoodandcanbeexpressedinanalgorithm,protocol,networktopology,etc.2024/1/26嵌入式系統組織架構與設計8計算機科學(ComputerScience)Information:Generallyspeaking,theconceptofinformationiscloselyrelatedtonotionsofconstraint,communication,control,data,form,instruction,knowledge,meaning,mentalstimulus,pattern,perception,andrepresentation.Informationisthewritingofknowldgeofanysubject.Informationisthestateofasystemofinterest.Messageistheinformationmaterialized.TheASCIIcodesfortheword"Wikipedia"representedinbinary,thenumeralsystemmostcommonlyusedforencodingcomputerinformation.2024/1/26嵌入式系統組織架構與設計9InformationprocessingmaymorespecificallybedefinedintermsbyClaudeE.Shannonastheconversionoflatentinformationintomanifestinformation[citationneeded].Latentandmanifestinformationisdefinedthroughthetermsofequivocation(remaininguncertainty,whatvaluethesenderhasactuallychosen),dissipation(uncertaintyofthesenderwhatthereceiverhasactuallyreceived)andtransformation(savedeffortofquestioning-equivocationminusdissipation)[citationneeded].PracticalInformationProcessingcanbedescribedasacycle,wheredata(whichmayhavenoinherentmeaningtotheobserver)isconvertedintoinformation(whichdoeshavemeaningtotheobserver).Thisconversiontakesoneofthreeforms:Computationutilizesmathematics(specificallyarithmetics)tocreatetheinformationfromdata.Example:acashregister(eithermechanicalordigital)usesadditiontoconverttheindividualitemprices(data)intothetotalamountowedtothestore(information).Transductionistheconversionofonetypeofenergyintoanothertype.Example:Amechanicalspeakerconvertsanelectricsignal(data)intosoundwaves(information).Translationistheconversionofastringofsymbolsfromonesetintoanother.Example:apersonfluenttwolanguagescouldrewriteadocumentthatiswritteninalanguagethattheobserverdoesnotunderstand(data)intoalanguagethattheobserverdoesunderstand(information).NotethattranslationistheonlyInformationprocessingformthatcannotyetbeperformedpurelybyamachine.Itrequiresanorganicbrain(someelectroniccomputerprogramscan'translate'butinrealitytheyareusingcomplexprograms,whichactuallyrelysolelyoncomputationtocompletetheprocess).2024/1/26嵌入式系統組織架構與設計10計算機科學(ComputerScience)計算機科學研讨的課題:電腦程式能做什麼和不能做什麼〔可計算性〕如何使程式更高效的執行特定任務〔演算法和複雜性理論〕程式如何存取不同類型的資料〔資料結構和資料庫〕程式如何顯得更具有智慧〔人工智慧〕;人類如何與程式溝通〔人機互動和人機界面〕2024/1/26嵌入式系統組織架構與設計11計算機科學(ComputerScience)電腦(計算機)科學的大部分研讨是基於“杜林機〞(TuringMachine)和“馮·范紐曼電腦〞(JohnvonNeumann)的,它們是絕大多數實際機器的計算模型。西元1937年,亞蘭杜林〔AlanTuring〕提出了TuringMachine的概念。TuringMachineTuringmachinesareextremelybasicabstractsymbol-manipulatingdeviceswhich,despitetheirsimplicity,canbeadaptedtosimulatethelogicofanycomputerthatcouldpossiblybeconstructed.Thoughtheywereintendedtobetechnicallyfeasible,Turingmachineswerenotmeanttobeapracticalcomputingtechnology,butathoughtexperimentaboutthelimitsofmechanicalcomputation;thustheywerenotactuallyconstructed.Studyingtheirabstractpropertiesyieldsmanyinsightsintocomputerscienceandcomplexitytheory.2024/1/26嵌入式系統組織架構與設計12計算機科學(ComputerScience)TuringMachine艾倫‧杜林的“通用電腦器〞(“universalcomputingmachine〞)是由他(1936-1937)為他的多用途單機器〔電腦器〕模型命名,這模型可以“運行〞任何恣意〔但well-formed〕指令序列〔稱為"quintuples"〕。這模型被一些人例如Davis(2000)認為是“存儲程式電腦〞的原點。每台圖靈機從它的字母表得到字串計算一確定的固定偏可計算函數。從外觀上它的行為就像一台运用固定程式的電腦。儘管如此,我們可以把任何杜林機的動作表格編碼到一條字串。2024/1/26嵌入式系統組織架構與設計13計算機科學(ComputerScience)VonNeumannorStoredprogramComputer最早的電腦器僅內涵固定用途的程式,通常是為了簡化或教育目的。例如一個計算器僅有固定的數學計算程式,它不能拿來當作文書處理軟體,更不能拿來玩遊戲。假想象要改變此機器的程式,則必須更改線路、更改結構甚至重新設計此機器。范紐曼結構型電腦,則是以儲存程式型電腦的概念改變了這一切。藉由創造一組指令集結構,並將所謂的運算轉化成一串程式指令的執行細節,讓此機器更有彈性。借著將指令當成一種特別型態的靜態資料,一台儲存程式型電腦可輕易改變其程式,並在程式控制下改變其運算內容。2024/1/26嵌入式系統組織架構與設計14計算機的通用架構西元1945年「范紐曼方式」〔vonNeumannModel〕最主要的精神在於「儲存程式」〔storedprogram〕的概念2024/1/26嵌入式系統組織架構與設計15uProcessor架構-Intel80386為例Blockdiagramofthei3862024/1/26嵌入式系統組織架構與設計16計算機科學(ComputerScience)計算機系統層次結構從功能上看,現代電腦系統可分為五個層次級別,每一層都能進行程式設計。微程式設計級這一級是由硬體直接實現的,是電腦系統最底層的硬體系統。由機器硬體直接執行微指令。只需採用微程式設計的電腦系統,才有這一級。假设某一個應用程式直接用微指令來編寫,那麼可在這一級上運行應用程式。普通機器級也稱為機器語言級,它由微程式解釋機器指令系統。這一級也是硬體級,是軟體系統和硬體系統之間的紐帶。硬體系統的操作由此級控制,軟體系統的各種程式,必須轉換成此級的方式才干執行。2024/1/26嵌入式系統組織架構與設計17計算機科學(ComputerScience)作業系統級
由作業系統程式實現。這些作業系統由機器指令和廣義指令組成,廣義指令是作業系統定義和解釋的軟體指令,所以這一級也稱為混合級。電腦系統中硬體和軟體資源由此級管理和統一調度,它支撐著其他系統軟體和應用軟體,使電腦能夠自動運行,發揮高效率的特性。
組合語言級給程式人員提供一種符號方式語言,以減少程式編寫的複雜性。這一級由組合語言程式支持和執行。假设應用程式採用組合語言編寫,則機器必須要有這一級的功能;假设應用程式不採用組合語言編寫,則這一級可以不要。
高階語言級導向用戶,為方便用戶編寫應用程式而設置的。這一級由各種高階語言編譯程序支持和執行。2024/1/26嵌入式系統組織架構與設計18計算機科學(ComputerScience)電腦系統各層次之間的關係非常緊密,上層是下層的擴展,下層是上層的基礎除第一級外,其他各級都得到它下面級的支持,同時也遭到運行在下面各級上的程式的援助。第一級到第三級編寫程式採用的語言,根本是二進位數字字化語言,機器執行和解釋容易。第四、五兩級編寫程式所採用的語言是符號語言,用英文字母和符號來表示程式,因此便於大多數不瞭解硬體的人們运用電腦。2024/1/26嵌入式系統組織架構與設計19計算機系統層次結構Ring0Ring1Ring2Ring3Ring4Ring5Ring6Ring0:硬體邏輯Ring1:程序控制Ring2:作業系統(OS)Ring3:匯編程序Ring4:高級語言匯編或解釋程序Ring5:應用程序Ring6:應用系統羅及模型2024/1/26嵌入式系統組織架構與設計20計算機系統層次結構2024/1/26嵌入式系統組織架構與設計21計算機科學(ComputerScience)ComputerScience與資訊工程(InformationEngineering)西元1962年,史丹佛大學和普渡大學成立了全球最早的計算機科學系〔computersciencedepartments〕台灣最早的計算機科學系:交通大學計算機與控制工程系(1970)台灣最早命名為資訊工程系的則是台灣大學(1977)交大的計工系也於1988年更名為資訊工程系現在幾乎全球各主流大學,都設立了計算機科學的相關科系,足以顯示計算機一日千里的進展2024/1/26嵌入式系統組織架構與設計22摩爾定律是由英特爾〔Intel〕創始人之一戈登·摩爾〔GordonMoore〕提出來的。其內容為:積體電路上可容納的電晶體數目,約每隔18個月便會添加一倍,性能也將提升一倍,而價格下降一半;或者說,每一美圆所能買到的電腦性能,將每隔18個月翻兩倍以上。[1]這一定律提示了資訊技術進步的速度。計算機科學(ComputerScience)2024/1/26嵌入式系統組織架構與設計23第一章課程大綱嵌入式系統概述嵌入式系統特性嵌入式系統體系架構嵌入式系統之發展嵌入式系統軟體Linux作業系統WinCE作業系統嵌入式系統開發平臺嵌入式系統硬體IntelXscaleSOC系列IntelXscale實驗平台2024/1/26嵌入式系統組織架構與設計24嵌入式系統概述嵌入式系統特性何謂嵌入式系統?何謂系統:根據一個固定之計畫、一個程式或一系列的規則,處理執行一個或多個任务之方法,系統也可以是根據計畫或程式來整合一切硬體的協同任务。例如:手錶、洗衣機、汽車電子、電腦(含OS)嵌入式系統是在一些大型系統內,由硬體與軟體所構成的一個元件,處理一些不需由人們來操作且特定之一些功能。大多是以電腦為基礎之系統(Computer-Based)的應用程式或產品。內含軟體(OS、AP)於ROM之中的單一微電腦機板,執行特種功能。交融驗腦軟/硬體技術、通訊技術與半導體微電子技術,是資訊技術IT(InformationTechnology)之最終產品。2024/1/26嵌入式系統組織架構與設計25嵌入式系統概述嵌入式系統特性何謂嵌入式系統?從應用之層面,根據IEEE的定義:嵌入式系統是「控制、監視或者輔助裝置、機器和設備執行之裝置」,亦可說是軟體與硬體之綜合體。「以應用為中心、以電腦技術為基礎、軟體硬體可隨需求而更新、適應應用系統對功能、可靠性、本钱、體積、功耗嚴格要求之專用電腦系統」。當今稱嵌入式系統是針對具有作業系統之嵌入式系統2024/1/26嵌入式系統組織架構與設計26嵌入式系統概述嵌入式系統特性配合特定應用之特殊設計用戶導向、產品導向、應用導向,與應用緊密結合。高效率、穩定之系統先進之電腦、半導體和電子等技術交融一體。產品壽命長與實際系統需求緊密結合,與具體產品同步升級、更新。不易被竊取和高平安性嵌入式系統本身不具有自主開發之才干,普通运用者無法對其中功能進行修正,必須有一套開發工具與環境才干進行開發,如硬體模擬之ICE或軟體模擬之ADS(ARM®DeveloperSuite™)、RealViewDeveloperSuite等。容易操作微型化2024/1/26嵌入式系統組織架構與設計27嵌入式系統概述嵌入式系統體系架構早期應用於軍事、航空航太為主,逐渐轉移工業控制、汽車電子、通訊及家用消費等領域。嵌入式系統主要區分硬體與軟體二部分,其架構可分為四個部份:處理器中心記憶體輸入與輸出嵌入式作業系統與應用軟體(與普通性之PC有極大之區別)結合特定功能之應用嵌入式作業系統存入FLASH或EEPROMBootloaderVs.BIOS2024/1/26嵌入式系統組織架構與設計28第一章課程大綱嵌入式系統概述嵌入式系統特性嵌入式系統體系架構嵌入式系統之發展嵌入式系統軟體Linux作業系統WinCE作業系統嵌入式系統開發平臺嵌入式系統硬體IntelXscaleSOC系列IntelXscale實驗平台2024/1/26嵌入式系統組織架構與設計29嵌入式系統概述嵌入式系統體系架構重要名詞解釋uprocessorSOCICEMIPSPIPELINE結構作業系統指令主頻MMC2024/1/2630嵌入式系統概述嵌入式系統體系架構嵌入式系統架構圖嵌入式系統採用“量身訂作〞的方式,把所需求之功能嵌入至各種應用系統中,隨應用方式之不同,區分:IP〔IntellectualProperty〕級--系統級晶片SOC〔SystomonChip〕的方式晶片級-目前嵌入式系統最常見的方式模組級-常出現在工業控制和儀器儀表中2024/1/2631嵌入式系統概述嵌入式系統體系架構IP〔IntellectualProperty〕級--系統級晶片SOC在一個矽晶片上實現一個更為複雜系統各種通用處理器中心將成為SoC設計的標準庫,成為VLSI設計中一種標準的器件,可以用標準的VHDL等語言描画,並儲存在元件庫中。除個別無法集成的元件以外,整個嵌入式系統大部分均可集成到一塊或幾塊晶片中應用系統電路板將變得很簡潔,對於減小體積和功率耗费、提高可靠性非常有利。SOC可以分為通用和專用兩類:專用SOC通常用於某類系統中,而不為普通用戶所知。通用型SOC如:ARM系列晶片元件。2024/1/2632嵌入式系統概述嵌入式系統體系架構晶片級嵌入式微控制器(MicrocontrollerUnit,MCU)又稱單晶片,就是將整個電腦系統匯集到一塊晶片中是以某一種微處理器內核為中心,晶片內部整合。ROM/EPROM、RAM、匯流排、匯流排邏輯、定時/計數器、WatchDog、I/O、串列埠、脈寬調變輸出、類比轉數位(A/D)、數位轉類比(D/A)、FlashRAM、EEPROM等各種必要功能和週邊設備。為適應不同的應用需求,一個單晶片系列具有許多種衍生產品,每種衍生產品的處理器內中心都是一樣的,不同的是記憶體和週邊設備的配置與封裝。最大特點是單晶片化,體積大幅減小,因此使功率耗费和本钱下降、可靠性提高。是目前嵌入式系統工業的主流。微控制器晶片上週邊設備資源通常比較豐富,適合於控制用途,因此稱之為微控制器。市佔率約70%的嵌入式市場。2024/1/26嵌入式系統組織架構與設計33嵌入式系統概述嵌入式系統體系架構嵌入式DSP處理器(EmbeddedDigitalSignalProcessor,EDSP)系統結構和指令進行了特殊的設計,使其適合於執行DSP演算法,提高編譯效率和指令執行速度。DSP應用正從以普通指令實現DSP功能的通用單晶片中,過渡到採用嵌入式DSP處理器。2024/1/2634嵌入式系統概述嵌入式系統體系架構模組級-常出現在工業控制和儀器儀表中基礎就是通用電腦中的中央處理器(CPU)裝配在專門設計的電路板上,只保管和嵌入式應用相關的母板功能在任务溫度、抗電磁干擾、可靠性等方面普通都做了各種加強。具有體積小、分量輕、本钱低、可靠性高的優點在電路板上必須包括ROM、RAM、匯流排界面、和各種週邊設備,因此降低了系統的可靠性,技術严密性也較差嵌入式微處理器及其記憶體、匯流排、週邊設備等安裝在一塊電路板上,亦稱之為單板電腦。2024/1/26嵌入式系統組織架構與設計35嵌入式系統概述嵌入式系統體系架構ARM簡介「AdvanceRISCMachine,ARM」是一個公司名,已可說是微處理器之通稱,例如:SONYARM公司是專門RISC技術晶片設計開發公司,作為之是產權供應商,不從事晶片生產,賣轉讓設計許可。ARM微處理器之應用領域:工業控制無線通訊網路應用消費類電子影像與平安類產品2024/1/26嵌入式系統組織架構與設計36嵌入式系統概述嵌入式系統體系架構ARM微處理器之特點體積小、低功耗、低本钱、高性能援助16/32位元等級之微處理器大量运用微處理器,指令執行速度快大多數指令操作是在暫存器中執行。定址方式靈活簡單,執行效率高。指令長度固定2024/1/2637嵌入式系統概述嵌入式系統體系架構ARM微處理器系列通用型:ARM7、ARM9、ARM9E、ARM10EIntel的StrongARM、Xscale等。專用型:SecurCoreARM提供一系列方案:CPU內核
小型、快速、低能耗、ARM指令集Thumb指令集之整合式RISC內核,採用多層管線(Pipeline)架構,以增進處理效能。體系擴展
Thumb:以16位元系統的本钱,提供32位元RISC性能,特別留意的是它所需的記憶體容量非常小。嵌入式ICE調校
由於整合了類似於ICE的CPU內核調校技術,所以原型設計和系統晶片的調校得到了極大的簡化。微處理器Thumb指令集是ARM指令集之一個子集,允許指令編碼為16為元之長度,其優勢是節省系統儲存之空間。Thumb指令集可援助ARM指令,Thumb的編碼程式亦可對應至ARM編碼程式。期付程式亦可相互呼叫運用。2024/1/26嵌入式系統組織架構與設計382024/1/26嵌入式系統組織架構與設計39嵌入式系統概述嵌入式系統體系架構ARM7微處理器具有嵌入式ICE-RT邏輯,除錯開發方便極低的功耗,適合對功耗要求嚴格的應用,如攜帶型產品;能夠提供0.9MIPS/MHz的三級流水線結構;程式密度高並相容16位元的Thumb指令集;對作業系統的援助廣泛,包括WindowsCE、Linux、PalmOS等;指令系統與ARM9、ARM9E和ARM10E系列相容,便於运用者的產品升級換代;主頻最高可達130MIPS,高速的運算處理能力能勝任絕大多數的複雜應用。2024/1/26嵌入式系統組織架構與設計40嵌入式系統概述嵌入式系統體系架構ARM7系列微處理器的主要應用領域為:工業控制、Internet設備、網路和數據機設備、行動電話等多種多媒體和嵌入式應用。ARM7系列微處理器包括如下幾種類型的中心:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前运用最廣泛的32位元嵌入式RISC處理器,屬低端ARM處理器中心。TDMI的根本含義為:T:援助16位元壓縮指令集Thumb;D:援助晶片上Debug;M:內嵌硬體乘法器〔Multiplier〕;I:嵌入式ICE,援助晶片上中斷點和除錯點。ARM7不具有MMU功能。2024/1/2641嵌入式系統概述嵌入式系統體系架構ARM9微處理器:ARM9系列微處理器在高性能和低功耗特性方面提供最正确的性能。具有以下特點:提供1.1MIPS/MHz5級流水線結構;援助32位元ARM指令集和16位元Thumb指令集;援助32位元的高速AMBA匯流排介面;全性能MMU,援助WindowsCE、Linux、PalmOS等主流嵌入式作業系統;MPU援助即時操作系統;援助資料Cache和指令Cache,具有更高的指令和資料處理能力。ARM9系列微處理器主要應用於無線設備、儀器儀表、平安系統、機頂盒、高端印表機、數位照相機和數位攝像機等。它包含ARM920T、ARM922T和ARM940T三種類型。2024/1/26嵌入式系統組織架構與設計42嵌入式系統概述嵌入式系統體系架構ARM9E微處理器ARM9E系列微處理器為可綜合處理器,运用單一的處理器中心提供了微控制器、DSP、Java應用系統的解決方案,極大地減少了晶片的面積和系統的複雜程度。ARM9E系列微處理器提供了增強的DSP處理能力,很適合於那些需求同時运用DSP和微控制器的應用場合。ARM9E系列微處理器的主要特點如下:援助DSP指令集,適合於需求高速數位信號處理的場合;5級整數流水線,指令執行效率更高;2024/1/26嵌入式系統組織架構與設計43嵌入式系統概述嵌入式系統體系架構ARM9E援助32位元ARM指令集和16位元Thumb指令集;援助32位的高速AMBA匯流排介面;援助VFP9浮點處理輔助運算器;全性能MMU,援助WindowsCE、Linux、PalmOS等主流嵌入式作業系統;MPU援助即時操作系統;援助資料Cache和指令Cache,具有更高的指令和資料處理能力;主頻最高可達300MIPS。ARM9E系列微處理器主要應用於下一代無線設備、數位消費品、影像設備、工業控制、儲存設備和網路設備等領域。它包含ARM926EJ-S、ARM946E-S和ARM966E-S三種類型。2024/1/26嵌入式系統組織架構與設計44嵌入式系統概述嵌入式系統體系架構ARM10E系列微處理器具有高性能、低功耗的特點,由於採用了新的體系結構,與同等的ARM9元件相比較,在同樣的時鐘頻率下,性能提高了近50%,同時,ARM10E系列微處理器採用了兩種先進的節能方式,使其功耗極低。ARM10E系列微處理器的主要特點如下:援助DSP指令集,適合於需求高速數位信號處理的場合;6級整數流水線,指令執行效率更高;援助DSP指令集,適合於需求高速數位信號處理的場合;6級整數流水線,指令執行效率更高;2024/1/26嵌入式系統組織架構與設計45嵌入式系統概述嵌入式系統體系架構援助32位元ARM指令集和16位元Thumb指令集;援助32位元的高速AMBA匯流排介面;援助VFP10浮點處理輔助運算器;全性能MMU,援助WindowsCE、Linux、PalmOS等主流嵌入式作業系統;援助資料Cache和指令Cache,具有更高的指令和資料處理能力;主頻最高可達400MIPS;內嵌並行讀/寫操作元件。ARM10E系列微處理器主要應用於下一代無線設備、數位消費品、影像設備、工業控制、通讯和資訊系統等領域。它包含ARM1020E、ARM1022E和ARM1026EJ-S三種類型。2024/1/26嵌入式系統組織架構與設計46嵌入式系統概述嵌入式系統體系架構SecurCore微處理器系列SecurCore系列微處理器專為平安需求而設計,提供了完善的32位元RISC技術的平安解決方案,因此它除了具有ARM體系結構的低功耗、高性能的特點外,還具有其獨特的優勢,即提供了對平安解決方案的援助。SecurCore系列微處理器在系統平安方面具有如下的特點:帶有靈活的保護單元,以確保作業系統和應用資料的平安;採用軟中心技術,防止外部對其進行掃描探測;可集成运用者本人的平安特性和其他輔助運算器。2024/1/26嵌入式系統組織架構與設計47嵌入式系統概述嵌入式系統體系架構SecurCore系列微處理器主要應用於一些對平安性要求較高的應用產品及應用系統,如電子商務、電子政府服務、電子銀行業務、網路和認證系統等領域。它包含SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210四種類型。SecurCore系列微處理器主要應用於一些對平安性要求較高的應用產品及應用系統,如電子商務、電子政府服務、電子銀行業務、網路和認證系統等領域。2024/1/26嵌入式系統組織架構與設計48嵌入式系統概述嵌入式系統體系架構StrongARM微處理器系列IntelStrongARMSA-1100以及IntelStrongARMSA-1110處理器是採用ARM體系結構,高度集成的32位元RISC微處理器。交融了Intel公司的設計和處理技術以及ARM體系結構的電源效率,採用在軟體上相容ARMv4體系結構、同時採器具有Intel技術優點的體系結構。IntelStrongARM處理器是攜帶型通訊產品和消費型電子產品的理想選擇,已胜利應用於多家公司的掌上型PDA系列產品。2024/1/26嵌入式系統組織架構與設計49嵌入式系統概述由於ARM微處理器有多達十幾種的中心結構,幾十個晶片生產廠家,以及千變萬化的內部功能配置組合,因此以介紹ARM微處理器為主,但ARM系列中心之功能亦有不同,其較大差異說明如后:作業系統:WinCE或標準Linux作業系統,就需求選擇ARM720T以上帶有MMU〔MemoryManagementUnit〕功能的ARM晶片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都帶有MMU功能。ARM7TDMI則沒有MMU,不援助WindowsCE和標準Linux,但目前有uCLinux以及uC/OS-II等不需求MMU援助的作業系統可執行於ARM7TDMI硬體平臺之上。本課程教學實驗系統运用的PXA270為一款具有MMU的ARM微處理器,可在其上執行Linux、WindowsCE和uC/OS-II等作業系統。2024/1/26嵌入式系統組織架構與設計50嵌入式系統概述系統的任务頻率:系統的任务頻率在很大程度上決定了ARM微處理器的處理能力。ARM7系列微處理器的典型處理速度為0.9MIPS/MHz,常見ARM7晶片系統主時鐘20MHz-133MHz。ARM9系列微處理器的典型處理速度為1.1MIPS/MHz,常見ARM9的系統主時鐘頻率為100MHz-233MHz;ARM10最高可以達到700MHz。不同晶片對時鐘的處理不同,有的晶片只需求一個主時鐘頻率,有的晶片內部時鐘控制器可以分別為ARM中心和USB、UART、DSP、音頻等功能元件提供不同頻率的時鐘。2024/1/26嵌入式系統組織架構與設計51嵌入式系統概述晶片內記憶體的容量:大多數ARM微處理器片內記憶體的容量都不大,需求运用者在設計系統時外擴記憶體,但也有部分晶片具有相對較大的晶片內儲存空間,如ATMEL的AT91F40162就具有高達2MB的晶片內程式儲存空間,运用者在設計時可考慮選用這種類型,以簡化系統的設計。晶片內週邊電路的選擇:除ARM微處理器中心以外,幾乎一切的ARM晶片均根據各自不同的應用領域,擴充了相關功能模組,並集成在晶片之中,我們稱之為晶片內週邊電路,如USB介面、IIS介面、LCD控制器、鍵盤介面、RTC、ADC和DAC、DSP輔助運算器等。設計者應分析系統的需求,盡能够採用晶片內週邊電路完成所需的功能,以簡化系統的設計,提高系統的可靠性。2024/1/26嵌入式系統組織架構與設計52第一章課程大綱嵌入式系統概述嵌入式系統特性嵌入式系統體系架構嵌入式系統之發展嵌入式系統軟體Linux作業系統WinCE作業系統嵌入式系統開發平臺嵌入式系統硬體IntelXscaleSOC系列IntelXscale實驗平台2024/1/26嵌入式系統組織架構與設計53嵌入式系統概述嵌入式系統體系架構嵌入式系統之發展應用軟體的開發需求強大的開發工具和作業系統的援助網路成為必然趨勢援助小型電子設備實現小尺寸、低功率和低本钱提供精巧的多媒體人機界面2024/1/26嵌入式系統組織架構與設計54第一章課程大綱嵌入式系統概述嵌入式系統特性嵌入式系統體系架構嵌入式系統之發展嵌入式系統軟體Linux作業系統WinCE作業系統嵌入式系統開發平臺嵌入式系統硬體IntelXscaleSOC系列IntelXscale實驗平台2024/1/26嵌入式系統組織架構與設計55嵌入式系統軟體嵌入式作業系統限於儲存空間等要素,相對地作業系統規模較為精簡,精簡之方式主要是透過減少內核中心、減少動態連結庫、減少應用程式等,以達到減少各種程式碼佔用記憶體空間之目的。嵌入式系統需求增強即時性之特殊功能,這可透過修正流程調度演算法和运用雙中心系統達成。嵌入式系統具有主機模擬的環境(跨平台)來進行發展之優勢。模擬MSWindows的Cygwin或VMWare等嵌入式作業系統最常用之作業系統嵌入式LinuxuclinuxFedoraWinCE2024/1/26嵌入式系統組織架構與設計56嵌入式系統軟體Linux作業系統WinCE作業系統嵌入式系統開發平臺2024/1/26嵌入式系統組織架構與設計57嵌入式系統軟體軟體系統可以進一步劃分為系統軟體、支撐軟體和應用軟體三個層次。系統軟體是電腦系統中基礎的軟體系統,它包括作業系統、編譯系統和資料庫等。其中作業系統在軟體系統的最下層,緊接著底層硬體.支撐軟體包括網路通讯程式、多媒體援助軟體、硬體介面程式、實用軟體工具以及軟體發展工具等等。網路通讯程式完成電腦網路通讯的功能。多媒體援助軟體協助電腦系統實現對圖形、圖像、語音和視頻等多媒體資訊的處理。硬體介面程式提供與各種電腦外部設備的連接援助。實用軟體工具則提供了多種系統維護和操作的手段,而軟體發展工具為程式設計人員編寫代碼提供了良好、便利的環境。2024/1/26嵌入式系統組織架構與設計58嵌入式系統軟體Linux作業系統LinuxOS之種類:桌面與伺服器方式之OS:FedoraLinux嵌入式LinuxOS:RT-Linux、uCLinux、XLinux、紅旗嵌入式Linux2024/1/2659嵌入式系統軟體Linux作業系統Linux系統分成三個重要的部份:中心Shell工具程式(檔案結構、實用工具)為何稱它為Shell呢?Shell的本意是"殼"的意思呢!沒錯,在中心的外面,包覆著一層外殼,用來負責接纳运用者輸入的指令,然後將指令解譯成中心能夠了解的方式,傳給中心去執行,再將結果傳回至預設的輸出周邊。2024/1/26嵌入式系統組織架構與設計60嵌入式系統軟體嵌入式Linux嵌入式Linux系統包含:內核中心和應用程式二部分。內核中心為應用程式提供一個虛擬之硬體平台,以統一之方式對資源進行分配。應用程式負責系統之部分初始化、根本之人機介面、必要之指令等內容。2024/1/26嵌入式系統組織架構與設計61嵌入式系統軟體中心在電腦科學中,中心是作業系統最根本的部分。它是為眾多應用程式提供對電腦硬體的平安訪問的一部分軟體,這種訪問是有限的,並且內核決定一個程式在什麼時候對某部分硬體操作多長時間。直接對硬體操作是非常複雜的;所以中心通常提供一種硬體笼统的方法,來完成這些操作。硬體笼统隱藏了複雜的部分,為應用軟體和硬體提供了一套簡潔,統一的介面,使程式設計更為簡單。2024/1/26嵌入式系統軟體中心中心可分為四大類:單內核:它為潛在的硬體,提供了大量完善的硬體笼统操作。如:Linux中心、UNIX、Windows9x。微內核:只提供了很小一部分的硬體笼统,大部分功能由一種特殊的用戶態(usermode)程式:伺服器來完成。如:MINIX混合內核:它很像微內核結構,只不過它的的元件更多的在內核態(supervisormode)中運行,以獲得更快的執行速度。如:WindowsXP、Vista、NT。外內核:這種內核不提供任何硬體笼统操作,但是允許為內核添加額外的函式庫(library),通過這些函式庫應用程式可以直接地或者接近直接地對硬體進行操作。Linux2024/1/26嵌入式系統組織架構與設計63嵌入式系統軟體四大類中心表示圖:單內核微內核混合內核單內核結構的例子:傳統的UNIX內核,例如伯克利大學發行的版本Linux內核MS-DOS,Windows9x(Windows95,98,Me)微內核結構的例子:AIXBeOSL4微內核系列Mach,用於GNUHurd和MacOSXMinix2024/1/26嵌入式系統組織架構與設計64嵌入式系統軟體Linux中心中心是系統的心臟,是執行程式和管理像磁片和印表機等硬體設備的中心程式。它從运用者那裏接受指令並把指令送給中心去執行。「中心(kernel)」指的是一個提供硬體笼统層、磁片及檔案系統控制、多工等功能的系統軟體。一個中心不是一套完好的作業系統。一套基於Linux中心的完好作業系統叫作Linux作業系統,或是GNU/Linux。Linux中心是由芬蘭之網路駭客LinusTorvalds以AndrewStuartTanenbaum教授(美國)所開發之MINIXOS為基礎發展而成。是由GNU組織所發布,是目前自在軟體中最杰出之軟體程式。Linux:::2024/1/2665嵌入式系統軟體Linux中心Linux中心的功能大致分成如下幾個部分:進程(process)管理:進程管理功能負責建立和撤銷進程以及處理他們和外部世界的連接。不同進程之間的通讯是整個系統的根本功能,因此也由中心處理。除此之外,控制進程如何共用CPU資源的調度程式也是進程管理的一部分。概括的說,中心的進程管理活動就是在單個或多個CPU上實現多進程的笼统。記憶體管理:記憶體是電腦的主要資源之一,用來管理記憶體的策略是決定系統性能的一個關鍵要素。中心在有限的可用資源上為每個進程都建立了一個虛擬定址空間。中心的不同部分在和記憶體管理子系統交互時运用一套一样的系統呼叫,包括從簡單的malloc/free到其他一些不常用的系統呼叫。Linux:::2024/1/2666嵌入式系統軟體Linux中心檔案系統:Linux在很大程度上依賴於檔案系統的概念,Linux中的每個物件幾乎都是可以被視為檔案的。中心在沒有結構硬體上構造結構化的檔案系統。所構造的檔案系統籌向在整個系統中廣泛运用。另外,Linux援助多種檔案系統類型,即在物理介質上組織的結構不同。設備控制:幾乎每個系統操作最終都會映射到物理設備上。除了處理器,記憶體以及其他很有限的的幾個實體外,一切的設備控制操作都由與被控制設備相關的程式完成。這段程式叫做設備驅動程式,中心必須為系統中的每件外部設備嵌入相應的驅動程式。Linux2024/1/26嵌入式系統組織架構與設計67嵌入式系統軟體Linux中心網路功能:網路功能也必須有作業系統來管理,因為大部分網路操作都和具體的進程無關。在每個進程處理這些資料之前,資料報必須已經被搜集、標識、和分發。系統負責在應用程式和網路之間傳遞資料。另外,一切的路由和位址解析問題都由中心處理。2024/1/26嵌入式系統組織架構與設計68嵌入式系統軟體嵌入式Linux內核中心嵌入式Linux內核中心可以分為六部分:程序管理,記憶體管理,檔案系統,程序間通讯,網路,設備驅動。這六個部分間之關係,如下圖:網路檔案系統程序間通訊驅動程式記憶體管理程序調度虛擬硬體層實體硬體層表示相依關係2024/1/26嵌入式系統組織架構與設計69嵌入式系統軟體嵌入式Linux內核中心程序管理:控制CPU之資源分配,Linux值型基於優先順序的搶占式多工。即時處理需求多,因此需求改變程序調度來執行及時程序程序調度普通是透過時鐘中斷執行,因此與硬體有關。程序調度程式碼普通是以組合語言撰寫記憶體管理系統:管理記憶體資源,援助虛擬記憶體。執行程序間之記憶體保護、記憶體共用、分配等管理。與記憶體硬體有關:初始化記憶體、分頁處理機制。與記憶體硬體無關:記憶體分配與記憶體映射(memorymapping)2024/1/26嵌入式系統組織架構與設計70嵌入式系統軟體嵌入式Linux內核中心檔案系統:虛擬檔案系統介面(VFS),真實之檔案系統皆掛在VFS之下,在統一之介面下,進行查詢。邏輯檔案系統與設備驅動程式在嵌入式Linux系統,檔案系統皆是建立在區塊裝置方式,如RAM、FLASH程序間通讯:一切程序皆在本人之記憶體位址空間執行,部會相互关擾。而程序間資訊之護船,則是經由程序通讯機制。Pipe、Signal、網路通讯等2024/1/26嵌入式系統組織架構與設計71嵌入式系統軟體嵌入式Linux內核中心網路援助多種網路協定:IP、IPv6、Bluetooth等中心網路程式碼與硬體無關驅動程式Linux除CPU和記憶體以外之資源皆用驅動程式的方式管理,內核中心原始程式碼大部分是各種驅動程式Linux有三類設備:字元設備、區塊裝置及網路設備。2024/1/26嵌入式系統組織架構與設計72嵌入式系統軟體Linuxshell由於中心的部份相當低階,操作者不易和它直接溝通,因此,必須要有一個友善的介面(interface),使得操作時能更為方便,這個介面便是Shell.換言之,Shell就是一個居於中心和操作者之間的一層运用者介面.為何稱它為Shell呢?Shell的本意是"殼"的意思呢!沒錯,在中心的外面,包覆著一層外殼,用來負責接纳运用者輸入的指令,然後將指令解譯成中心能夠了解的方式,傳給中心去執行,再將結果傳回至預設的輸出周邊。2024/1/26嵌入式系統組織架構與設計73嵌入式系統軟體Linuxshell2024/1/26嵌入式系統組織架構與設計74嵌入式系統軟體Linuxshell例如:資料夾檔案顯示,指令為ls-l,則shell給他以下回應:2024/1/26嵌入式系統組織架構與設計75嵌入式系統軟體擁檔有案檔種案檔案大小最近修正的類檔案權限數擁有人組別(byte單位)日期及時間檔案名稱drwxr-xr-x14rootroot1024Jul2121:31.drwxr-xr-x17rootroot1024Apr1112:01..Drwxr-xr-x882821024Feb2519:23apache-rw-r--r--1rootroot1335460Feb2517:45apache_1_3_4.tar.gzdrwxr-xr-x6rootroot1024Aug311998ftpdrwxr-xr-x5rootroot1024Aug311998httpddrwx------2jamesjames1024Apr2306:47jamesdrwxr-xr-x2rootroot12288Aug311998lost+founddrwxr-xr-x2msqlnobody1024Dec281998msqldrwxr-xr-x28ols3ols32048Jul1921:38ols3drwxr-xr-x31022nobody1024Jan2523:40ols3cgidrwxrwxr-x3perlols31024Feb207:11perl-rw-------1rootroot2097152Jul2118:39quota.group-rw-------1rootroot1278656Jul2118:39quota.userdrwxrwxr-x2rootnobody1024May111998sambadrwxr-xr-x3apachenobody1024Feb2516:58temp2024/1/26嵌入式系統組織架構與設計76嵌入式系統軟體Linuxshell這不只是Linux有這一層Shell,其它作業系統也有,比如DOS的command,Windows的GUI(GraphicalUserInterface),Mac的GUI等。Shell按著表現的方式與讀取运用者輸入種類的不同,可分為二大類:Textbase:文字導向,如DOSGraphbase:圖型導向,如WINDOWS所謂"讀取运用者輸入種類不同"是指:讀取自鍵盤,或讀取自滑鼠,其它serialinput,螢幕觸控等.2024/1/26嵌入式系統軟體Linuxshell以DOS的COMMAND而言,它就是一個十足的命令直譯器,除了一點點batch檔的才干之外,它的功能並不多。Win平台的GUI,則是一個圖型式的命令直譯器,介面非常友善。然這二種OS,不能讓他自在而簡單地選擇Shell。Linux的shell,除了做為命令直譯器之外,它也是一個不錯的程式語言,是系統管理維護時的重要工具。Unix家族,對Shell的處理,採獨立自在開放的方式,因此,Shell的種類相當地多,常用的是BourneAgainshell:bash(GNU)2024/1/26嵌入式系統組織架構與設計78嵌入式系統軟體LinuxshellLinux是多人多工的作業系統,這意謂Linux可以讓多人同時运用,更可以同時執行許多程式。普通而言,他所執行的指令會不断握著控制權,不断到程式結束為止,我們稱為這樣的執行任务是在前景任务(foregroundjobs),假设,執行指令時,他依然可以再做其它的事情,那我們就稱它是在背景任务。較耗時間的任务,我們會把它丟到背景去執行,而這期間,我們依然可以和shell繼續溝通,下達其它命令給shell去執行。2024/1/26嵌入式系統軟體Linuxshell以DOS的COMMAND而言,它就是一個十足的命令直譯器,除了一點點batch檔的才干之外,它的功能並不多。Win平台的GUI,則是一個圖型式的命令直譯器,介面非常友善。然這二種OS,不能讓他自在而簡單地選擇Shell。Linux的shell,除了做為命令直譯器之外,它也是一個不錯的程式語言,是系統管理維護時的重要工具。Unix家族,對Shell的處理,採獨立自在開放的方式,因此,Shell的種類相當地多,常用的是BourneAgainshell:bash(GNU)2024/1/26嵌入式系統組織架構與設計80嵌入式系統軟體Linux檔案結構檔案系統(FileSystem)是用來儲存和組織在電腦中的檔案,在檔案系統中所存放的一些資訊可以用來快速找到在硬碟或是光碟中的檔案資料並做維護的任务;此外檔案系統也會對建立RAM和硬體(硬碟或是其他儲存裝置)資料的對應,兩者之間會有所謂的邏輯和實體的對應關係,是由檔案系統來做維護。檔案結構是檔案存放在磁片等儲存設備上的組織方法。主要展現在對檔案和目錄的組織上,目錄提供了管理檔案的一個方便而有效的途徑。我們能夠從一個目錄切換到另一個目錄,而且可以設置目錄和檔案的許可權,設置檔案的共用程度。2024/1/26嵌入式系統組織架構與設計81嵌入式系統軟體Linux檔案結構Linux目錄採用多級樹形結構,运用者可以瀏覽整個系統,可以進入任何一個已授權進入的目錄,瀏覽那裏的檔案。檔案結構的相互關聯性使共用資料變得容易,幾個运用者可以瀏覽同一個檔案。Linux是一個多运用者系統,作業系統本身的駐留程式存放在以根目錄開始的專用目錄中,有時被指定為系統目錄。flashmemory因為具有速度快、體積小、耐震等特性,所以常被用來做為embeddedsystem的儲存裝置。2024/1/26嵌入式系統組織架構與設計82嵌入式系統軟體Linux檔案結構下圖是以樹形等級結構展現出Linux檔案結構,而根目錄下的目錄就是系統目錄。//etclocal/user/libsrcbin/bin/sbinbin2024/1/26嵌入式系統組織架構與設計83嵌入式系統軟體中心、Shell和檔案結構一同构成了根本的作業系統結構。它們使得运用者可以執行程式,管理檔案以及运用系統。Linux作業系統還有許多被稱為實用工具的程式,輔助运用者完成一些特定的任務。2024/1/26嵌入式系統組織架構與設計84嵌入式系統軟體Linux實用工具標準的Linux系統都有一套叫做實用工具的程式,它們是專門的程式,例如編輯器、執行標準的計算操作等。运用者也可以產生本人的工具。實用工具可分三類:編輯器:用於編輯檔案。篩檢(Filter)程式:用於接纳資料並過濾資料。交互程式:允許运用者發送資訊或接纳來自其他运用者的資訊。2024/1/26嵌入式系統組織架構與設計85嵌入式系統軟體Linux實用工具Linux的編輯器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是行編輯器,Vi和Emacs是全螢幕編輯器。Linux的篩檢程式〔Filter〕讀取從运用者檔案或其他地方的輸入,檢查和處理資料,然後輸出結果。從這個意義上說,它們過濾了經過它們的資料。Linux有不同類型的篩檢程式,一些篩檢程式用行編輯指令輸出一個被編輯的檔案。另外一些篩檢程式是按方式尋找檔案並以這種方式輸出部分資料。還有一些執行字元處理操作,檢測一個檔案中的格式,輸出一個格式化的檔案。2024/1/26嵌入式系統組織架構與設計86嵌入式系統軟體Linux實用工具Linux的篩檢程式〔Filter)(cont.)篩檢程式的輸入可以是一個檔案,也可以是运用者從鍵盤鍵入的資料,還可以是另一個篩檢程式的輸出。篩檢程式可以相互連接,因此,一個篩檢程式的輸出能够是另一個篩檢程式的輸入。Linux的交互程式是运用者與機器的資訊介面。Linux是一個多运用者系統,它必須和一切运用者坚持聯繫。資訊可以由系統上的不同运用者發送或接纳。資訊的發送有兩種方式:一種方式是與其他运用者一對一地連結進行對話另一種是一個运用者對多個运用者同時連結進行通訊,即所謂廣播式通訊。2024/1/26嵌入式系統組織架構與設計87Linux系統環境arm-elf-toolchainforlinux:ARMCPU的GNUCrossCompiler,在Linux環境下运用,透過CrossCompiler可以在某一架構下的CPU製作另一架構CPU可執行的MachineCode,例如我們目前运用x86的CPU製作ARM7架構的程式,所以我們需求一個x86"cross"到ARM7的Compiler。根本函数庫:需求Library给我们方便运用,有uClibcRedHatLinux9或Fedora:Linux作業系統,用來建造Linux的真實環境。2024/1/26嵌入式系統組織架構與設計88Linux系統環境vsftpd:FTP伺服器,用來提供EmbeddedPlatform透過FTP軟體進行目的檔案的存取。makeLinux環境下專案開發工具,編譯程式需求一行一行的下指令,還有一大堆的參數要設定,所以為了簡化這個枯燥無味的過程,設計了一套命令處理程式make,可以利用一個指令就完成一切的動作,就類似IDE的Run按鈕一樣包辦大小事情。在安裝Linux時,系統也一併會安裝make。2024/1/26嵌入式系統組織架構與設計89Linux系統環境vim:在Linux上的強力文字編輯器,用它來撰寫程式碼。Minicom:Linux上的連線軟體,我們用它使PC可以經由SerialPort和EmbeddedPlatform作連線,透過這個軟體可以觀察到EmbeddedPlatform發生的事情。但必須知道EmbeddedPlatform的硬體設定。2024/1/26嵌入式系統組織架構與設計90Linux系統環境HyperTerminal:Windows上的連線軟體,我們用它來使PC可以經由SerialPort和EmbeddedPlatform作連線,透過這個軟體可以觀察到EmbeddedPlatform發生的事情。PuTTY:Windows上的免费SSH、TELNET連線軟體。TFTP以網路埠(RJ-45)藉由通訊協定和目標機通訊作為檔案(可執行二儘位檔)傳輸。2024/1/26嵌入式系統組織架構與設計91嵌入式系統軟體嵌入式LinuxCygwin在windows上提供了一個像linux(Linux-like)的環境,可以讓运用者在windows上執行linux的程式。將linux上的程式移植到Windows,而不用做艰苦的修正,只需將原始碼拿來作configure與make就好了。运用常用的linux工具程式,如grep,sed,awk等。撰寫Win32nativeconsole或是GUI應用程式。2024/1/26嵌入式系統組織架構與設計92CygwinDomingo:廠商提供的Windows環境的IDE編譯,燒錄,執行的介面,可以利用它來觀察檢誤,不過目前我們只用它燒錄Flash的功能.當從PC燒錄至目標板上時,是用ParallelPort(例如:PrinterPort),modeEPP方式燒錄才穩定,必須在BIOS中修改與檢視,否則燒錄胜利率低於40%.UbuntuLinux是一份完好的桌面Linux作業系統,它可免費獲得。Fedora:是一份由RedHat策劃的開放開發專案,它向普通參與者開放並由精英管理者領導,沿著一系列專案目標而前進。Fedora專案的目標是與Linux社區協作,只從開放源碼軟體來創建一份完好的、通用的作業系統。2024/1/2693嵌入式系統軟體GNU(GNU'sNotUnix)「Guh-NOO」GNU計畫,又稱「革奴計畫」,是由RichardStallman在1983年9月27日公開發起的。它的目標是創建一套完全自在的作業系統,主要理由就是要“重現當年軟體界协作互助的團結精神〞。UNIX是一種廣泛运用的商業作業系統的名稱。由於GNU將要實現UNIX系統的介面標準,因此GNU計畫可以分別開發不同的作業系統部件。1991年LinusTorvalds編寫出了與UNIX相容的Linux作業系統中心,並在GPL條款下發佈。Linux之後在網上廣泛流傳,許多程式師參與了開發與修正。1992年Linux與其他GNU軟體結合,完全自在的作業系統正式誕生。該作業系統往往被稱為“GNU/Linux〞或簡稱Linux。GNU計劃的標誌即為牛羚的頭像非洲的大型哺乳动物。2024/1/26嵌入式系統組織架構與設計94嵌入式系統軟體Copyleft是一由自在軟體運動所發展的概念,是一種利用現有著作權體制來挑戰該體制的授權方式,在自在軟體授權方式中添加copyleft條款,即GNU通用公共許可證〔GNUGeneralPublicLicense,GPL〕之後,該自在軟體除了允許运用者自在运用、散佈、改作之外,copyleft條款更要求运用者改作後的衍生作品必須要以同等的授權方式釋出以回饋社群。有人將其譯為「著作權」,以彰顯Copyleft是補足著作權〔Copyright,版權〕缺乏的意義。另有譯為「反版權」等不同名詞。此「倒轉的©」是Copyleft標誌。它僅是Copyright標誌的倒轉版本2024/1/26嵌入式系統組織架構與設計95嵌入式系統軟體各種运用Linux作為中心之GNU作業系統現正廣泛地运用著,雖然此作業系統通稱為「Linux」,但更正確地應被稱為是GNU/Linux。GNU是根據UNIX的標準發展其應用程式,因此GNU是一個與UNIX相容之系統。2024/1/26嵌入式系統組織架構與設計96嵌入式系統軟體GCC〔GNUCompilerCollection,GNU編譯器套裝〕,是一套由GNU開發的編程語言編譯器。它是一套以GPL及LGPL許可證所發行的自在軟體,也是GNU計畫的關鍵部分,亦是自在的類Unix及蘋果電腦MacOSX操作系統的標準編譯器。GCC〔特別是其中的C語言編譯器〕也常被認為是跨平臺編譯器(CrossCompiler)或稱交叉編譯器的事實標準。GCC原名為GNUC語言編譯器〔GNUCCompiler〕因為它本来只能處理C語言。GCC很快地擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java,以及Ada與其他語言。GCC於1997年成為GNU系統的官方編譯器〔包括GNU/Linux家族〕2024/1/26嵌入式系統組織架構與設計97嵌入式系統軟體GCC-Linux之編譯器每個語言編譯器都是獨立程式,此程式可處理輸入的原始碼,並輸出組合語言碼。全部的語言編譯器都擁有共通的中介架構:一個前端解析符合此語言的原始碼,並產生一笼统語法樹一翻譯此語法樹成為GCC的暫存器轉換語言〈RTL〉的後端。編譯器最正确化與靜態程式碼解析技術在此階段應用於程式碼上。幾乎全部的GCC都由C寫成p.s程式師普通在主機上編寫和編譯嵌入式系統的代碼。所以主機上需求能為特定的嵌入式系統產生代碼的編譯器,他們被叫做交叉編譯器或彙編器2024/1/26嵌入式系統組織架構與設計98嵌入式系統軟體GCC-Linux之編譯器GCC之作法是由一個前端程式(frontend),把C、C++及ObjectC的語法轉換成一個內部的方式(RTL),再由後端(backend)對此虛擬組合語言進行最正确化,最後產生目標機CPU之組合語言碼。GCC編譯器產生組合語言碼,再由Assembler產生CPU目的檔。目的檔經由GCC之連結程式(Linker)產生可執行之機器碼。2024/1/26嵌入式系統組織架構與設計99嵌入式系統軟體GCC-Linux之編譯器每個語言編譯器都是獨立程式,此程式可處理輸入的原始碼,並輸出組合語言碼。全部的語言編譯器都擁有共通的中介架構:一個前端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陪诊师考试复习技巧试题及答案
- 2025年《骨外科学》相关专业知识考试题库
- 河道清淤施工合同
- 山东省个人房屋出售合同范本
- 2025新版设备租赁的合同(合同示范文本)
- 2025年授权股份转让合同范本
- 两带一枪消防培训
- 做工地围墙合同范例
- 2024年6月自建房电梯井道防水处理合同
- 2025长期雇佣合同模板
- 玉盘二部合唱简谱
- 《饲料标签》国标
- 特种设备使用单位风险评价打分表终附(共19页)
- PMC部门架构、职责与工作流程
- 广东省浅层地下水功能区划图(共22页)
- 太阳能光伏系统支架通用技术要求
- 实施批准文号管理的中药饮片
- 浅析重复性隐患问题发生的原因及防治措施
- 老年服务与管理专业实习报告
- 厌氧塔计算手册
- 压力管道施工方案(完整版)
评论
0/150
提交评论