版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)1嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)98.02.192024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)2課程大綱第一章嵌入式系統(tǒng)概述第二章嵌入式系統(tǒng)作業(yè)環(huán)境與系統(tǒng)開發(fā)流程第三章嵌入式系統(tǒng)Xscale微架構(gòu)之系統(tǒng)結(jié)構(gòu)第四章Xscale指令系統(tǒng)第五章Xscale-PXA270應(yīng)用處理器結(jié)構(gòu)和運(yùn)用方法實(shí)作PXA270結(jié)構(gòu)與特性時(shí)脈與電源管理系統(tǒng)整合單元LCD控制UART控制USB控制GPIO控制2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)3嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)-
第一章嵌入式系統(tǒng)概述98.02.192024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)4第一章課程大綱嵌入式系統(tǒng)概述嵌入式系統(tǒng)特性嵌入式系統(tǒng)體系架構(gòu)嵌入式系統(tǒng)之發(fā)展嵌入式系統(tǒng)軟體Linux作業(yè)系統(tǒng)WinCE作業(yè)系統(tǒng)嵌入式系統(tǒng)開發(fā)平臺(tái)嵌入式系統(tǒng)硬體IntelXscaleSOC系列IntelXscale實(shí)驗(yàn)平臺(tái)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)5前言「碩大便是美」正好與IA(InformationAppliance)求「小而美、小而省」是背道而馳。半導(dǎo)體電子發(fā)展趨勢是符合「摩爾定律」資訊載具上之資訊軟體研發(fā),具有量身訂做之特性,已從電腦中心設(shè)計(jì)(范紐曼結(jié)構(gòu))之時(shí)代轉(zhuǎn)向以消費(fèi)者中心(3C)的設(shè)計(jì)。多產(chǎn)業(yè)標(biāo)準(zhǔn)並存之網(wǎng)路架構(gòu)以及互動(dòng)性、相容性高之系統(tǒng)軟體變成為研發(fā)廠商開發(fā)之首要目標(biāo):節(jié)省人力本錢配合嵌入式系統(tǒng)多功能化求新、求變2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)6計(jì)算機(jī)科學(xué)(ComputerScience)ComputerScience電腦科學(xué)是一門包含各種各樣與計(jì)算和資訊處理相關(guān)主題的系統(tǒng)學(xué)科,從籠統(tǒng)的演算法分析、方式化語法等等,到更具體的主題如程式設(shè)計(jì)語言、程式設(shè)計(jì)、軟體和硬體等。作為一門學(xué)科,它與數(shù)學(xué)、電腦程式設(shè)計(jì)、軟體工程和電腦工程有顯著的不同,卻通常被混淆,儘管這些學(xué)科之間存在不同程度的交叉和覆蓋。中國算盤(abacus),遠(yuǎn)古就應(yīng)用在計(jì)算上。資訊理論資訊理論2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)7計(jì)算機(jī)科學(xué)(ComputerScience)Computerscience,orcomputingscienceItisthestudyofthetheoreticalfoundationsofinformationandcomputationandtheirimplementationandapplicationincomputersystems.Computation:Itisageneraltermforanytypeofinformationprocessingthatcanberepresentedmathematically.Computationisaprocessfollowingawell-definedmodelthatisunderstoodandcanbeexpressedinanalgorithm,protocol,networktopology,etc.2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)8計(jì)算機(jī)科學(xué)(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嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)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嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)10計(jì)算機(jī)科學(xué)(ComputerScience)計(jì)算機(jī)科學(xué)研討的課題:電腦程式能做什麼和不能做什麼〔可計(jì)算性〕如何使程式更高效的執(zhí)行特定任務(wù)〔演算法和複雜性理論〕程式如何存取不同類型的資料〔資料結(jié)構(gòu)和資料庫〕程式如何顯得更具有智慧〔人工智慧〕;人類如何與程式溝通〔人機(jī)互動(dòng)和人機(jī)界面〕2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)11計(jì)算機(jī)科學(xué)(ComputerScience)電腦(計(jì)算機(jī))科學(xué)的大部分研討是基於“杜林機(jī)〞(TuringMachine)和“馮·范紐曼電腦〞(JohnvonNeumann)的,它們是絕大多數(shù)實(shí)際機(jī)器的計(jì)算模型。西元1937年,亞蘭杜林〔AlanTuring〕提出了TuringMachine的概念。TuringMachineTuringmachinesareextremelybasicabstractsymbol-manipulatingdeviceswhich,despitetheirsimplicity,canbeadaptedtosimulatethelogicofanycomputerthatcouldpossiblybeconstructed.Thoughtheywereintendedtobetechnicallyfeasible,Turingmachineswerenotmeanttobeapracticalcomputingtechnology,butathoughtexperimentaboutthelimitsofmechanicalcomputation;thustheywerenotactuallyconstructed.Studyingtheirabstractpropertiesyieldsmanyinsightsintocomputerscienceandcomplexitytheory.2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)12計(jì)算機(jī)科學(xué)(ComputerScience)TuringMachine艾倫?杜林的“通用電腦器〞(“universalcomputingmachine〞)是由他(1936-1937)為他的多用途單機(jī)器〔電腦器〕模型命名,這模型可以“運(yùn)行〞任何恣意〔但well-formed〕指令序列〔稱為"quintuples"〕。這模型被一些人例如Davis(2000)認(rèn)為是“存儲(chǔ)程式電腦〞的原點(diǎn)。每臺(tái)圖靈機(jī)從它的字母表得到字串計(jì)算一確定的固定偏可計(jì)算函數(shù)。從外觀上它的行為就像一臺(tái)運(yùn)用固定程式的電腦。儘管如此,我們可以把任何杜林機(jī)的動(dòng)作表格編碼到一條字串。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)13計(jì)算機(jī)科學(xué)(ComputerScience)VonNeumannorStoredprogramComputer最早的電腦器僅內(nèi)涵固定用途的程式,通常是為了簡化或教育目的。例如一個(gè)計(jì)算器僅有固定的數(shù)學(xué)計(jì)算程式,它不能拿來當(dāng)作文書處理軟體,更不能拿來玩遊戲。假想象要改變此機(jī)器的程式,則必須更改線路、更改結(jié)構(gòu)甚至重新設(shè)計(jì)此機(jī)器。范紐曼結(jié)構(gòu)型電腦,則是以儲(chǔ)存程式型電腦的概念改變了這一切。藉由創(chuàng)造一組指令集結(jié)構(gòu),並將所謂的運(yùn)算轉(zhuǎn)化成一串程式指令的執(zhí)行細(xì)節(jié),讓此機(jī)器更有彈性。借著將指令當(dāng)成一種特別型態(tài)的靜態(tài)資料,一臺(tái)儲(chǔ)存程式型電腦可輕易改變其程式,並在程式控制下改變其運(yùn)算內(nèi)容。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)14計(jì)算機(jī)的通用架構(gòu)西元1945年「范紐曼方式」〔vonNeumannModel〕最主要的精神在於「儲(chǔ)存程式」〔storedprogram〕的概念2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)15uProcessor架構(gòu)-Intel80386為例Blockdiagramofthei3862024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)16計(jì)算機(jī)科學(xué)(ComputerScience)計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)從功能上看,現(xiàn)代電腦系統(tǒng)可分為五個(gè)層次級(jí)別,每一層都能進(jìn)行程式設(shè)計(jì)。微程式設(shè)計(jì)級(jí)這一級(jí)是由硬體直接實(shí)現(xiàn)的,是電腦系統(tǒng)最底層的硬體系統(tǒng)。由機(jī)器硬體直接執(zhí)行微指令。只需採用微程式設(shè)計(jì)的電腦系統(tǒng),才有這一級(jí)。假設(shè)某一個(gè)應(yīng)用程式直接用微指令來編寫,那麼可在這一級(jí)上運(yùn)行應(yīng)用程式。普通機(jī)器級(jí)也稱為機(jī)器語言級(jí),它由微程式解釋機(jī)器指令系統(tǒng)。這一級(jí)也是硬體級(jí),是軟體系統(tǒng)和硬體系統(tǒng)之間的紐帶。硬體系統(tǒng)的操作由此級(jí)控制,軟體系統(tǒng)的各種程式,必須轉(zhuǎn)換成此級(jí)的方式才干執(zhí)行。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)17計(jì)算機(jī)科學(xué)(ComputerScience)作業(yè)系統(tǒng)級(jí)
由作業(yè)系統(tǒng)程式實(shí)現(xiàn)。這些作業(yè)系統(tǒng)由機(jī)器指令和廣義指令組成,廣義指令是作業(yè)系統(tǒng)定義和解釋的軟體指令,所以這一級(jí)也稱為混合級(jí)。電腦系統(tǒng)中硬體和軟體資源由此級(jí)管理和統(tǒng)一調(diào)度,它支撐著其他系統(tǒng)軟體和應(yīng)用軟體,使電腦能夠自動(dòng)運(yùn)行,發(fā)揮高效率的特性。
組合語言級(jí)給程式人員提供一種符號(hào)方式語言,以減少程式編寫的複雜性。這一級(jí)由組合語言程式支持和執(zhí)行。假設(shè)應(yīng)用程式採用組合語言編寫,則機(jī)器必須要有這一級(jí)的功能;假設(shè)應(yīng)用程式不採用組合語言編寫,則這一級(jí)可以不要。
高階語言級(jí)導(dǎo)向用戶,為方便用戶編寫應(yīng)用程式而設(shè)置的。這一級(jí)由各種高階語言編譯程序支持和執(zhí)行。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)18計(jì)算機(jī)科學(xué)(ComputerScience)電腦系統(tǒng)各層次之間的關(guān)係非常緊密,上層是下層的擴(kuò)展,下層是上層的基礎(chǔ)除第一級(jí)外,其他各級(jí)都得到它下面級(jí)的支持,同時(shí)也遭到運(yùn)行在下面各級(jí)上的程式的援助。第一級(jí)到第三級(jí)編寫程式採用的語言,根本是二進(jìn)位數(shù)字字化語言,機(jī)器執(zhí)行和解釋容易。第四、五兩級(jí)編寫程式所採用的語言是符號(hào)語言,用英文字母和符號(hào)來表示程式,因此便於大多數(shù)不瞭解硬體的人們運(yùn)用電腦。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)19計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)Ring0Ring1Ring2Ring3Ring4Ring5Ring6Ring0:硬體邏輯Ring1:程序控制Ring2:作業(yè)系統(tǒng)(OS)Ring3:匯編程序Ring4:高級(jí)語言匯編或解釋程序Ring5:應(yīng)用程序Ring6:應(yīng)用系統(tǒng)羅及模型2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)20計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)21計(jì)算機(jī)科學(xué)(ComputerScience)ComputerScience與資訊工程(InformationEngineering)西元1962年,史丹佛大學(xué)和普渡大學(xué)成立了全球最早的計(jì)算機(jī)科學(xué)系〔computersciencedepartments〕臺(tái)灣最早的計(jì)算機(jī)科學(xué)系:交通大學(xué)計(jì)算機(jī)與控制工程系(1970)臺(tái)灣最早命名為資訊工程系的則是臺(tái)灣大學(xué)(1977)交大的計(jì)工系也於1988年更名為資訊工程系現(xiàn)在幾乎全球各主流大學(xué),都設(shè)立了計(jì)算機(jī)科學(xué)的相關(guān)科系,足以顯示計(jì)算機(jī)一日千里的進(jìn)展2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)22摩爾定律是由英特爾〔Intel〕創(chuàng)始人之一戈登·摩爾〔GordonMoore〕提出來的。其內(nèi)容為:積體電路上可容納的電晶體數(shù)目,約每隔18個(gè)月便會(huì)添加一倍,性能也將提升一倍,而價(jià)格下降一半;或者說,每一美圓所能買到的電腦性能,將每隔18個(gè)月翻兩倍以上。[1]這一定律提示了資訊技術(shù)進(jìn)步的速度。計(jì)算機(jī)科學(xué)(ComputerScience)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)23第一章課程大綱嵌入式系統(tǒng)概述嵌入式系統(tǒng)特性嵌入式系統(tǒng)體系架構(gòu)嵌入式系統(tǒng)之發(fā)展嵌入式系統(tǒng)軟體Linux作業(yè)系統(tǒng)WinCE作業(yè)系統(tǒng)嵌入式系統(tǒng)開發(fā)平臺(tái)嵌入式系統(tǒng)硬體IntelXscaleSOC系列IntelXscale實(shí)驗(yàn)平臺(tái)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)24嵌入式系統(tǒng)概述嵌入式系統(tǒng)特性何謂嵌入式系統(tǒng)?何謂系統(tǒng):根據(jù)一個(gè)固定之計(jì)畫、一個(gè)程式或一系列的規(guī)則,處理執(zhí)行一個(gè)或多個(gè)任務(wù)之方法,系統(tǒng)也可以是根據(jù)計(jì)畫或程式來整合一切硬體的協(xié)同任務(wù)。例如:手錶、洗衣機(jī)、汽車電子、電腦(含OS)嵌入式系統(tǒng)是在一些大型系統(tǒng)內(nèi),由硬體與軟體所構(gòu)成的一個(gè)元件,處理一些不需由人們來操作且特定之一些功能。大多是以電腦為基礎(chǔ)之系統(tǒng)(Computer-Based)的應(yīng)用程式或產(chǎn)品。內(nèi)含軟體(OS、AP)於ROM之中的單一微電腦機(jī)板,執(zhí)行特種功能。交融驗(yàn)?zāi)X軟/硬體技術(shù)、通訊技術(shù)與半導(dǎo)體微電子技術(shù),是資訊技術(shù)IT(InformationTechnology)之最終產(chǎn)品。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)25嵌入式系統(tǒng)概述嵌入式系統(tǒng)特性何謂嵌入式系統(tǒng)?從應(yīng)用之層面,根據(jù)IEEE的定義:嵌入式系統(tǒng)是「控制、監(jiān)視或者輔助裝置、機(jī)器和設(shè)備執(zhí)行之裝置」,亦可說是軟體與硬體之綜合體?!敢詰?yīng)用為中心、以電腦技術(shù)為基礎(chǔ)、軟體硬體可隨需求而更新、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、本錢、體積、功耗嚴(yán)格要求之專用電腦系統(tǒng)」。當(dāng)今稱嵌入式系統(tǒng)是針對(duì)具有作業(yè)系統(tǒng)之嵌入式系統(tǒng)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)26嵌入式系統(tǒng)概述嵌入式系統(tǒng)特性配合特定應(yīng)用之特殊設(shè)計(jì)用戶導(dǎo)向、產(chǎn)品導(dǎo)向、應(yīng)用導(dǎo)向,與應(yīng)用緊密結(jié)合。高效率、穩(wěn)定之系統(tǒng)先進(jìn)之電腦、半導(dǎo)體和電子等技術(shù)交融一體。產(chǎn)品壽命長與實(shí)際系統(tǒng)需求緊密結(jié)合,與具體產(chǎn)品同步升級(jí)、更新。不易被竊取和高平安性嵌入式系統(tǒng)本身不具有自主開發(fā)之才干,普通運(yùn)用者無法對(duì)其中功能進(jìn)行修正,必須有一套開發(fā)工具與環(huán)境才干進(jìn)行開發(fā),如硬體模擬之ICE或軟體模擬之ADS(ARM?DeveloperSuite?)、RealViewDeveloperSuite等。容易操作微型化2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)27嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)早期應(yīng)用於軍事、航空航太為主,逐漸轉(zhuǎn)移工業(yè)控制、汽車電子、通訊及家用消費(fèi)等領(lǐng)域。嵌入式系統(tǒng)主要區(qū)分硬體與軟體二部分,其架構(gòu)可分為四個(gè)部份:處理器中心記憶體輸入與輸出嵌入式作業(yè)系統(tǒng)與應(yīng)用軟體(與普通性之PC有極大之區(qū)別)結(jié)合特定功能之應(yīng)用嵌入式作業(yè)系統(tǒng)存入FLASH或EEPROMBootloaderVs.BIOS2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)28第一章課程大綱嵌入式系統(tǒng)概述嵌入式系統(tǒng)特性嵌入式系統(tǒng)體系架構(gòu)嵌入式系統(tǒng)之發(fā)展嵌入式系統(tǒng)軟體Linux作業(yè)系統(tǒng)WinCE作業(yè)系統(tǒng)嵌入式系統(tǒng)開發(fā)平臺(tái)嵌入式系統(tǒng)硬體IntelXscaleSOC系列IntelXscale實(shí)驗(yàn)平臺(tái)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)29嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)重要名詞解釋uprocessorSOCICEMIPSPIPELINE結(jié)構(gòu)作業(yè)系統(tǒng)指令主頻MMC2024/1/2630嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)嵌入式系統(tǒng)架構(gòu)圖嵌入式系統(tǒng)採用“量身訂作〞的方式,把所需求之功能嵌入至各種應(yīng)用系統(tǒng)中,隨應(yīng)用方式之不同,區(qū)分:IP〔IntellectualProperty〕級(jí)--系統(tǒng)級(jí)晶片SOC〔SystomonChip〕的方式晶片級(jí)-目前嵌入式系統(tǒng)最常見的方式模組級(jí)-常出現(xiàn)在工業(yè)控制和儀器儀表中2024/1/2631嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)IP〔IntellectualProperty〕級(jí)--系統(tǒng)級(jí)晶片SOC在一個(gè)矽晶片上實(shí)現(xiàn)一個(gè)更為複雜系統(tǒng)各種通用處理器中心將成為SoC設(shè)計(jì)的標(biāo)準(zhǔn)庫,成為VLSI設(shè)計(jì)中一種標(biāo)準(zhǔn)的器件,可以用標(biāo)準(zhǔn)的VHDL等語言描畫,並儲(chǔ)存在元件庫中。除個(gè)別無法集成的元件以外,整個(gè)嵌入式系統(tǒng)大部分均可集成到一塊或幾塊晶片中應(yīng)用系統(tǒng)電路板將變得很簡潔,對(duì)於減小體積和功率耗費(fèi)、提高可靠性非常有利。SOC可以分為通用和專用兩類:專用SOC通常用於某類系統(tǒng)中,而不為普通用戶所知。通用型SOC如:ARM系列晶片元件。2024/1/2632嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)晶片級(jí)嵌入式微控制器(MicrocontrollerUnit,MCU)又稱單晶片,就是將整個(gè)電腦系統(tǒng)匯集到一塊晶片中是以某一種微處理器內(nèi)核為中心,晶片內(nèi)部整合。ROM/EPROM、RAM、匯流排、匯流排邏輯、定時(shí)/計(jì)數(shù)器、WatchDog、I/O、串列埠、脈寬調(diào)變輸出、類比轉(zhuǎn)數(shù)位(A/D)、數(shù)位轉(zhuǎn)類比(D/A)、FlashRAM、EEPROM等各種必要功能和週邊設(shè)備。為適應(yīng)不同的應(yīng)用需求,一個(gè)單晶片系列具有許多種衍生產(chǎn)品,每種衍生產(chǎn)品的處理器內(nèi)中心都是一樣的,不同的是記憶體和週邊設(shè)備的配置與封裝。最大特點(diǎn)是單晶片化,體積大幅減小,因此使功率耗費(fèi)和本錢下降、可靠性提高。是目前嵌入式系統(tǒng)工業(yè)的主流。微控制器晶片上週邊設(shè)備資源通常比較豐富,適合於控制用途,因此稱之為微控制器。市佔(zhàn)率約70%的嵌入式市場。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)33嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)嵌入式DSP處理器(EmbeddedDigitalSignalProcessor,EDSP)系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了特殊的設(shè)計(jì),使其適合於執(zhí)行DSP演算法,提高編譯效率和指令執(zhí)行速度。DSP應(yīng)用正從以普通指令實(shí)現(xiàn)DSP功能的通用單晶片中,過渡到採用嵌入式DSP處理器。2024/1/2634嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)模組級(jí)-常出現(xiàn)在工業(yè)控制和儀器儀表中基礎(chǔ)就是通用電腦中的中央處理器(CPU)裝配在專門設(shè)計(jì)的電路板上,只保管和嵌入式應(yīng)用相關(guān)的母板功能在任務(wù)溫度、抗電磁干擾、可靠性等方面普通都做了各種加強(qiáng)。具有體積小、分量輕、本錢低、可靠性高的優(yōu)點(diǎn)在電路板上必須包括ROM、RAM、匯流排界面、和各種週邊設(shè)備,因此降低了系統(tǒng)的可靠性,技術(shù)嚴(yán)密性也較差嵌入式微處理器及其記憶體、匯流排、週邊設(shè)備等安裝在一塊電路板上,亦稱之為單板電腦。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)35嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM簡介「AdvanceRISCMachine,ARM」是一個(gè)公司名,已可說是微處理器之通稱,例如:SONYARM公司是專門RISC技術(shù)晶片設(shè)計(jì)開發(fā)公司,作為之是產(chǎn)權(quán)供應(yīng)商,不從事晶片生產(chǎn),賣轉(zhuǎn)讓設(shè)計(jì)許可。ARM微處理器之應(yīng)用領(lǐng)域:工業(yè)控制無線通訊網(wǎng)路應(yīng)用消費(fèi)類電子影像與平安類產(chǎn)品2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)36嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM微處理器之特點(diǎn)體積小、低功耗、低本錢、高性能援助16/32位元等級(jí)之微處理器大量運(yùn)用微處理器,指令執(zhí)行速度快大多數(shù)指令操作是在暫存器中執(zhí)行。定址方式靈活簡單,執(zhí)行效率高。指令長度固定2024/1/2637嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM微處理器系列通用型:ARM7、ARM9、ARM9E、ARM10EIntel的StrongARM、Xscale等。專用型:SecurCoreARM提供一系列方案:CPU內(nèi)核
小型、快速、低能耗、ARM指令集Thumb指令集之整合式RISC內(nèi)核,採用多層管線(Pipeline)架構(gòu),以增進(jìn)處理效能。體系擴(kuò)展
Thumb:以16位元系統(tǒng)的本錢,提供32位元RISC性能,特別留意的是它所需的記憶體容量非常小。嵌入式ICE調(diào)校
由於整合了類似於ICE的CPU內(nèi)核調(diào)校技術(shù),所以原型設(shè)計(jì)和系統(tǒng)晶片的調(diào)校得到了極大的簡化。微處理器Thumb指令集是ARM指令集之一個(gè)子集,允許指令編碼為16為元之長度,其優(yōu)勢是節(jié)省系統(tǒng)儲(chǔ)存之空間。Thumb指令集可援助ARM指令,Thumb的編碼程式亦可對(duì)應(yīng)至ARM編碼程式。期付程式亦可相互呼叫運(yùn)用。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)382024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)39嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM7微處理器具有嵌入式ICE-RT邏輯,除錯(cuò)開發(fā)方便極低的功耗,適合對(duì)功耗要求嚴(yán)格的應(yīng)用,如攜帶型產(chǎn)品;能夠提供0.9MIPS/MHz的三級(jí)流水線結(jié)構(gòu);程式密度高並相容16位元的Thumb指令集;對(duì)作業(yè)系統(tǒng)的援助廣泛,包括WindowsCE、Linux、PalmOS等;指令系統(tǒng)與ARM9、ARM9E和ARM10E系列相容,便於運(yùn)用者的產(chǎn)品升級(jí)換代;主頻最高可達(dá)130MIPS,高速的運(yùn)算處理能力能勝任絕大多數(shù)的複雜應(yīng)用。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)40嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM7系列微處理器的主要應(yīng)用領(lǐng)域?yàn)椋汗I(yè)控制、Internet設(shè)備、網(wǎng)路和數(shù)據(jù)機(jī)設(shè)備、行動(dòng)電話等多種多媒體和嵌入式應(yīng)用。ARM7系列微處理器包括如下幾種類型的中心:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前運(yùn)用最廣泛的32位元嵌入式RISC處理器,屬低端ARM處理器中心。TDMI的根本含義為:T:援助16位元壓縮指令集Thumb;D:援助晶片上Debug;M:內(nèi)嵌硬體乘法器〔Multiplier〕;I:嵌入式ICE,援助晶片上中斷點(diǎn)和除錯(cuò)點(diǎn)。ARM7不具有MMU功能。2024/1/2641嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM9微處理器:ARM9系列微處理器在高性能和低功耗特性方面提供最正確的性能。具有以下特點(diǎn):提供1.1MIPS/MHz5級(jí)流水線結(jié)構(gòu);援助32位元ARM指令集和16位元Thumb指令集;援助32位元的高速AMBA匯流排介面;全性能MMU,援助WindowsCE、Linux、PalmOS等主流嵌入式作業(yè)系統(tǒng);MPU援助即時(shí)操作系統(tǒng);援助資料Cache和指令Cache,具有更高的指令和資料處理能力。ARM9系列微處理器主要應(yīng)用於無線設(shè)備、儀器儀表、平安系統(tǒng)、機(jī)頂盒、高端印表機(jī)、數(shù)位照相機(jī)和數(shù)位攝像機(jī)等。它包含ARM920T、ARM922T和ARM940T三種類型。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)42嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM9E微處理器ARM9E系列微處理器為可綜合處理器,運(yùn)用單一的處理器中心提供了微控制器、DSP、Java應(yīng)用系統(tǒng)的解決方案,極大地減少了晶片的面積和系統(tǒng)的複雜程度。ARM9E系列微處理器提供了增強(qiáng)的DSP處理能力,很適合於那些需求同時(shí)運(yùn)用DSP和微控制器的應(yīng)用場合。ARM9E系列微處理器的主要特點(diǎn)如下:援助DSP指令集,適合於需求高速數(shù)位信號(hào)處理的場合;5級(jí)整數(shù)流水線,指令執(zhí)行效率更高;2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)43嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM9E援助32位元ARM指令集和16位元Thumb指令集;援助32位的高速AMBA匯流排介面;援助VFP9浮點(diǎn)處理輔助運(yùn)算器;全性能MMU,援助WindowsCE、Linux、PalmOS等主流嵌入式作業(yè)系統(tǒng);MPU援助即時(shí)操作系統(tǒng);援助資料Cache和指令Cache,具有更高的指令和資料處理能力;主頻最高可達(dá)300MIPS。ARM9E系列微處理器主要應(yīng)用於下一代無線設(shè)備、數(shù)位消費(fèi)品、影像設(shè)備、工業(yè)控制、儲(chǔ)存設(shè)備和網(wǎng)路設(shè)備等領(lǐng)域。它包含ARM926EJ-S、ARM946E-S和ARM966E-S三種類型。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)44嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)ARM10E系列微處理器具有高性能、低功耗的特點(diǎn),由於採用了新的體系結(jié)構(gòu),與同等的ARM9元件相比較,在同樣的時(shí)鐘頻率下,性能提高了近50%,同時(shí),ARM10E系列微處理器採用了兩種先進(jìn)的節(jié)能方式,使其功耗極低。ARM10E系列微處理器的主要特點(diǎn)如下:援助DSP指令集,適合於需求高速數(shù)位信號(hào)處理的場合;6級(jí)整數(shù)流水線,指令執(zhí)行效率更高;援助DSP指令集,適合於需求高速數(shù)位信號(hào)處理的場合;6級(jí)整數(shù)流水線,指令執(zhí)行效率更高;2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)45嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)援助32位元ARM指令集和16位元Thumb指令集;援助32位元的高速AMBA匯流排介面;援助VFP10浮點(diǎn)處理輔助運(yùn)算器;全性能MMU,援助WindowsCE、Linux、PalmOS等主流嵌入式作業(yè)系統(tǒng);援助資料Cache和指令Cache,具有更高的指令和資料處理能力;主頻最高可達(dá)400MIPS;內(nèi)嵌並行讀/寫操作元件。ARM10E系列微處理器主要應(yīng)用於下一代無線設(shè)備、數(shù)位消費(fèi)品、影像設(shè)備、工業(yè)控制、通訊和資訊系統(tǒng)等領(lǐng)域。它包含ARM1020E、ARM1022E和ARM1026EJ-S三種類型。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)46嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)SecurCore微處理器系列SecurCore系列微處理器專為平安需求而設(shè)計(jì),提供了完善的32位元RISC技術(shù)的平安解決方案,因此它除了具有ARM體系結(jié)構(gòu)的低功耗、高性能的特點(diǎn)外,還具有其獨(dú)特的優(yōu)勢,即提供了對(duì)平安解決方案的援助。SecurCore系列微處理器在系統(tǒng)平安方面具有如下的特點(diǎn):帶有靈活的保護(hù)單元,以確保作業(yè)系統(tǒng)和應(yīng)用資料的平安;採用軟中心技術(shù),防止外部對(duì)其進(jìn)行掃描探測;可集成運(yùn)用者本人的平安特性和其他輔助運(yùn)算器。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)47嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)SecurCore系列微處理器主要應(yīng)用於一些對(duì)平安性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政府服務(wù)、電子銀行業(yè)務(wù)、網(wǎng)路和認(rèn)證系統(tǒng)等領(lǐng)域。它包含SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210四種類型。SecurCore系列微處理器主要應(yīng)用於一些對(duì)平安性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政府服務(wù)、電子銀行業(yè)務(wù)、網(wǎng)路和認(rèn)證系統(tǒng)等領(lǐng)域。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)48嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)StrongARM微處理器系列IntelStrongARMSA-1100以及IntelStrongARMSA-1110處理器是採用ARM體系結(jié)構(gòu),高度集成的32位元RISC微處理器。交融了Intel公司的設(shè)計(jì)和處理技術(shù)以及ARM體系結(jié)構(gòu)的電源效率,採用在軟體上相容ARMv4體系結(jié)構(gòu)、同時(shí)採器具有Intel技術(shù)優(yōu)點(diǎn)的體系結(jié)構(gòu)。IntelStrongARM處理器是攜帶型通訊產(chǎn)品和消費(fèi)型電子產(chǎn)品的理想選擇,已勝利應(yīng)用於多家公司的掌上型PDA系列產(chǎn)品。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)49嵌入式系統(tǒng)概述由於ARM微處理器有多達(dá)十幾種的中心結(jié)構(gòu),幾十個(gè)晶片生產(chǎn)廠家,以及千變?nèi)f化的內(nèi)部功能配置組合,因此以介紹ARM微處理器為主,但ARM系列中心之功能亦有不同,其較大差異說明如后:作業(yè)系統(tǒng):WinCE或標(biāo)準(zhǔn)Linux作業(yè)系統(tǒng),就需求選擇ARM720T以上帶有MMU〔MemoryManagementUnit〕功能的ARM晶片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都帶有MMU功能。ARM7TDMI則沒有MMU,不援助WindowsCE和標(biāo)準(zhǔn)Linux,但目前有uCLinux以及uC/OS-II等不需求MMU援助的作業(yè)系統(tǒng)可執(zhí)行於ARM7TDMI硬體平臺(tái)之上。本課程教學(xué)實(shí)驗(yàn)系統(tǒng)運(yùn)用的PXA270為一款具有MMU的ARM微處理器,可在其上執(zhí)行Linux、WindowsCE和uC/OS-II等作業(yè)系統(tǒng)。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)50嵌入式系統(tǒng)概述系統(tǒng)的任務(wù)頻率:系統(tǒng)的任務(wù)頻率在很大程度上決定了ARM微處理器的處理能力。ARM7系列微處理器的典型處理速度為0.9MIPS/MHz,常見ARM7晶片系統(tǒng)主時(shí)鐘20MHz-133MHz。ARM9系列微處理器的典型處理速度為1.1MIPS/MHz,常見ARM9的系統(tǒng)主時(shí)鐘頻率為100MHz-233MHz;ARM10最高可以達(dá)到700MHz。不同晶片對(duì)時(shí)鐘的處理不同,有的晶片只需求一個(gè)主時(shí)鐘頻率,有的晶片內(nèi)部時(shí)鐘控制器可以分別為ARM中心和USB、UART、DSP、音頻等功能元件提供不同頻率的時(shí)鐘。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)51嵌入式系統(tǒng)概述晶片內(nèi)記憶體的容量:大多數(shù)ARM微處理器片內(nèi)記憶體的容量都不大,需求運(yùn)用者在設(shè)計(jì)系統(tǒng)時(shí)外擴(kuò)記憶體,但也有部分晶片具有相對(duì)較大的晶片內(nèi)儲(chǔ)存空間,如ATMEL的AT91F40162就具有高達(dá)2MB的晶片內(nèi)程式儲(chǔ)存空間,運(yùn)用者在設(shè)計(jì)時(shí)可考慮選用這種類型,以簡化系統(tǒng)的設(shè)計(jì)。晶片內(nèi)週邊電路的選擇:除ARM微處理器中心以外,幾乎一切的ARM晶片均根據(jù)各自不同的應(yīng)用領(lǐng)域,擴(kuò)充了相關(guān)功能模組,並集成在晶片之中,我們稱之為晶片內(nèi)週邊電路,如USB介面、IIS介面、LCD控制器、鍵盤介面、RTC、ADC和DAC、DSP輔助運(yùn)算器等。設(shè)計(jì)者應(yīng)分析系統(tǒng)的需求,盡能夠採用晶片內(nèi)週邊電路完成所需的功能,以簡化系統(tǒng)的設(shè)計(jì),提高系統(tǒng)的可靠性。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)52第一章課程大綱嵌入式系統(tǒng)概述嵌入式系統(tǒng)特性嵌入式系統(tǒng)體系架構(gòu)嵌入式系統(tǒng)之發(fā)展嵌入式系統(tǒng)軟體Linux作業(yè)系統(tǒng)WinCE作業(yè)系統(tǒng)嵌入式系統(tǒng)開發(fā)平臺(tái)嵌入式系統(tǒng)硬體IntelXscaleSOC系列IntelXscale實(shí)驗(yàn)平臺(tái)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)53嵌入式系統(tǒng)概述嵌入式系統(tǒng)體系架構(gòu)嵌入式系統(tǒng)之發(fā)展應(yīng)用軟體的開發(fā)需求強(qiáng)大的開發(fā)工具和作業(yè)系統(tǒng)的援助網(wǎng)路成為必然趨勢援助小型電子設(shè)備實(shí)現(xiàn)小尺寸、低功率和低本錢提供精巧的多媒體人機(jī)界面2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)54第一章課程大綱嵌入式系統(tǒng)概述嵌入式系統(tǒng)特性嵌入式系統(tǒng)體系架構(gòu)嵌入式系統(tǒng)之發(fā)展嵌入式系統(tǒng)軟體Linux作業(yè)系統(tǒng)WinCE作業(yè)系統(tǒng)嵌入式系統(tǒng)開發(fā)平臺(tái)嵌入式系統(tǒng)硬體IntelXscaleSOC系列IntelXscale實(shí)驗(yàn)平臺(tái)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)55嵌入式系統(tǒng)軟體嵌入式作業(yè)系統(tǒng)限於儲(chǔ)存空間等要素,相對(duì)地作業(yè)系統(tǒng)規(guī)模較為精簡,精簡之方式主要是透過減少內(nèi)核中心、減少動(dòng)態(tài)連結(jié)庫、減少應(yīng)用程式等,以達(dá)到減少各種程式碼佔(zhàn)用記憶體空間之目的。嵌入式系統(tǒng)需求增強(qiáng)即時(shí)性之特殊功能,這可透過修正流程調(diào)度演算法和運(yùn)用雙中心系統(tǒng)達(dá)成。嵌入式系統(tǒng)具有主機(jī)模擬的環(huán)境(跨平臺(tái))來進(jìn)行發(fā)展之優(yōu)勢。模擬MSWindows的Cygwin或VMWare等嵌入式作業(yè)系統(tǒng)最常用之作業(yè)系統(tǒng)嵌入式LinuxuclinuxFedoraWinCE2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)56嵌入式系統(tǒng)軟體Linux作業(yè)系統(tǒng)WinCE作業(yè)系統(tǒng)嵌入式系統(tǒng)開發(fā)平臺(tái)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)57嵌入式系統(tǒng)軟體軟體系統(tǒng)可以進(jìn)一步劃分為系統(tǒng)軟體、支撐軟體和應(yīng)用軟體三個(gè)層次。系統(tǒng)軟體是電腦系統(tǒng)中基礎(chǔ)的軟體系統(tǒng),它包括作業(yè)系統(tǒng)、編譯系統(tǒng)和資料庫等。其中作業(yè)系統(tǒng)在軟體系統(tǒng)的最下層,緊接著底層硬體.支撐軟體包括網(wǎng)路通訊程式、多媒體援助軟體、硬體介面程式、實(shí)用軟體工具以及軟體發(fā)展工具等等。網(wǎng)路通訊程式完成電腦網(wǎng)路通訊的功能。多媒體援助軟體協(xié)助電腦系統(tǒng)實(shí)現(xiàn)對(duì)圖形、圖像、語音和視頻等多媒體資訊的處理。硬體介面程式提供與各種電腦外部設(shè)備的連接援助。實(shí)用軟體工具則提供了多種系統(tǒng)維護(hù)和操作的手段,而軟體發(fā)展工具為程式設(shè)計(jì)人員編寫代碼提供了良好、便利的環(huán)境。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)58嵌入式系統(tǒng)軟體Linux作業(yè)系統(tǒng)LinuxOS之種類:桌面與伺服器方式之OS:FedoraLinux嵌入式LinuxOS:RT-Linux、uCLinux、XLinux、紅旗嵌入式Linux2024/1/2659嵌入式系統(tǒng)軟體Linux作業(yè)系統(tǒng)Linux系統(tǒng)分成三個(gè)重要的部份:中心Shell工具程式(檔案結(jié)構(gòu)、實(shí)用工具)為何稱它為Shell呢?Shell的本意是"殼"的意思呢!沒錯(cuò),在中心的外面,包覆著一層外殼,用來負(fù)責(zé)接納運(yùn)用者輸入的指令,然後將指令解譯成中心能夠了解的方式,傳給中心去執(zhí)行,再將結(jié)果傳回至預(yù)設(shè)的輸出周邊。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)60嵌入式系統(tǒng)軟體嵌入式Linux嵌入式Linux系統(tǒng)包含:內(nèi)核中心和應(yīng)用程式二部分。內(nèi)核中心為應(yīng)用程式提供一個(gè)虛擬之硬體平臺(tái),以統(tǒng)一之方式對(duì)資源進(jìn)行分配。應(yīng)用程式負(fù)責(zé)系統(tǒng)之部分初始化、根本之人機(jī)介面、必要之指令等內(nèi)容。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)61嵌入式系統(tǒng)軟體中心在電腦科學(xué)中,中心是作業(yè)系統(tǒng)最根本的部分。它是為眾多應(yīng)用程式提供對(duì)電腦硬體的平安訪問的一部分軟體,這種訪問是有限的,並且內(nèi)核決定一個(gè)程式在什麼時(shí)候?qū)δ巢糠钟搀w操作多長時(shí)間。直接對(duì)硬體操作是非常複雜的;所以中心通常提供一種硬體籠統(tǒng)的方法,來完成這些操作。硬體籠統(tǒng)隱藏了複雜的部分,為應(yīng)用軟體和硬體提供了一套簡潔,統(tǒng)一的介面,使程式設(shè)計(jì)更為簡單。2024/1/26嵌入式系統(tǒng)軟體中心中心可分為四大類:單內(nèi)核:它為潛在的硬體,提供了大量完善的硬體籠統(tǒng)操作。如:Linux中心、UNIX、Windows9x。微內(nèi)核:只提供了很小一部分的硬體籠統(tǒng),大部分功能由一種特殊的用戶態(tài)(usermode)程式:伺服器來完成。如:MINIX混合內(nèi)核:它很像微內(nèi)核結(jié)構(gòu),只不過它的的元件更多的在內(nèi)核態(tài)(supervisormode)中運(yùn)行,以獲得更快的執(zhí)行速度。如:WindowsXP、Vista、NT。外內(nèi)核:這種內(nèi)核不提供任何硬體籠統(tǒng)操作,但是允許為內(nèi)核添加額外的函式庫(library),通過這些函式庫應(yīng)用程式可以直接地或者接近直接地對(duì)硬體進(jìn)行操作。Linux2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)63嵌入式系統(tǒng)軟體四大類中心表示圖:單內(nèi)核微內(nèi)核混合內(nèi)核單內(nèi)核結(jié)構(gòu)的例子:傳統(tǒng)的UNIX內(nèi)核,例如伯克利大學(xué)發(fā)行的版本Linux內(nèi)核MS-DOS,Windows9x(Windows95,98,Me)微內(nèi)核結(jié)構(gòu)的例子:AIXBeOSL4微內(nèi)核系列Mach,用於GNUHurd和MacOSXMinix2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)64嵌入式系統(tǒng)軟體Linux中心中心是系統(tǒng)的心臟,是執(zhí)行程式和管理像磁片和印表機(jī)等硬體設(shè)備的中心程式。它從運(yùn)用者那裏接受指令並把指令送給中心去執(zhí)行。「中心(kernel)」指的是一個(gè)提供硬體籠統(tǒng)層、磁片及檔案系統(tǒng)控制、多工等功能的系統(tǒng)軟體。一個(gè)中心不是一套完好的作業(yè)系統(tǒng)。一套基於Linux中心的完好作業(yè)系統(tǒng)叫作Linux作業(yè)系統(tǒng),或是GNU/Linux。Linux中心是由芬蘭之網(wǎng)路駭客LinusTorvalds以AndrewStuartTanenbaum教授(美國)所開發(fā)之MINIXOS為基礎(chǔ)發(fā)展而成。是由GNU組織所發(fā)布,是目前自在軟體中最杰出之軟體程式。Linux:::2024/1/2665嵌入式系統(tǒng)軟體Linux中心Linux中心的功能大致分成如下幾個(gè)部分:進(jìn)程(process)管理:進(jìn)程管理功能負(fù)責(zé)建立和撤銷進(jìn)程以及處理他們和外部世界的連接。不同進(jìn)程之間的通訊是整個(gè)系統(tǒng)的根本功能,因此也由中心處理。除此之外,控制進(jìn)程如何共用CPU資源的調(diào)度程式也是進(jìn)程管理的一部分。概括的說,中心的進(jìn)程管理活動(dòng)就是在單個(gè)或多個(gè)CPU上實(shí)現(xiàn)多進(jìn)程的籠統(tǒng)。記憶體管理:記憶體是電腦的主要資源之一,用來管理記憶體的策略是決定系統(tǒng)性能的一個(gè)關(guān)鍵要素。中心在有限的可用資源上為每個(gè)進(jìn)程都建立了一個(gè)虛擬定址空間。中心的不同部分在和記憶體管理子系統(tǒng)交互時(shí)運(yùn)用一套一樣的系統(tǒng)呼叫,包括從簡單的malloc/free到其他一些不常用的系統(tǒng)呼叫。Linux:::2024/1/2666嵌入式系統(tǒng)軟體Linux中心檔案系統(tǒng):Linux在很大程度上依賴於檔案系統(tǒng)的概念,Linux中的每個(gè)物件幾乎都是可以被視為檔案的。中心在沒有結(jié)構(gòu)硬體上構(gòu)造結(jié)構(gòu)化的檔案系統(tǒng)。所構(gòu)造的檔案系統(tǒng)籌向在整個(gè)系統(tǒng)中廣泛運(yùn)用。另外,Linux援助多種檔案系統(tǒng)類型,即在物理介質(zhì)上組織的結(jié)構(gòu)不同。設(shè)備控制:幾乎每個(gè)系統(tǒng)操作最終都會(huì)映射到物理設(shè)備上。除了處理器,記憶體以及其他很有限的的幾個(gè)實(shí)體外,一切的設(shè)備控制操作都由與被控制設(shè)備相關(guān)的程式完成。這段程式叫做設(shè)備驅(qū)動(dòng)程式,中心必須為系統(tǒng)中的每件外部設(shè)備嵌入相應(yīng)的驅(qū)動(dòng)程式。Linux2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)67嵌入式系統(tǒng)軟體Linux中心網(wǎng)路功能:網(wǎng)路功能也必須有作業(yè)系統(tǒng)來管理,因?yàn)榇蟛糠志W(wǎng)路操作都和具體的進(jìn)程無關(guān)。在每個(gè)進(jìn)程處理這些資料之前,資料報(bào)必須已經(jīng)被搜集、標(biāo)識(shí)、和分發(fā)。系統(tǒng)負(fù)責(zé)在應(yīng)用程式和網(wǎng)路之間傳遞資料。另外,一切的路由和位址解析問題都由中心處理。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)68嵌入式系統(tǒng)軟體嵌入式Linux內(nèi)核中心嵌入式Linux內(nèi)核中心可以分為六部分:程序管理,記憶體管理,檔案系統(tǒng),程序間通訊,網(wǎng)路,設(shè)備驅(qū)動(dòng)。這六個(gè)部分間之關(guān)係,如下圖:網(wǎng)路檔案系統(tǒng)程序間通訊驅(qū)動(dòng)程式記憶體管理程序調(diào)度虛擬硬體層實(shí)體硬體層表示相依關(guān)係2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)69嵌入式系統(tǒng)軟體嵌入式Linux內(nèi)核中心程序管理:控制CPU之資源分配,Linux值型基於優(yōu)先順序的搶占式多工。即時(shí)處理需求多,因此需求改變程序調(diào)度來執(zhí)行及時(shí)程序程序調(diào)度普通是透過時(shí)鐘中斷執(zhí)行,因此與硬體有關(guān)。程序調(diào)度程式碼普通是以組合語言撰寫記憶體管理系統(tǒng):管理記憶體資源,援助虛擬記憶體。執(zhí)行程序間之記憶體保護(hù)、記憶體共用、分配等管理。與記憶體硬體有關(guān):初始化記憶體、分頁處理機(jī)制。與記憶體硬體無關(guān):記憶體分配與記憶體映射(memorymapping)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)70嵌入式系統(tǒng)軟體嵌入式Linux內(nèi)核中心檔案系統(tǒng):虛擬檔案系統(tǒng)介面(VFS),真實(shí)之檔案系統(tǒng)皆掛在VFS之下,在統(tǒng)一之介面下,進(jìn)行查詢。邏輯檔案系統(tǒng)與設(shè)備驅(qū)動(dòng)程式在嵌入式Linux系統(tǒng),檔案系統(tǒng)皆是建立在區(qū)塊裝置方式,如RAM、FLASH程序間通訊:一切程序皆在本人之記憶體位址空間執(zhí)行,部會(huì)相互關(guān)擾。而程序間資訊之護(hù)船,則是經(jīng)由程序通訊機(jī)制。Pipe、Signal、網(wǎng)路通訊等2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)71嵌入式系統(tǒng)軟體嵌入式Linux內(nèi)核中心網(wǎng)路援助多種網(wǎng)路協(xié)定:IP、IPv6、Bluetooth等中心網(wǎng)路程式碼與硬體無關(guān)驅(qū)動(dòng)程式Linux除CPU和記憶體以外之資源皆用驅(qū)動(dòng)程式的方式管理,內(nèi)核中心原始程式碼大部分是各種驅(qū)動(dòng)程式Linux有三類設(shè)備:字元設(shè)備、區(qū)塊裝置及網(wǎng)路設(shè)備。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)72嵌入式系統(tǒng)軟體Linuxshell由於中心的部份相當(dāng)?shù)碗A,操作者不易和它直接溝通,因此,必須要有一個(gè)友善的介面(interface),使得操作時(shí)能更為方便,這個(gè)介面便是Shell.換言之,Shell就是一個(gè)居於中心和操作者之間的一層運(yùn)用者介面.為何稱它為Shell呢?Shell的本意是"殼"的意思呢!沒錯(cuò),在中心的外面,包覆著一層外殼,用來負(fù)責(zé)接納運(yùn)用者輸入的指令,然後將指令解譯成中心能夠了解的方式,傳給中心去執(zhí)行,再將結(jié)果傳回至預(yù)設(shè)的輸出周邊。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)73嵌入式系統(tǒng)軟體Linuxshell2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)74嵌入式系統(tǒng)軟體Linuxshell例如:資料夾檔案顯示,指令為ls-l,則shell給他以下回應(yīng):2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)75嵌入式系統(tǒng)軟體擁檔有案檔種案檔案大小最近修正的類檔案權(quán)限數(shù)擁有人組別(byte單位)日期及時(shí)間檔案名稱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嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)76嵌入式系統(tǒng)軟體Linuxshell這不只是Linux有這一層Shell,其它作業(yè)系統(tǒng)也有,比如DOS的command,Windows的GUI(GraphicalUserInterface),Mac的GUI等。Shell按著表現(xiàn)的方式與讀取運(yùn)用者輸入種類的不同,可分為二大類:Textbase:文字導(dǎo)向,如DOSGraphbase:圖型導(dǎo)向,如WINDOWS所謂"讀取運(yùn)用者輸入種類不同"是指:讀取自鍵盤,或讀取自滑鼠,其它serialinput,螢?zāi)挥|控等.2024/1/26嵌入式系統(tǒng)軟體Linuxshell以DOS的COMMAND而言,它就是一個(gè)十足的命令直譯器,除了一點(diǎn)點(diǎn)batch檔的才干之外,它的功能並不多。Win平臺(tái)的GUI,則是一個(gè)圖型式的命令直譯器,介面非常友善。然這二種OS,不能讓他自在而簡單地選擇Shell。Linux的shell,除了做為命令直譯器之外,它也是一個(gè)不錯(cuò)的程式語言,是系統(tǒng)管理維護(hù)時(shí)的重要工具。Unix家族,對(duì)Shell的處理,採獨(dú)立自在開放的方式,因此,Shell的種類相當(dāng)?shù)囟?,常用的是BourneAgainshell:bash(GNU)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)78嵌入式系統(tǒng)軟體LinuxshellLinux是多人多工的作業(yè)系統(tǒng),這意謂Linux可以讓多人同時(shí)運(yùn)用,更可以同時(shí)執(zhí)行許多程式。普通而言,他所執(zhí)行的指令會(huì)不斷握著控制權(quán),不斷到程式結(jié)束為止,我們稱為這樣的執(zhí)行任務(wù)是在前景任務(wù)(foregroundjobs),假設(shè),執(zhí)行指令時(shí),他依然可以再做其它的事情,那我們就稱它是在背景任務(wù)。較耗時(shí)間的任務(wù),我們會(huì)把它丟到背景去執(zhí)行,而這期間,我們依然可以和shell繼續(xù)溝通,下達(dá)其它命令給shell去執(zhí)行。2024/1/26嵌入式系統(tǒng)軟體Linuxshell以DOS的COMMAND而言,它就是一個(gè)十足的命令直譯器,除了一點(diǎn)點(diǎn)batch檔的才干之外,它的功能並不多。Win平臺(tái)的GUI,則是一個(gè)圖型式的命令直譯器,介面非常友善。然這二種OS,不能讓他自在而簡單地選擇Shell。Linux的shell,除了做為命令直譯器之外,它也是一個(gè)不錯(cuò)的程式語言,是系統(tǒng)管理維護(hù)時(shí)的重要工具。Unix家族,對(duì)Shell的處理,採獨(dú)立自在開放的方式,因此,Shell的種類相當(dāng)?shù)囟啵S玫氖荁ourneAgainshell:bash(GNU)2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)80嵌入式系統(tǒng)軟體Linux檔案結(jié)構(gòu)檔案系統(tǒng)(FileSystem)是用來儲(chǔ)存和組織在電腦中的檔案,在檔案系統(tǒng)中所存放的一些資訊可以用來快速找到在硬碟或是光碟中的檔案資料並做維護(hù)的任務(wù);此外檔案系統(tǒng)也會(huì)對(duì)建立RAM和硬體(硬碟或是其他儲(chǔ)存裝置)資料的對(duì)應(yīng),兩者之間會(huì)有所謂的邏輯和實(shí)體的對(duì)應(yīng)關(guān)係,是由檔案系統(tǒng)來做維護(hù)。檔案結(jié)構(gòu)是檔案存放在磁片等儲(chǔ)存設(shè)備上的組織方法。主要展現(xiàn)在對(duì)檔案和目錄的組織上,目錄提供了管理檔案的一個(gè)方便而有效的途徑。我們能夠從一個(gè)目錄切換到另一個(gè)目錄,而且可以設(shè)置目錄和檔案的許可權(quán),設(shè)置檔案的共用程度。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)81嵌入式系統(tǒng)軟體Linux檔案結(jié)構(gòu)Linux目錄採用多級(jí)樹形結(jié)構(gòu),運(yùn)用者可以瀏覽整個(gè)系統(tǒng),可以進(jìn)入任何一個(gè)已授權(quán)進(jìn)入的目錄,瀏覽那裏的檔案。檔案結(jié)構(gòu)的相互關(guān)聯(lián)性使共用資料變得容易,幾個(gè)運(yùn)用者可以瀏覽同一個(gè)檔案。Linux是一個(gè)多運(yùn)用者系統(tǒng),作業(yè)系統(tǒng)本身的駐留程式存放在以根目錄開始的專用目錄中,有時(shí)被指定為系統(tǒng)目錄。flashmemory因?yàn)榫哂兴俣瓤?、體積小、耐震等特性,所以常被用來做為embeddedsystem的儲(chǔ)存裝置。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)82嵌入式系統(tǒng)軟體Linux檔案結(jié)構(gòu)下圖是以樹形等級(jí)結(jié)構(gòu)展現(xiàn)出Linux檔案結(jié)構(gòu),而根目錄下的目錄就是系統(tǒng)目錄。//etclocal/user/libsrcbin/bin/sbinbin2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)83嵌入式系統(tǒng)軟體中心、Shell和檔案結(jié)構(gòu)一同構(gòu)成了根本的作業(yè)系統(tǒng)結(jié)構(gòu)。它們使得運(yùn)用者可以執(zhí)行程式,管理檔案以及運(yùn)用系統(tǒng)。Linux作業(yè)系統(tǒng)還有許多被稱為實(shí)用工具的程式,輔助運(yùn)用者完成一些特定的任務(wù)。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)84嵌入式系統(tǒng)軟體Linux實(shí)用工具標(biāo)準(zhǔn)的Linux系統(tǒng)都有一套叫做實(shí)用工具的程式,它們是專門的程式,例如編輯器、執(zhí)行標(biāo)準(zhǔn)的計(jì)算操作等。運(yùn)用者也可以產(chǎn)生本人的工具。實(shí)用工具可分三類:編輯器:用於編輯檔案。篩檢(Filter)程式:用於接納資料並過濾資料。交互程式:允許運(yùn)用者發(fā)送資訊或接納來自其他運(yùn)用者的資訊。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)85嵌入式系統(tǒng)軟體Linux實(shí)用工具Linux的編輯器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是行編輯器,Vi和Emacs是全螢?zāi)痪庉嬈?。Linux的篩檢程式〔Filter〕讀取從運(yùn)用者檔案或其他地方的輸入,檢查和處理資料,然後輸出結(jié)果。從這個(gè)意義上說,它們過濾了經(jīng)過它們的資料。Linux有不同類型的篩檢程式,一些篩檢程式用行編輯指令輸出一個(gè)被編輯的檔案。另外一些篩檢程式是按方式尋找檔案並以這種方式輸出部分資料。還有一些執(zhí)行字元處理操作,檢測一個(gè)檔案中的格式,輸出一個(gè)格式化的檔案。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)86嵌入式系統(tǒng)軟體Linux實(shí)用工具Linux的篩檢程式〔Filter)(cont.)篩檢程式的輸入可以是一個(gè)檔案,也可以是運(yùn)用者從鍵盤鍵入的資料,還可以是另一個(gè)篩檢程式的輸出。篩檢程式可以相互連接,因此,一個(gè)篩檢程式的輸出能夠是另一個(gè)篩檢程式的輸入。Linux的交互程式是運(yùn)用者與機(jī)器的資訊介面。Linux是一個(gè)多運(yùn)用者系統(tǒng),它必須和一切運(yùn)用者堅(jiān)持聯(lián)繫。資訊可以由系統(tǒng)上的不同運(yùn)用者發(fā)送或接納。資訊的發(fā)送有兩種方式:一種方式是與其他運(yùn)用者一對(duì)一地連結(jié)進(jìn)行對(duì)話另一種是一個(gè)運(yùn)用者對(duì)多個(gè)運(yùn)用者同時(shí)連結(jié)進(jìn)行通訊,即所謂廣播式通訊。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)87Linux系統(tǒng)環(huán)境arm-elf-toolchainforlinux:ARMCPU的GNUCrossCompiler,在Linux環(huán)境下運(yùn)用,透過CrossCompiler可以在某一架構(gòu)下的CPU製作另一架構(gòu)CPU可執(zhí)行的MachineCode,例如我們目前運(yùn)用x86的CPU製作ARM7架構(gòu)的程式,所以我們需求一個(gè)x86"cross"到ARM7的Compiler。根本函數(shù)庫:需求Library給我們方便運(yùn)用,有uClibcRedHatLinux9或Fedora:Linux作業(yè)系統(tǒng),用來建造Linux的真實(shí)環(huán)境。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)88Linux系統(tǒng)環(huán)境vsftpd:FTP伺服器,用來提供EmbeddedPlatform透過FTP軟體進(jìn)行目的檔案的存取。makeLinux環(huán)境下專案開發(fā)工具,編譯程式需求一行一行的下指令,還有一大堆的參數(shù)要設(shè)定,所以為了簡化這個(gè)枯燥無味的過程,設(shè)計(jì)了一套命令處理程式make,可以利用一個(gè)指令就完成一切的動(dòng)作,就類似IDE的Run按鈕一樣包辦大小事情。在安裝Linux時(shí),系統(tǒng)也一併會(huì)安裝make。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)89Linux系統(tǒng)環(huán)境vim:在Linux上的強(qiáng)力文字編輯器,用它來撰寫程式碼。Minicom:Linux上的連線軟體,我們用它使PC可以經(jīng)由SerialPort和EmbeddedPlatform作連線,透過這個(gè)軟體可以觀察到EmbeddedPlatform發(fā)生的事情。但必須知道EmbeddedPlatform的硬體設(shè)定。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)90Linux系統(tǒng)環(huán)境HyperTerminal:Windows上的連線軟體,我們用它來使PC可以經(jīng)由SerialPort和EmbeddedPlatform作連線,透過這個(gè)軟體可以觀察到EmbeddedPlatform發(fā)生的事情。PuTTY:Windows上的免費(fèi)SSH、TELNET連線軟體。TFTP以網(wǎng)路埠(RJ-45)藉由通訊協(xié)定和目標(biāo)機(jī)通訊作為檔案(可執(zhí)行二儘位檔)傳輸。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)91嵌入式系統(tǒng)軟體嵌入式LinuxCygwin在windows上提供了一個(gè)像linux(Linux-like)的環(huán)境,可以讓運(yùn)用者在windows上執(zhí)行l(wèi)inux的程式。將linux上的程式移植到Windows,而不用做艱苦的修正,只需將原始碼拿來作configure與make就好了。運(yùn)用常用的linux工具程式,如grep,sed,awk等。撰寫Win32nativeconsole或是GUI應(yīng)用程式。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)92CygwinDomingo:廠商提供的Windows環(huán)境的IDE編譯,燒錄,執(zhí)行的介面,可以利用它來觀察檢誤,不過目前我們只用它燒錄Flash的功能.當(dāng)從PC燒錄至目標(biāo)板上時(shí),是用ParallelPort(例如:PrinterPort),modeEPP方式燒錄才穩(wěn)定,必須在BIOS中修改與檢視,否則燒錄勝利率低於40%.UbuntuLinux是一份完好的桌面Linux作業(yè)系統(tǒng),它可免費(fèi)獲得。Fedora:是一份由RedHat策劃的開放開發(fā)專案,它向普通參與者開放並由精英管理者領(lǐng)導(dǎo),沿著一系列專案目標(biāo)而前進(jìn)。Fedora專案的目標(biāo)是與Linux社區(qū)協(xié)作,只從開放源碼軟體來創(chuàng)建一份完好的、通用的作業(yè)系統(tǒng)。2024/1/2693嵌入式系統(tǒng)軟體GNU(GNU'sNotUnix)「Guh-NOO」GNU計(jì)畫,又稱「革奴計(jì)畫」,是由RichardStallman在1983年9月27日公開發(fā)起的。它的目標(biāo)是創(chuàng)建一套完全自在的作業(yè)系統(tǒng),主要理由就是要“重現(xiàn)當(dāng)年軟體界協(xié)作互助的團(tuán)結(jié)精神〞。UNIX是一種廣泛運(yùn)用的商業(yè)作業(yè)系統(tǒng)的名稱。由於GNU將要實(shí)現(xiàn)UNIX系統(tǒng)的介面標(biāo)準(zhǔn),因此GNU計(jì)畫可以分別開發(fā)不同的作業(yè)系統(tǒng)部件。1991年LinusTorvalds編寫出了與UNIX相容的Linux作業(yè)系統(tǒng)中心,並在GPL條款下發(fā)佈。Linux之後在網(wǎng)上廣泛流傳,許多程式師參與了開發(fā)與修正。1992年Linux與其他GNU軟體結(jié)合,完全自在的作業(yè)系統(tǒng)正式誕生。該作業(yè)系統(tǒng)往往被稱為“GNU/Linux〞或簡稱Linux。GNU計(jì)劃的標(biāo)誌即為牛羚的頭像非洲的大型哺乳動(dòng)物。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)94嵌入式系統(tǒng)軟體Copyleft是一由自在軟體運(yùn)動(dòng)所發(fā)展的概念,是一種利用現(xiàn)有著作權(quán)體制來挑戰(zhàn)該體制的授權(quán)方式,在自在軟體授權(quán)方式中添加copyleft條款,即GNU通用公共許可證〔GNUGeneralPublicLicense,GPL〕之後,該自在軟體除了允許運(yùn)用者自在運(yùn)用、散佈、改作之外,copyleft條款更要求運(yùn)用者改作後的衍生作品必須要以同等的授權(quán)方式釋出以回饋社群。有人將其譯為「著作權(quán)」,以彰顯Copyleft是補(bǔ)足著作權(quán)〔Copyright,版權(quán)〕缺乏的意義。另有譯為「反版權(quán)」等不同名詞。此「倒轉(zhuǎn)的?」是Copyleft標(biāo)誌。它僅是Copyright標(biāo)誌的倒轉(zhuǎn)版本2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)95嵌入式系統(tǒng)軟體各種運(yùn)用Linux作為中心之GNU作業(yè)系統(tǒng)現(xiàn)正廣泛地運(yùn)用著,雖然此作業(yè)系統(tǒng)通稱為「Linux」,但更正確地應(yīng)被稱為是GNU/Linux。GNU是根據(jù)UNIX的標(biāo)準(zhǔn)發(fā)展其應(yīng)用程式,因此GNU是一個(gè)與UNIX相容之系統(tǒng)。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)96嵌入式系統(tǒng)軟體GCC〔GNUCompilerCollection,GNU編譯器套裝〕,是一套由GNU開發(fā)的編程語言編譯器。它是一套以GPL及LGPL許可證所發(fā)行的自在軟體,也是GNU計(jì)畫的關(guān)鍵部分,亦是自在的類Unix及蘋果電腦MacOSX操作系統(tǒng)的標(biāo)準(zhǔn)編譯器。GCC〔特別是其中的C語言編譯器〕也常被認(rèn)為是跨平臺(tái)編譯器(CrossCompiler)或稱交叉編譯器的事實(shí)標(biāo)準(zhǔn)。GCC原名為GNUC語言編譯器〔GNUCCompiler〕因?yàn)樗緛碇荒芴幚鞢語言。GCC很快地?cái)U(kuò)展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java,以及Ada與其他語言。GCC於1997年成為GNU系統(tǒng)的官方編譯器〔包括GNU/Linux家族〕2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)97嵌入式系統(tǒng)軟體GCC-Linux之編譯器每個(gè)語言編譯器都是獨(dú)立程式,此程式可處理輸入的原始碼,並輸出組合語言碼。全部的語言編譯器都擁有共通的中介架構(gòu):一個(gè)前端解析符合此語言的原始碼,並產(chǎn)生一籠統(tǒng)語法樹一翻譯此語法樹成為GCC的暫存器轉(zhuǎn)換語言〈RTL〉的後端。編譯器最正確化與靜態(tài)程式碼解析技術(shù)在此階段應(yīng)用於程式碼上。幾乎全部的GCC都由C寫成p.s程式師普通在主機(jī)上編寫和編譯嵌入式系統(tǒng)的代碼。所以主機(jī)上需求能為特定的嵌入式系統(tǒng)產(chǎn)生代碼的編譯器,他們被叫做交叉編譯器或彙編器2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)98嵌入式系統(tǒng)軟體GCC-Linux之編譯器GCC之作法是由一個(gè)前端程式(frontend),把C、C++及ObjectC的語法轉(zhuǎn)換成一個(gè)內(nèi)部的方式(RTL),再由後端(backend)對(duì)此虛擬組合語言進(jìn)行最正確化,最後產(chǎn)生目標(biāo)機(jī)CPU之組合語言碼。GCC編譯器產(chǎn)生組合語言碼,再由Assembler產(chǎn)生CPU目的檔。目的檔經(jīng)由GCC之連結(jié)程式(Linker)產(chǎn)生可執(zhí)行之機(jī)器碼。2024/1/26嵌入式系統(tǒng)組織架構(gòu)與設(shè)計(jì)99嵌入式系統(tǒng)軟體GCC-Linux之編譯器每個(gè)語言編譯器都是獨(dú)立程式,此程式可處理輸入的原始碼,並輸出組合語言碼。全部的語言編譯器都擁有共通的中介架構(gòu):一個(gè)前端
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年節(jié)日裝飾燈飾工程合同3篇
- 服裝行業(yè)購房合同樣板
- 商業(yè)大廈地塊租賃合同
- 旅游業(yè)發(fā)展支持辦法
- 化工項(xiàng)目招投標(biāo)違規(guī)處理辦法
- 2024年跨境電商項(xiàng)目股權(quán)融資及市場開拓合作協(xié)議書3篇
- 醫(yī)療器械企業(yè)市場推廣費(fèi)用分析
- 藥品安全風(fēng)險(xiǎn)監(jiān)測程序
- 環(huán)保行業(yè)收入管理辦法
- 2025版生物質(zhì)能項(xiàng)目結(jié)算合同規(guī)范文本3篇
- 土木工程材料期末考試試題庫
- 耕作學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國農(nóng)業(yè)大學(xué)
- 2024年中國消防救援學(xué)院第二批面向應(yīng)屆畢業(yè)生招聘28人歷年【重點(diǎn)基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- QCT1067.5-2023汽車電線束和電器設(shè)備用連接器第5部分:設(shè)備連接器(插座)的型式和尺寸
- 【基于近五年數(shù)據(jù)的五糧液公司財(cái)務(wù)分析案例6400字】
- 16J916-1住宅排氣道一
- 2024質(zhì)量管理理解、評(píng)價(jià)和改進(jìn)組織的質(zhì)量文化指南
- 《YST 550-20xx 金屬熱噴涂層剪切強(qiáng)度的測定》-編制說明送審
- MOOC 房地產(chǎn)管理-華中科技大學(xué) 中國大學(xué)慕課答案
- 教你成為歌唱高手智慧樹知到期末考試答案2024年
- 士官生計(jì)劃書
評(píng)論
0/150
提交評(píng)論