fA嵌入式系统组织架构与设计

上传人:ni****g 文档编号:578547273 上传时间:2024-08-24 格式:PPT 页数:181 大小:1.99MB
返回 下载 相关 举报
fA嵌入式系统组织架构与设计_第1页
第1页 / 共181页
fA嵌入式系统组织架构与设计_第2页
第2页 / 共181页
fA嵌入式系统组织架构与设计_第3页
第3页 / 共181页
fA嵌入式系统组织架构与设计_第4页
第4页 / 共181页
fA嵌入式系统组织架构与设计_第5页
第5页 / 共181页
点击查看更多>>
资源描述

《fA嵌入式系统组织架构与设计》由会员分享,可在线阅读,更多相关《fA嵌入式系统组织架构与设计(181页珍藏版)》请在金锄头文库上搜索。

1、2024/8/24嵌入式系統組織架構與設計1嵌入式系統組織架構與設計2024/8/24嵌入式系統組織架構與設計2課程大綱n第一章嵌入式系統概述n第二章嵌入式系統作業環境與系統開發程n第三章嵌入式系統Xscale微架構之系統結構n第四章Xscale指令系統n第五章XscalePXA270應用處理器結構和使用方法u實作PXA270結構與特性時脈與電源管理系統整合單元LCD控制UART控制USB控制GPIO控制2024/8/24嵌入式系統組織架構與設計3嵌入式系統組織架構與設計第一章嵌入式系統概述2024/8/24嵌入式系統組織架構與設計4第一章課程大綱n嵌入式系統概述u嵌入式系統特性u嵌入式系統體

2、系架構u嵌入式系統之發展n嵌入式系統軟體uLinux作業系統uWinCE作業系統u嵌入式系統開發平臺n嵌入式系統硬體uIntelXscaleSOC系列uIntelXscale實驗平台2024/8/24嵌入式系統組織架構與設計5前言n碩大便是美正好與IA(InformationAppliance)求小而美、小而省是背道而馳。n半導體電子發展趨勢是符合摩爾定律n資訊載具上之資訊軟體研發,具有量身訂做之特性,已從電腦中心設計(范紐曼結構)之時代轉向以消費者中心(3C)的設計。n多產業標準並存之網路架構以及互動性、相容性高之系統軟體變成為研發廠商開發之首要目標:u節省人力成本u配合嵌入式系統多功能化u

3、求新、求變2024/8/24嵌入式系統組織架構與設計6計算機科學(ComputerScience)nComputerScienceu電腦科學是一門包含各種各樣與計算和資訊處理相關主題的系統學科,從抽象的演算法分析、形式化語法等等,到更具體的主題如程式設計語言、程式設計、軟體和硬體等。作為一門學科,它與數學、電腦程式設計、軟體工程和電腦工程有顯著的不同,卻通常被混淆,儘管這些學科之間存在不同程度的交叉和覆蓋。u中國算盤(abacus),遠古就應用在計算上。資訊理論資訊理論2024/8/24嵌入式系統組織架構與設計7計算機科學(ComputerScience)nComputerscience,or

4、computingscienceuItisthestudyofthetheoreticalfoundationsofinformationandcomputationandtheirimplementationandapplicationincomputersystems.Computation:Itisageneraltermforanytypeofinformationprocessingthatcanberepresentedmathematically.Computationisaprocessfollowingawell-definedmodelthatisunderstoodand

5、canbeexpressedinanalgorithm,protocol,networktopology,etc.2024/8/24嵌入式系統組織架構與設計8計算機科學(ComputerScience)nInformation:uGenerallyspeaking,theconceptofinformationiscloselyrelatedtonotionsofconstraint,communication,control,data,form,instruction,knowledge,meaning,mentalstimulus,pattern,perception,andreprese

6、ntation.Informationisthewritingofknowldgeofanysubject.uInformationisthestateofasystemofinterest.Messageistheinformationmaterialized.The ASCII codes for the word Wikipedia represented in binary, the numeral system most commonly used for encoding computer information.2024/8/24嵌入式系統組織架構與設計9nInformation

7、processingmaymorespecificallybedefinedintermsbyClaudeE.Shannonastheconversionoflatentinformationintomanifestinformationcitation needed.Latentandmanifestinformationisdefinedthroughthetermsofequivocation(remaininguncertainty,whatvaluethesenderhasactuallychosen),dissipation(uncertaintyofthesenderwhatth

8、ereceiverhasactuallyreceived)andtransformation(savedeffortofquestioning-equivocationminusdissipation)citation needed.nPracticalInformationProcessingcanbedescribedasacycle,wheredata(whichmayhavenoinherentmeaningtotheobserver)isconvertedintoinformation(whichdoeshavemeaningtotheobserver).Thisconversion

9、takesoneofthreeforms:nComputationutilizesmathematics(specificallyarithmetics)tocreatetheinformationfromdata.Example:acashregister(eithermechanicalordigital)usesadditiontoconverttheindividualitemprices(data)intothetotalamountowedtothestore(information).nTransductionistheconversionofonetypeofenergyint

10、oanothertype.Example:Amechanicalspeakerconvertsanelectricsignal(data)intosoundwaves(information).nTranslationistheconversionofastringofsymbolsfromonesetintoanother.Example:apersonfluenttwolanguagescouldrewriteadocumentthatiswritteninalanguagethattheobserverdoesnotunderstand(data)intoalanguagethatthe

11、observerdoesunderstand(information).NotethattranslationistheonlyInformationprocessingformthatcannotyetbeperformedpurelybyamachine.Itrequiresanorganicbrain(someelectroniccomputerprogramscantranslatebutinrealitytheyareusingcomplexprograms,whichactuallyrelysolelyoncomputationtocompletetheprocess).2024/

12、8/24嵌入式系統組織架構與設計10計算機科學(ComputerScience)n計算機科學研究的課題:u電腦程式能做什麼和不能做什麼(可計算性)u如何使程式更高效的執行特定任務(演算法和複雜性理論)u程式如何存取不同類型的資料(資料結構和資料庫)u程式如何顯得更具有智慧(人工智慧); u人類如何與程式溝通(人機互動和人機界面)2024/8/24嵌入式系統組織架構與設計11計算機科學(ComputerScience)n電腦(計算機)科學的大部分研究是基於“杜林機”(TuringMachine)和“馮范紐曼電腦”(JohnvonNeumann)的,它們是絕大多數實際機器的計算模型。n西元1937

13、年,亞蘭杜林(AlanTuring)提出了TuringMachine的概念。uTuringMachineTuringmachinesareextremelybasicabstractsymbol-manipulatingdeviceswhich,despitetheirsimplicity,canbeadaptedtosimulatethelogicofanycomputerthatcouldpossiblybeconstructed.Thoughtheywereintendedtobetechnicallyfeasible,Turingmachineswerenotmeanttobeapra

14、cticalcomputingtechnology,butathoughtexperimentaboutthelimitsofmechanicalcomputation;thustheywerenotactuallyconstructed.Studyingtheirabstractpropertiesyieldsmanyinsightsintocomputerscienceandcomplexitytheory.2024/8/24嵌入式系統組織架構與設計12計算機科學(ComputerScience)nTuringMachineu艾倫杜林的“通用電腦器”(“universalcomputing

15、machine”)是由他(1936-1937)為他的多用途單機器(電腦器)模型命名,這模型可以“運行”任何任意(但well-formed)指令序列(稱為quintuples)。這模型被一些人例如Davis(2000)認為是“存儲程式電腦”的原點。u每台圖靈機從它的字母表得到字串計算一確定的固定偏可計算函數。從外觀上它的行為就像一台使用固定程式的電腦。儘管如此,我們可以把任何杜林機的動作表格編碼到一條字串。2024/8/24嵌入式系統組織架構與設計13計算機科學(ComputerScience)nVonNeumannorStoredprogramComputeru最早的電腦器僅內涵固定用途的程式

16、,通常是為了簡化或教育目的。例如一個計算器僅有固定的數學計算程式,它不能拿來當作文書處理軟體,更不能拿來玩遊戲。若想要改變此機器的程式,則必須更改線路、更改結構甚至重新設計此機器。u范紐曼結構型電腦,則是以儲存程式型電腦的概念改變了這一切。藉由創造一組指令集結構,並將所謂的運算轉化成一串程式指令的執行細節,讓此機器更有彈性。借著將指令當成一種特別型態的靜態資料,一台儲存程式型電腦可輕易改變其程式,並在程式控制下改變其運算內容。2024/8/24嵌入式系統組織架構與設計14計算機的通用架構 n西元1945年u范紐曼模式(vonNeumannModel)最主要的精神在於儲存程式(storedpro

17、gram)的概念2024/8/24嵌入式系統組織架構與設計15nuProcessor架構Intel80386為例Block diagram of the i3862024/8/24嵌入式系統組織架構與設計16計算機科學(ComputerScience)n計算機系統層次結構u從功能上看,現代電腦系統可分為五個層次級別,每一層都能進行程式設計。微程式設計級微程式設計級這一級是由硬體直接實現的,是電腦系統最底層的硬體系統。由機器硬體直接執行微指令。只有採用微程式設計的電腦系統,才有這一級。如果某一個應用程式直接用微指令來編寫,那麼可在這一級上運行應用程式。一般機器級一般機器級也稱為機器語言級,它由微

18、程式解釋機器指令系統。這一級也是硬體級,是軟體系統和硬體系統之間的紐帶。硬體系統的操作由此級控制,軟體系統的各種程式,必須轉換成此級的形式才能執行。2024/8/24嵌入式系統組織架構與設計17計算機科學(ComputerScience)u作業系統級作業系統級由作業系統程式實現。這些作業系統由機器指令和廣義指令組成,廣義指令是作業系統定義和解釋的軟體指令,所以這一級也稱為混合級。電腦系統中硬體和軟體資源由此級管理和統一調度,它支撐著其他系統軟體和應用軟體,使電腦能夠自動運行,發揮高效率的特性。u組合語言級組合語言級給程式人員提供一種符號形式語言,以減少程式編寫的複雜性。這一級由組合語言程式支持

19、和執行。如果應用程式採用組合語言編寫,則機器必須要有這一級的功能;如果應用程式不採用組合語言編寫,則這一級可以不要。u高階語言級高階語言級導向用戶,為方便用戶編寫應用程式而設置的。這一級由各種高階語言編譯程序支持和執行。2024/8/24嵌入式系統組織架構與設計18計算機科學(ComputerScience)u電腦系統各層次之間的關係十分緊密,上層是下層的擴展,下層是上層的基礎u除第一級外,其他各級都得到它下面級的支持,同時也受到運行在下面各級上的程式的支援。u第一級到第三級編寫程式採用的語言,基本是二進位數字字化語言,機器執行和解釋容易。第四、五兩級編寫程式所採用的語言是符號語言,用英文字母

20、和符號來表示程式,因而便於大多數不瞭解硬體的人們使用電腦。2024/8/24嵌入式系統組織架構與設計19n計算機系統層次結構Ring 0Ring 1Ring 2Ring 3Ring 4Ring 5Ring 6Ring0:硬體邏輯Ring1:程序控制Ring2:作業系統(OS)Ring3:匯編程序Ring4:高級語言匯編或解釋程序Ring5:應用程序Ring6:應用系統羅及模型2024/8/24嵌入式系統組織架構與設計20n計算機系統層次結構2024/8/24嵌入式系統組織架構與設計21計算機科學(ComputerScience)nComputerScience與資訊工程(Information

21、Engineering)u西元1962年,史丹佛大學和普渡大學成立了全球最早的計算機科學系(computersciencedepartments)台灣最早的計算機科學系:交通大學計算機與控制工程系(1970)台灣最早命名為資訊工程系的則是台灣大學(1977)交大的計工系也於1988年更名為資訊工程系現在幾乎全球各主流大學,都設立了計算機科學的相關科系,足以顯示計算機一日千里的進展2024/8/24嵌入式系統組織架構與設計22n摩爾定律摩爾定律是由英特爾(Intel)創始人之一戈登摩爾(GordonMoore)提出來的。其內容為:積體電路上可容納的電晶體數目,約每隔18個月便會增加一倍,性能也將

22、提升一倍,而價格下降一半;或者說,每一美元所能買到的電腦性能,將每隔18個月翻兩倍以上。1這一定律揭示了資訊技術進步的速度。計算機科學(ComputerScience)2024/8/24嵌入式系統組織架構與設計23第一章課程大綱n嵌入式系統概述u嵌入式系統特性u嵌入式系統體系架構u嵌入式系統之發展n嵌入式系統軟體uLinux作業系統uWinCE作業系統u嵌入式系統開發平臺n嵌入式系統硬體uIntelXscaleSOC系列uIntelXscale實驗平台2024/8/24嵌入式系統組織架構與設計24嵌入式系統概述n嵌入式系統特性u何謂嵌入式系統?何謂系統:根據一個固定之計畫、一個程式或一系列的規

23、則,處理執行一個或多個工作之方法,系統也可以是根據計畫或程式來整合所有硬體的協同工作。例如:手錶、洗衣機、汽車電子、電腦(含OS)嵌入式系統是在一些大型系統內,由硬體與軟體所構成的一個元件,處理一些不需由人們來操作且特定之一些功能。大多是以電腦為基礎之系統(Computer-Based)的應用程式或產品。內含軟體(OS、AP)於ROM之中的單一微電腦機板,執行特種功能。融合驗腦軟/硬體技術、通訊技術與半導體微電子技術,是資訊技術IT(InformationTechnology)之最終產品。2024/8/24嵌入式系統組織架構與設計25嵌入式系統概述n嵌入式系統特性u何謂嵌入式系統?從應用之層面

24、,根據IEEE的定義:嵌入式系統是控制、監視或者輔助裝置、機器和設備執行之裝置,亦可說是軟體與硬體之綜合體。以應用為中心、以電腦技術為基礎、軟體硬體可隨需要而更新、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求之專用電腦系統。當今稱嵌入式系統是針對具有作業系統之嵌入式系統2024/8/24嵌入式系統組織架構與設計26嵌入式系統概述n嵌入式系統特性u配合特定應用之特殊設計用戶導向、產品導向、應用導向,與應用緊密結合。u高效率、穩定之系統先進之電腦、半導體和電子等技術融合一體。u產品壽命長與實際系統需求緊密結合,與具體產品同步升級、更新。u不易被竊取和高安全性嵌入式系統本身不具有自主開發之能

25、力,一般使用者無法對其中功能進行修改,必須有一套開發工具與環境才能進行開發,如硬體模擬之ICE或軟體模擬之ADS(ARMDeveloper Suite)、RealViewDeveloperSuite等。u容易操作u微型化2024/8/24嵌入式系統組織架構與設計27嵌入式系統概述n嵌入式系統體系架構u早期應用於軍事、航空航太為主,逐步轉移工業控制、汽車電子、通訊及家用消費等領域。u嵌入式系統主要區分硬體與軟體二部分,其架構可分為四個部份:處理器核心記憶體輸入與輸出嵌入式作業系統與應用軟體(與一般性之PC有極大之區別)結合特定功能之應用嵌入式作業系統存入FLASH或EEPROMBootloade

26、rVs.BIOS2024/8/24嵌入式系統組織架構與設計28第一章課程大綱n嵌入式系統概述u嵌入式系統特性u嵌入式系統體系架構u嵌入式系統之發展n嵌入式系統軟體uLinux作業系統uWinCE作業系統u嵌入式系統開發平臺n嵌入式系統硬體uIntelXscaleSOC系列uIntelXscale實驗平台2024/8/24嵌入式系統組織架構與設計29嵌入式系統概述n嵌入式系統體系架構u重要名詞解釋uprocessorSOCICEMIPSPIPELINE結構作業系統指令主頻MMC2024/8/2430嵌入式系統概述n嵌入式系統體系架構u嵌入式系統架構圖n嵌入式系統採用“量身訂作”的方式,把所需要之

27、功能嵌入至各種應用系統中,隨應用形式之不同,區分:uIP(IntellectualProperty)級-系統級晶片SOC(SystomonChip)的形式u晶片級-目前嵌入式系統最常見的形式u模組級-常出現在工業控制和儀器儀表中2024/8/2431嵌入式系統概述n嵌入式系統體系架構uIP(IntellectualProperty)級-系統級晶片SOC在一個矽晶片上實現一個更為複雜系統各種通用處理器核心將成為SoC設計的標準庫,成為VLSI設計中一種標準的器件,可以用標準的VHDL等語言描述,並儲存在元件庫中。除個別無法集成的元件以外,整個嵌入式系統大部分均可集成到一塊或幾塊晶片中應用系統電路

28、板將變得很簡潔,對於減小體積和功率消耗、提高可靠性非常有利。SOC可以分為通用和專用兩類:專用SOC通常用於某類系統中,而不為一般用戶所知。通用型SOC如:ARM系列晶片元件。2024/8/2432嵌入式系統概述n嵌入式系統體系架構u晶片級嵌入式微控制器(MicrocontrollerUnit,MCU)又稱單晶片,就是將整個電腦系統匯集到一塊晶片中是以某一種微處理器內核為核心,晶片內部整合。ROM/EPROM、RAM、匯流排、匯流排邏輯、定時/計數器、WatchDog、I/O、串列埠、脈寬調變輸出、類比轉數位(A/D)、數位轉類比(D/A)、FlashRAM、EEPROM等各種必要功能和週邊設

29、備。為適應不同的應用需求,一個單晶片系列具有許多種衍生產品,每種衍生產品的處理器內核心都是一樣的,不同的是記憶體和週邊設備的配置與封裝。最大特點是單晶片化,體積大幅減小,因而使功率消耗和成本下降、可靠性提高。是目前嵌入式系統工業的主流。微控制器晶片上週邊設備資源通常比較豐富,適合於控制用途,因此稱之為微控制器。市佔率約70的嵌入式市場。2024/8/24嵌入式系統組織架構與設計33嵌入式系統概述n嵌入式系統體系架構嵌入式DSP處理器(EmbeddedDigitalSignalProcessor,EDSP)系統結構和指令進行了特殊的設計,使其適合於執行DSP演算法,提高編譯效率和指令執行速度。D

30、SP應用正從以普通指令實現DSP功能的通用單晶片中,過渡到採用嵌入式DSP處理器。2024/8/2434嵌入式系統概述n嵌入式系統體系架構u模組級-常出現在工業控制和儀器儀表中基礎就是通用電腦中的中央處理器(CPU)裝配在專門設計的電路板上,只保留和嵌入式應用相關的母板功能在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種加強。具有體積小、重量輕、成本低、可靠性高的優點在電路板上必須包括ROM、RAM、匯流排界面、和各種週邊設備,因而降低了系統的可靠性,技術保密性也較差嵌入式微處理器及其記憶體、匯流排、週邊設備等安裝在一塊電路板上,亦稱之為單板電腦。2024/8/24嵌入式系統組織架構與設計3

31、5嵌入式系統概述n嵌入式系統體系架構uARM簡介AdvanceRISCMachine,ARM是一個公司名,已可說是微處理器之通稱,例如:SONYARM公司是專門RISC技術晶片設計開發公司,作為之是產權供應商,不從事晶片生產,賣轉讓設計許可。ARM微處理器之應用領域:工業控制無線通訊網路應用消費類電子影像與安全類產品2024/8/24嵌入式系統組織架構與設計36嵌入式系統概述n嵌入式系統體系架構uARM微處理器之特點體積小、低功耗、低成本、高性能支援16/32位元等級之微處理器大量使用微處理器,指令執行速度快大多數指令操作是在暫存器中執行。定址方式靈活簡單,執行效率高。指令長度固定2024/8

32、/2437嵌入式系統概述n嵌入式系統體系架構uARM微處理器系列通用型:ARM7、ARM9、ARM9E、ARM10EIntel的StrongARM、Xscale等。專用型:SecurCoreuARM提供一系列方案:CPU內核小型、快速、低能耗、ARM指令集Thumb指令集之整合式RISC內核,採用多層管線(Pipeline)架構,以增進處理效能。體系擴展Thumb:以16位元系統的成本,提供32位元RISC性能,特別注意的是它所需的記憶體容量非常小。嵌入式ICE調校由於整合了類似於ICE的CPU內核調校技術,所以原型設計和系統晶片的調校得到了極大的簡化。微處理器nThumb指令集是ARM指令集

33、之一個子集,允許指令編碼為16為元之長度,其優勢是節省系統儲存之空間。nThumb指令集可支援ARM指令,Thumb的編碼程式亦可對應至ARM編碼程式。期付程式亦可相互呼叫運用。2024/8/24嵌入式系統組織架構與設計382024/8/24嵌入式系統組織架構與設計39嵌入式系統概述n嵌入式系統體系架構uARM7微處理器具有嵌入式ICE-RT輯,除錯開發方極低的功耗,適合對功耗要求嚴格的應用,如攜帶型產品;能夠提供0.9MIPS/MHz的三級水線結構;程式密高並相容16位元的Thumb指集;對作業系統的支援廣泛,包括WindowsCE、Linux、PalmOS等;指系統與ARM9、ARM9E和

34、ARM10E系相容,於使用者的產品升級換代;主頻最高可達130MIPS,高速的運算處能能勝任絕大多的複雜應用。2024/8/24嵌入式系統組織架構與設計40嵌入式系統概述n嵌入式系統體系架構uARM7系微處器的主要應用域為:工業控制、Internet設備、網和據機設備、動電話等多種多媒體和嵌入式應用。uARM7系微處器包括如下幾種型的核心:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最廣泛的32位元嵌入式RISC處器,屬低端ARM處器核心。uTDMI的基本含義為:T:支援16位元壓縮指集Thumb;D:支援晶片上Debug;M:內嵌硬體

35、乘法器(Multiplier);I:嵌入式ICE,支援晶片上中斷點和除錯點。uARM7不具有MMU功能。2024/8/2441嵌入式系統概述n嵌入式系統體系架構uARM9微處理器:ARM9系微處器在高性能和低功耗特性方面提供最佳的性能。具有以下特點:提供1.1MIPS/MHz5級水線結構;支援32位元ARM指集和16位元Thumb指集;支援32位元的高速AMBA匯排介面;全性能MMU,支援WindowsCE、Linux、PalmOS等主嵌入式作業系統;MPU支援即時操作系統;支援資Cache和指Cache,具有高的指和資處能。uARM9系微處器主要應用於無線設備、儀器儀表、安全系統、機頂盒、高

36、端印表機、位照相機和位攝像機等。它包含ARM920T、ARM922T和ARM940T三種型。2024/8/24嵌入式系統組織架構與設計42嵌入式系統概述n嵌入式系統體系架構uARM9E微處理器ARM9E系微處器為可綜合處器,使用單一的處器核心提供微控制器、DSP、Java應用系統的解決方案,極大地減少晶片的面積和系統的複雜程。ARM9E系微處器提供增強的DSP處能,很適合於那些需要同時使用DSP和微控制器的應用場合。uARM9E系微處器的主要特點如下:支援DSP指集,適合於需要高速位信號處的場合;5級整水線,指執效高;2024/8/24嵌入式系統組織架構與設計43嵌入式系統概述n嵌入式系統體系

37、架構uARM9E支援32位元ARM指集和16位元Thumb指集;支援32位的高速AMBA匯排介面;支援VFP9浮點處輔助運算器;全性能MMU,支援WindowsCE、Linux、PalmOS等主嵌入式作業系統;MPU支援即時操作系統;支援資Cache和指Cache,具有高的指和資處能;主頻最高可達300MIPS。uARM9E系微處器主要應用於下一代無線設備、位消費品、影像設備、工業控制、儲存設備和網設備等域。它包含ARM926EJ-S、ARM946E-S和ARM966E-S三種型。2024/8/24嵌入式系統組織架構與設計44嵌入式系統概述n嵌入式系統體系架構uARM10E系微處器具有高性能、

38、低功耗的特點,由於採用新的體系結構,與同等的ARM9元件相比較,在同樣的時鐘頻下,性能提高近50,同時,ARM10E系微處器採用種先進的節能方式,使其功耗極低。uARM10E系微處器的主要特點如下:支援DSP指集,適合於需要高速位信號處的場合;6級整水線,指執效高;支援DSP指集,適合於需要高速位信號處的場合;6級整水線,指執效高;2024/8/24嵌入式系統組織架構與設計45嵌入式系統概述n嵌入式系統體系架構支援32位元ARM指集和16位元Thumb指集;支援32位元的高速AMBA匯排介面;支援VFP10浮點處輔助運算器;全性能MMU,支援WindowsCE、Linux、PalmOS等主嵌入

39、式作業系統;支援資Cache和指Cache,具有高的指和資處能;主頻最高可達400MIPS;內嵌並/寫操作元件。uARM10E系微處器主要應用於下一代無線設備、位消費品、影像設備、工業控制、通信和資訊系統等域。u它包含ARM1020E、ARM1022E和ARM1026EJ-S三種型。2024/8/24嵌入式系統組織架構與設計46嵌入式系統概述n嵌入式系統體系架構uSecurCore微處器系SecurCore系微處器專為安全需要而設計,提供完善的32位元RISC技術的安全解決方案,因此它除具有ARM體系結構的低功耗、高性能的特點外,還具有其獨特的優勢,即提供對安全解決方案的支援。SecurCor

40、e系微處器在系統安全方面具有如下的特點:帶有活的保護單元,以確保作業系統和應用資的安全;採用軟核心技術,防止外部對其進掃描探測;可集成使用者自己的安全特性和其他輔助運算器。2024/8/24嵌入式系統組織架構與設計47嵌入式系統概述n嵌入式系統體系架構SecurCore系微處器主要應用於一些對安全性要求較高的應用產品及應用系統,如電子商務、電子政府服務、電子銀業務、網和認證系統等域。它包含SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210四種型。SecurCore系微處器主要應用於一些對安全性要求較高的應用產品及應用系統,如電

41、子商務、電子政府服務、電子銀業務、網和認證系統等域。2024/8/24嵌入式系統組織架構與設計48嵌入式系統概述n嵌入式系統體系架構uStrongARM微處器系IntelStrongARMSA-1100以及IntelStrongARMSA-1110處器是採用ARM體系結構,高集成的32位元RISC微處器。融合Intel公司的設計和處技術以及ARM體系結構的電源效,採用在軟體上相容ARMv4體系結構、同時採用具有Intel技術優點的體系結構。IntelStrongARM處器是攜帶型通訊產品和消費型電子產品的想選擇,已成功應用於多家公司的掌上型PDA系產品。2024/8/24嵌入式系統組織架構與設

42、計49嵌入式系統概述n由於ARM微處器有多達十幾種的核心結構,幾十個晶片生產廠家,以及千變萬化的內部功能配置組合,因此以介紹ARM微處器為主,但ARM系列核心之功能亦有不同,其較大差異說明如后:u作業系統:WinCE或標準Linux作業系統,就需要選擇ARM720T以上帶有MMU(MemoryManagementUnit)功能的ARM晶片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都帶有MMU功能。ARM7TDMI則沒有MMU,支援WindowsCE和標準Linux,但目前有uCLinux以及uC/OS-II等需要MMU支援的作業系統可執於ARM7TD

43、MI硬體平臺之上。本課程教學實驗系統使用的PXA270為一款具有MMU的ARM微處器,可在其上執Linux、WindowsCE和uC/OS-II等作業系統。2024/8/24嵌入式系統組織架構與設計50嵌入式系統概述u系統的工作頻:系統的工作頻在很大程上決定ARM微處器的處能。ARM7系微處器的典型處速為0.9MIPS/MHz,常ARM7晶片系統主時鐘20MHz-133MHz。ARM9系微處器的典型處速為1.1MIPS/MHz,常ARM9的系統主時鐘頻為100MHz-233MHz;ARM10最高可以達到700MHz。同晶片對時鐘的處同,有的晶片只需要一個主時鐘頻,有的晶片內部時鐘控制器可以分別

44、為ARM核心和USB、UART、DSP、音頻等功能元件提供同頻的時鐘。2024/8/24嵌入式系統組織架構與設計51嵌入式系統概述u晶片內記憶體的容:大多ARM微處器片內記憶體的容都大,需要使用者在設計系統時外擴記憶體,但也有部分晶片具有相對較大的晶片內儲存空間,如ATMEL的AT91F40162就具有高達2MB的晶片內程式儲存空間,使用者在設計時可考慮選用這種型,以簡化系統的設計。u晶片內週邊電的選擇:除ARM微處器核心以外,幾乎所有的ARM晶片均根據各自同的應用域,擴充相關功能模組,並集成在晶片之中,我們稱之為晶片內週邊電,如USB介面、IIS介面、LCD控制器、鍵盤介面、RTC、ADC和

45、DAC、DSP輔助運算器等。設計者應分析系統的需求,盡可能採用晶片內週邊電完成所需的功能,以簡化系統的設計,提高系統的可靠性。2024/8/24嵌入式系統組織架構與設計52第一章課程大綱n嵌入式系統概述u嵌入式系統特性u嵌入式系統體系架構u嵌入式系統之發展n嵌入式系統軟體uLinux作業系統uWinCE作業系統u嵌入式系統開發平臺n嵌入式系統硬體uIntelXscaleSOC系列uIntelXscale實驗平台2024/8/24嵌入式系統組織架構與設計53嵌入式系統概述n嵌入式系統體系架構u嵌入式系統之發展應用軟體的開發需要強大的開發工具和作業系統的支援網路成為必然趨勢支援小型電子設備實現小尺

46、寸、低功率和低成本提供精巧的多媒體人機界面2024/8/24嵌入式系統組織架構與設計54第一章課程大綱n嵌入式系統概述u嵌入式系統特性u嵌入式系統體系架構u嵌入式系統之發展n嵌入式系統軟體uLinux作業系統uWinCE作業系統u嵌入式系統開發平臺n嵌入式系統硬體uIntelXscaleSOC系列uIntelXscale實驗平台2024/8/24嵌入式系統組織架構與設計55嵌入式系統軟體n嵌入式作業系統限於儲存空間等因素,相對地作業系統規模較為精簡,精簡之方式主要是透過減少內核核心、減少動態連結庫、減少應用程式等,以達到減少各種程式碼佔用記憶體空間之目的。n嵌入式系統需要增強即時性之特殊功能,

47、這可透過修改流程調度演算法和使用雙核心系統達成。n嵌入式系統具有主機模擬的環境(跨平台)來進行發展之優勢。u模擬MSWindows的Cygwin或VMWare等n嵌入式作業系統最常用之作業系統u嵌入式LinuxuclinuxFedorauWinCE2024/8/24嵌入式系統組織架構與設計56嵌入式系統軟體uLinux作業系統uWinCE作業系統u嵌入式系統開發平臺2024/8/24嵌入式系統組織架構與設計57嵌入式系統軟體n軟體系統可以進一步劃分為系統軟體、支撐軟體和應用軟體三個層次。u系統軟體是電腦系統中基礎的軟體系統,它包括作業系統、編譯系統和資料庫等。其中作業系統在軟體系統的最下層,緊

48、接著底層硬體.u支撐軟體包括網路通信程式、多媒體支援軟體、硬體介面程式、實用軟體工具以及軟體發展工具等等。網路通信程式完成電腦網路通信的功能。多媒體支援軟體協助電腦系統實現對圖形、圖像、語音和視頻等多媒體資訊的處理。硬體介面程式提供與各種電腦外部設備的連接支援。u實用軟體工具則提供了多種系統維護和操作的手段,而軟體發展工具為程式設計人員編寫代碼提供了良好、便捷的環境。2024/8/24嵌入式系統組織架構與設計58嵌入式系統軟體nLinux作業系統uLinuxOS之種類:桌面與伺服器形式之OS:FedoraLinux嵌入式LinuxOS:RT-Linux、uCLinux、XLinux、紅旗嵌入式

49、Linux2024/8/2459嵌入式系統軟體nLinux作業系統uLinux系統分成三個重要的部份:核心Shell工具程式(檔案結構、實用工具)u為何稱它為Shell呢?Shell的本意是殼的意思呢!u沒錯,在核心的外面,包覆著一層外殼,用來負責接收使用者輸入的指令,然後將指令解譯成核心能夠了解的方式,傳給核心去執行,再將結果傳回至預設的輸出周邊。2024/8/24嵌入式系統組織架構與設計60嵌入式系統軟體n嵌入式Linux嵌入式Linux系統包含:內核核心和應用程式二部分。u內核核心為應用程式提供一個虛擬之硬體平台,以統一之方式對資源進行分配。u應用程式負責系統之部分初始化、基本之人機介面

50、、必要之指令等內容。2024/8/24嵌入式系統組織架構與設計61嵌入式系統軟體u核心在電腦科學中,核心是作業系統最基本的部分。它是為眾多應用程式提供對電腦硬體的安全訪問的一部分軟體,這種訪問是有限的,並且內核決定一個程式在什麼時候對某部分硬體操作多長時間。直接對硬體操作是非常複雜的;所以核心通常提供一種硬體抽象的方法,來完成這些操作。硬體抽象隱藏了複雜的部分,為應用軟體和硬體提供了一套簡潔,統一的介面,使程式設計更為簡單。2024/8/24嵌入式系統軟體u核心核心可分為四大類:單內核:它為潛在的硬體,提供了大量完善的硬體抽象操作。如:Linux核心、UNIX、Windows9x。微內核:只提

51、供了很小一部分的硬體抽象,大部分功能由一種特殊的用戶態(usermode)程式:伺服器來完成。如:MINIX混合內核:它很像微內核結構,只不過它的的元件更多的在內核態(supervisormode)中運行,以獲得更快的執行速度。如:WindowsXP、Vista、NT。外內核:這種內核不提供任何硬體抽象操作,但是允許為內核增加額外的函式庫(library),通過這些函式庫應用程式可以直接地或者接近直接地對硬體進行操作。Linux2024/8/24嵌入式系統組織架構與設計63嵌入式系統軟體u四大類核心示意圖:單內核微內核混合內核單內核結構的例子:傳統的UNIX內核,例如伯克利大學發行的版本Lin

52、ux內核MS-DOS,Windows9x(Windows95,98,Me)微內核結構的例子:AIXBeOSL4微內核系列Mach,用於GNUHurd和MacOSXMinix2024/8/24嵌入式系統組織架構與設計64嵌入式系統軟體uLinux核心核心是系統的心臟,是執程式和管像磁片和印表機等硬體設備的核心程式。它從使用者那裏接受指並把指送給核心去執。核心(kernel)指的是一個提供硬體抽象層、磁片及檔案系統控制、多工等功能的系統軟體。一個核心不是一套完整的作業系統。一套基於Linux核心的完整作業系統叫作Linux作業系統,或是GNU/Linux。Linux核心是由芬蘭之網路駭客Linus

53、Torvalds以AndrewStuartTanenbaum教授(美國)所開發之MINIXOS為基礎發展而成。是由GNU組織所發布,是目前自由軟體中最卓越之軟體程式。Linux:2024/8/2465嵌入式系統軟體uLinux核心Linux核心的功能大致分成如下幾個部分:進程(process)管:進程管功能負責建和撤銷進程以及處他們和外部世界的接。同進程之間的通信是整個系統的基本功能,因此也由核心處。除此之外,控制進程如何共用CPU資源的調程式也是進程管的一部分。概括的,核心的進程管活動就是在單個或多個CPU上實現多進程的抽象。記憶體管:記憶體是電腦的主要資源之一,用管記憶體的策是決定系統性能

54、的一個關鍵因素。核心在有限的可用資源上為每個進程都建一個虛擬定址空間。核心的同部分在和記憶體管子系統交互時使用一套相同的系統呼叫,包括從簡單的malloc/free到其他一些常用的系統呼叫。Linux:2024/8/2466嵌入式系統軟體uLinux核心檔案系統:Linux在很大程上依賴於檔案系統的概,Linux中的每個物件幾乎都是可以被視為檔案的。核心在沒有結構硬體上構造結構化的檔案系統。所構造的檔案系統籌向在整個系統中廣泛使用。另外,Linux支援多種檔案系統型,即在物介質上組織的結構同。設備控制:幾乎每個系統操作最終都會映射到物設備上。除處器,記憶體以及其他很有限的的幾個實體外,所有的設

55、備控制操作都由與被控制設備相關的程式完成。這段程式叫做設備驅動程式,核心必須為系統中的每件外部設備嵌入相應的驅動程式。Linux2024/8/24嵌入式系統組織架構與設計67嵌入式系統軟體uLinux核心u網功能:網功能也必須有作業系統管,因為大部分網操作都和具體的進程無關。在每個進程處這些資之前,資報必須已經被收集、標、和分發。系統負責在應用程式和網之間傳遞資。另外,所有的由和位址解析問題都由核心處。2024/8/24嵌入式系統組織架構與設計68嵌入式系統軟體u嵌入式Linux內核核心嵌入式嵌入式Linux內內核核心可以分為六部分:程序管理,核核心可以分為六部分:程序管理,記憶體管理,檔案系

56、統,程序間通信,網路,設備記憶體管理,檔案系統,程序間通信,網路,設備驅動。驅動。這六個部分間之關係,如下圖:這六個部分間之關係,如下圖:網路檔案系統程序間通訊驅動程式記憶體管理程序調度虛擬硬體層實體硬體層表示相依關係2024/8/24嵌入式系統組織架構與設計69嵌入式系統軟體u嵌入式Linux內核核心程序管理:程序管理:控制控制CPU之資源分配,之資源分配,Linux值值型基於優先順序的搶占式型基於優先順序的搶占式多工。多工。即時處理需求多,因此需要改變程序調度來執行及時程序即時處理需求多,因此需要改變程序調度來執行及時程序程序調度一般是透過時鐘中斷執行,因此與硬體有關。程序調度一般是透過時

57、鐘中斷執行,因此與硬體有關。程序調度程式碼一般是以組合語言撰寫程序調度程式碼一般是以組合語言撰寫記憶體管理系統:管理記憶體資源,支援虛擬記憶體。執行程序間之記憶體保護、記憶體共用、分配等管理。與記憶體硬體有關:初始化記憶體、分頁處理機制。與記憶體硬體無關:記憶體分配與記憶體映射(memorymapping)2024/8/24嵌入式系統組織架構與設計70嵌入式系統軟體u嵌入式Linux內核核心檔案系統:檔案系統:虛擬檔案系統介面虛擬檔案系統介面(VFS),真實之檔案系統皆掛在,真實之檔案系統皆掛在VFS之之下,在統一之介面下,進行下,在統一之介面下,進行查查詢。詢。邏輯檔案系統與設備驅動程式邏輯

58、檔案系統與設備驅動程式在嵌入式在嵌入式Linux系統,檔案系統皆是建立在區塊裝置形式,系統,檔案系統皆是建立在區塊裝置形式,如如RAM、FLASH程序間通信:程序間通信:所有程序皆在自己之記憶體位址空間執行,部會相互干擾。所有程序皆在自己之記憶體位址空間執行,部會相互干擾。而程序間資訊之護船,則是經由程序通信機制。而程序間資訊之護船,則是經由程序通信機制。Pipe、Signal、網路通信等、網路通信等2024/8/24嵌入式系統組織架構與設計71嵌入式系統軟體u嵌入式Linux內核核心網路網路支援多種網路協定:支援多種網路協定:IP、IPv6、Bluetooth等等核心網路程式碼與硬體無關核心

59、網路程式碼與硬體無關驅動程式驅動程式Linux除除CPU和記憶體以外之資源皆用驅動程式的形式管和記憶體以外之資源皆用驅動程式的形式管理,理,內內核核心原始程式碼大部分是各種驅動程式核核心原始程式碼大部分是各種驅動程式Linux有三類設備:字元設備、區塊裝置及網路設備。有三類設備:字元設備、區塊裝置及網路設備。2024/8/24嵌入式系統組織架構與設計72嵌入式系統軟體nLinuxshellu由於核心的部份相當低階,操作者不易和它直接溝通,因此,必須要有一個友善的介面(interface),使得操作時能更為方便,這個介面便是Shell.u換言之,Shell就是一個居於核心和操作者之間的一層使用者

60、介面.為何稱它為Shell呢?Shell的本意是殼的意思呢!沒錯,在核心的外面,包覆著一層外殼,用來負責接收使用者輸入的指令,然後將指令解譯成核心能夠了解的方式,傳給核心去執行,再將結果傳回至預設的輸出周邊。2024/8/24嵌入式系統組織架構與設計73嵌入式系統軟體nLinuxshell2024/8/24嵌入式系統組織架構與設計74嵌入式系統軟體nLinuxshell例如:資料夾檔案顯示,指令為ls-l,則shell給你以下回應:2024/8/24嵌入式系統組織架構與設計75嵌入式系統軟體擁檔有案檔種案檔案大小最近修改的類檔案權限數擁有人組別(byte單位)日期及時間檔案名稱drwxr-xr

61、-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+found

62、drwxr-xr-x2msqlnobody1024Dec281998msqldrwxr-xr-x28ols3ols32048Jul1921:38ols3drwxr-xr-x31022nobody1024Jan2523:40ols3cgidrwxrwxr-x3perlols31024Feb207:11perl-rw-1rootroot2097152Jul2118:39quota.group-rw-1rootroot1278656Jul2118:39quota.userdrwxrwxr-x2rootnobody1024May111998sambadrwxr-xr-x3apachenobody102

63、4Feb2516:58temp2024/8/24嵌入式系統組織架構與設計76嵌入式系統軟體nLinuxshellu這不只是Linux有這一層Shell,其它作業系統也有,比如DOS的,Windows的GUI(GraphicalUserInterface),Mac的GUI等。uShell按著表現的方式與讀取使用者輸入種類的不同,可分為二大類:Textbase:文字導向,如DOSGraphbase:圖型導向,如WINDOWSu所謂讀取使用者輸入種類不同是指:讀取自鍵盤,或讀取自滑鼠,其它serialinput,螢幕觸控等.2024/8/24嵌入式系統軟體nLinuxshellu以DOS的COMMA

64、ND.COM而言,它就是一個十足的命令直譯器,除了一點點batch檔的能力之外,它的功能並不多。uWin平台的GUI,則是一個圖型式的命令直譯器,介面十分友善。然這二種OS,不能讓你自由而簡單地選擇Shell。uLinux的shell,除了做為命令直譯器之外,它也是一個不錯的程式語言,是系統管理維護時的重要工具。uUnix家族,對Shell的處理,採獨立自由開放的方式,因此,Shell的種類相當地多,常用的是BourneAgainshell:bash(GNU)2024/8/24嵌入式系統組織架構與設計78嵌入式系統軟體nLinuxshelluLinux是多人多工的作業系統,這意謂Linux可以

65、讓多人同時使用,更可以同時執行許多程式。u一般而言,你所執行的指令會一直握著控制權,一直到程式結束為止,我們稱為這樣的執行工作是在前景工作(foregroundjobs),如果,執行指令時,你仍然可以再做其它的事情,那我們就稱它是在背景工作。u較耗時間的工作,我們會把它丟到背景去執行,而這期間,我們仍然可以和shell繼續溝通,下達其它命令給shell去執行。2024/8/24嵌入式系統軟體nLinuxshellu以DOS的COMMAND.COM而言,它就是一個十足的命令直譯器,除了一點點batch檔的能力之外,它的功能並不多。uWin平台的GUI,則是一個圖型式的命令直譯器,介面十分友善。然

66、這二種OS,不能讓你自由而簡單地選擇Shell。uLinux的shell,除了做為命令直譯器之外,它也是一個不錯的程式語言,是系統管理維護時的重要工具。uUnix家族,對Shell的處理,採獨立自由開放的方式,因此,Shell的種類相當地多,常用的是BourneAgainshell:bash(GNU)2024/8/24嵌入式系統組織架構與設計80嵌入式系統軟體nLinux檔案結構u檔案系統檔案系統 ( File System)是用來儲存和組織在電腦中的是用來儲存和組織在電腦中的檔案,在檔案,在檔案系統檔案系統中所存放的一些資訊可以用來快速中所存放的一些資訊可以用來快速找到在硬碟或是光碟中的檔案

67、資料並做維護的工作;找到在硬碟或是光碟中的檔案資料並做維護的工作;此外檔案系統也會對建立此外檔案系統也會對建立RAM和硬體和硬體(硬碟或是其他硬碟或是其他儲存裝置儲存裝置)資料的對應,兩者之間會有所謂的邏輯和實資料的對應,兩者之間會有所謂的邏輯和實體的對應關係,是由體的對應關係,是由檔案系統檔案系統來做維護。來做維護。u檔案結構是檔案存放在磁片等儲存設備上的組織方法。主要展現在對檔案和目的組織上,目提供管檔案的一個方而有效的途徑。u我們能夠從一個目換到另一個目,而且可以設置目和檔案的許可權,設置檔案的共用程。2024/8/24嵌入式系統組織架構與設計81嵌入式系統軟體nLinux檔案結構uLi

68、nux目採用多級樹形結構,使用者可以瀏覽整個系統,可以進入任何一個已授權進入的目,瀏覽那裏的檔案。u檔案結構的相互關性使共用資變得容,幾個使用者可以瀏覽同一個檔案。uLinux是一個多使用者系統,作業系統本身的駐程式存放在以根目開始的專用目中,有時被指定為系統目。uflashmemory因為具有速度快、體積小、耐震等特性,所以常被用來做為embeddedsystem的儲存裝置。2024/8/24嵌入式系統組織架構與設計82嵌入式系統軟體nLinux檔案結構u下圖是以樹形等級結構展現出Linux檔案結構,而根目下的目就是系統目。/etclocal/user/libsrcbin/bin/sbinb

69、in2024/8/24嵌入式系統組織架構與設計83嵌入式系統軟體n核心、Shell和檔案結構一起形成基本的作業系統結構。它們使得使用者可以執程式,管檔案以及使用系統。nLinux作業系統還有許多被稱為實用工具的程式,輔助使用者完成一些特定的任務。2024/8/24嵌入式系統組織架構與設計84嵌入式系統軟體nLinux實用工具u標準的Linux系統都有一套叫做實用工具的程式,它們是專門的程式,如編輯器、執標準的計算操作等。使用者也可以產生自己的工具。u實用工具可分三:編輯器:用於編輯檔案。篩檢(Filter)程式:用於接收資並過資。交互程式:允許使用者發送資訊或接收自其他使用者的資訊。2024/

70、8/24嵌入式系統組織架構與設計85嵌入式系統軟體nLinux實用工具uLinux的編輯器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是編輯器,Vi和Emacs是全螢幕編輯器。uLinux的篩檢程式(Filter)取從使用者檔案或其他地方的輸入,檢查和處資,然後輸出結果。從這個意義上,它們過經過它們的資。Linux有同型的篩檢程式,一些篩檢程式用編輯指輸出一個被編輯的檔案。另外一些篩檢程式是按模式尋找檔案並以這種模式輸出部分資。還有一些執字元處操作,檢測一個檔案中的格式,輸出一個格式化的檔案。2024/8/24嵌入式系統組織架構與設計86嵌入式系統軟體nLinux實用工具uLinux的篩檢

71、程式(Filter)(cont.)篩檢程式的輸入可以是一個檔案,也可以是使用者從鍵盤鍵入的資,還可以是另一個篩檢程式的輸出。篩檢程式可以相互接,因此,一個篩檢程式的輸出可能是另一個篩檢程式的輸入。uLinux的交互程式是使用者與機器的資訊介面。Linux是一個多使用者系統,它必須和所有使用者保持繫。資訊可以由系統上的同使用者發送或接收。資訊的發送有種方式:一種方式是與其他使用者一對一地結進對話另一種是一個使用者對多個使用者同時結進通訊,即所謂廣播式通訊。2024/8/24嵌入式系統組織架構與設計87uLinux系統環境arm-elf-toolchainforlinux:ARMCPU的GNUCr

72、ossCompiler,在Linux環境下使用,透過CrossCompiler可以在某一架構下的CPU製作另一架構CPU可執行的MachineCode,例如我們目前使用x86的CPU製作ARM7架構的程式,所以我們需要一個x86cross到ARM7的Compiler。基本函数庫:需要Library给我们方便使用,有uClibcRedHatLinux9或Fedora:Linux作業系統,用來建造Linux的真實環境。2024/8/24嵌入式系統組織架構與設計88uLinux系統環境vsftpd:FTP伺服器,用來提供EmbeddedPlatform透過FTP軟體進行目的檔案的存取。makeLin

73、ux環境下專案開發工具,編譯程式需要一行一行的下指令,還有一大堆的參數要設定,所以為了簡化這個枯燥無味的過程,設計了一套命令處理程式make,可以利用一個指令就完成所有的動作,就類似IDE的Run按鈕一樣包辦大小事情。在安裝Linux時,系統也一併會安裝make。2024/8/24嵌入式系統組織架構與設計89uLinux系統環境vim:在Linux上的強力文字編輯器,用它來撰寫程式碼。Minicom:Linux上的連線軟體,我們用它使PC可以經由SerialPort和EmbeddedPlatform作連線,透過這個軟體可以觀察到EmbeddedPlatform發生的事情。但必須知道Embedd

74、edPlatform的硬體設定。2024/8/24嵌入式系統組織架構與設計90uLinux系統環境HyperTerminal:Windows上的連線軟體,我們用它來使PC可以經由SerialPort和EmbeddedPlatform作連線,透過這個軟體可以觀察到EmbeddedPlatform發生的事情。PuTTY:Windows上的免费SSH、TELNET連線軟體。TFTP以網路埠(RJ-45)藉由通訊協定和目標機通訊作為檔案(可執行二儘位檔)傳輸。2024/8/24嵌入式系統組織架構與設計91嵌入式系統軟體n嵌入式LinuxuCygwin在windows上提供了一個像linux(Linux

75、-like)的環境,可以讓使用者在windows上執行linux的程式。將linux上的程式移植到Windows,而不必做重大的修改,只需將原始碼拿來作configure與make就好了。使用常用的linux工具程式,如grep,sed,awk等。撰寫Win32nativeconsole或是GUI應用程式。2024/8/24嵌入式系統組織架構與設計92uCygwinDomingo:廠商提供的Windows環境的IDE編譯,燒錄,執行的介面,可以利用它來觀察檢誤,不過目前我們只用它燒錄Flash的功能.當從PC燒錄至目標板上時,是用ParallelPort(例如:PrinterPort),mod

76、eEPP模式燒錄才穩定,必須在BIOS中修改與檢視,否則燒錄成功率低於40%.uUbuntuLinux是一份完整的桌面Linux作業系統,它可免費獲得。uFedora:是一份由RedHat策劃的開放開發專案,它向普通參與者開放並由精英管理者領導,沿著一系列專案目標而前進。Fedora專案的目標是與Linux社區協作,只從開放源碼軟體來創建一份完整的、通用的作業系統。2024/8/2493嵌入式系統軟體uGNU(GNUsNotUnix)Guh-NOOGNU計畫,又稱革奴計畫,是由RichardStallman在1983年9月27日公開發起的。它的目標是創建一套完全自由的作業系統,主要理由就是要“

77、重現當年軟體界合作互助的團結精神”。UNIX是一種廣泛使用的商業作業系統的名稱。由於GNU將要實現UNIX系統的介面標準,因此GNU計畫可以分別開發不同的作業系統部件。1991年LinusTorvalds編寫出了與UNIX相容的Linux作業系統核心,並在GPL條款下發佈。Linux之後在網上廣泛流傳,許多程式師參與了開發與修改。1992年Linux與其他GNU軟體結合,完全自由的作業系統正式誕生。該作業系統往往被稱為“GNU/Linux”或簡稱Linux。GNU計劃的標誌即為牛羚的頭像非洲的大型哺乳动物。2024/8/24嵌入式系統組織架構與設計94嵌入式系統軟體Copyleft是一由自由軟

78、體運動所發展的概念,是一種利用現有著作權體制來挑戰該體制的授權方式,在自由軟體授權方式中增加copyleft條款,即GNU通用公共許可證(GNUGeneralPublicLicense,GPL)之後,該自由軟體除了允許使用者自由使用、散佈、改作之外,copyleft條款更要求使用者改作後的衍生作品必須要以同等的授權方式釋出以回饋社群。有人將其譯為著作權著作權,以彰顯Copyleft是補足著作權(Copyright,版權)不足的意義。另有譯為反版權等不同名詞。此倒轉的是Copyleft標誌。它僅是Copyright標誌的倒轉版本2024/8/24嵌入式系統組織架構與設計95嵌入式系統軟體u各種使

79、用Linux作為核心之GNU作業系統現正廣泛地使用著,雖然此作業系統通稱為Linux,但更正確地應被稱為是GNU/Linux。uGNU是根據UNIX的標準發展其應用程式,因此GNU是一個與UNIX相容之系統。2024/8/24嵌入式系統組織架構與設計96嵌入式系統軟體uGCC(GNUCompilerCollection,GNU編譯器套裝),是一套由GNU開發的編程語言編譯器。它是一套以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的關鍵部分,亦是自由的類Unix及蘋果電腦MacOSX操作系統的標準編譯器。GCC(特別是其中的C語言編譯器)也常被認為是跨平臺編譯器(CrossCompil

80、er)或稱交叉編譯器的事實標準。uGCC原名為GNUC語言編譯器語言編譯器(GNUCCompiler)因為它原本只能處理C語言。GCC很快地擴展,變得可處理C+。之後也變得可處理Fortran、Pascal、Objective-C、Java,以及Ada與其他語言。uGCC於1997年成為GNU系統的官方編譯器(包括GNU/Linux家族)2024/8/24嵌入式系統組織架構與設計97嵌入式系統軟體uGCCLinux之編譯器每個語言編譯器都是獨立程式,此程式可處理輸入的原始碼,並輸出組合語言碼。全部的語言編譯器都擁有共通的中介架構:一個前端解析符合此語言的原始碼,並產生一抽象語法樹一翻譯此語法樹

81、成為GCC的暫存器轉換語言RTL的後端。編譯器最佳化與靜態程式碼解析技術在此階段應用於程式碼上。幾乎全部的GCC都由C寫成p.s程式師一般在主機上編寫和編譯嵌入式系統的代碼。所以主機上需要能為特定的嵌入式系統產生代碼的編譯器,他們被叫做交叉編譯器或彙編器2024/8/24嵌入式系統組織架構與設計98嵌入式系統軟體uGCCLinux之編譯器GCC之作法是由一個前端程式(frontend),把C、C+及ObjectC的語法轉換成一個內部的形式(RTL),再由後端(backend)對此虛擬組合語言進行最佳化,最後產生目標機CPU之組合語言碼。GCC編譯器產生組合語言碼,再由Assembler產生CP

82、U目的檔。目的檔經由GCC之連結程式(Linker)產生可執行之機器碼。2024/8/24嵌入式系統組織架構與設計99嵌入式系統軟體uGCCLinux之編譯器每個語言編譯器都是獨立程式,此程式可處理輸入的原始碼,並輸出組合語言碼。全部的語言編譯器都擁有共通的中介架構:一個前端解析符合此語言的原始碼,並產生一抽象語法樹一翻譯此語法樹成為GCC的暫存器轉換語言RTL的後端。編譯器最佳化與靜態程式碼解析技術在此階段應用於程式碼上。幾乎全部的GCC都由C寫成p.s程式師一般在主機上編寫和編譯嵌入式系統的代碼。所以主機上需要能為特定的嵌入式系統產生代碼的編譯器,他們被叫做交叉編譯器或彙編器(CrossC

83、ompiler)2024/8/24嵌入式系統組織架構與設計100uGCCLinux之編譯器前端介面前端的功能在於產生一個可讓後端處理之語法樹。此語法解析器是手寫之遞迴語法解析器。中介介面一般編譯器會將語法樹的最佳化放在前端,但在LinuxGCC將此步驟歸入通稱為中介階段中介階段的部分裡。此類的最佳化包括消解死碼、消解重複運算與全域數值重編碼等。許多最佳化技巧也正在實作中。後端介面後端介面的前半部利用這些訊息決定其RTL的生成形式後端經由一重讀取重讀取步驟後,利用描述目標處理器的指令集時所取得的資訊,將抽象暫存器替換成處理器的真實暫存器。後端的最後步驟僅僅將前一階段得到的組合語言碼藉由簡單的副函

84、式轉換其暫存器與記憶體位置成相對應的機械碼。2024/8/24嵌入式系統組織架構與設計101嵌入式系統軟體n編譯器(Compiler)u編譯器的主要工作流程如下:原始碼(sourcecode)預處理器(preprocessor)編譯器編譯器(compiler)組合語言程式(assembler)目標代碼(objectcode)連接器(Linker)可執行程式(executables)。u典型的編譯器輸出是由包含入口點的名字和地址,以及外部調用(類似副程式呼叫、控制流程呼叫等,即到不在這個目標檔中的函數調用)的機器代碼所組成的目標檔。一組目標檔,不必是同一編譯器產生,但使用的編譯器必需採用同樣的輸

85、出格式,可以鏈結在一起並生成可以由用戶直接執行的可執行程式。2024/8/24嵌入式系統組織架構與設計102嵌入式系統軟體n編譯器(Compiler)u編譯器的種類:本地編譯器:可以生成用來在與編譯器本身所在的電腦和作業系統(平臺)相同的環境下運行的目標代碼。交叉編譯器:可以生成用來在其他平臺上運行的目標代碼,交叉編譯器在生成新的硬體平臺時非常有用。高階語言的編譯器:“源碼到源碼編譯器”是指用一種高階語言作為輸入,輸出也是。2024/8/24嵌入式系統組織架構與設計103嵌入式系統軟體n編譯器(Compiler)u預處理器(preprocessor)作用是通過代入預定義等程式段將主程式補充完整

86、,處理程式前端以#開頭的指令,而這些命令包含標頭檔、定義常數及巨集等。編譯前之準備動作。u編譯器前端(frontend)前端主要負責解析(parse)輸入的原始碼,由詞法分析器,語法分析器和語義分析器協同工作。詞法分析器負責把原始碼中的單詞(Token)找出來。語法分析器把這些分散的單詞按預先定義好的語法組裝成有意義的運算式,語句,函數等等。2024/8/24嵌入式系統組織架構與設計104嵌入式系統軟體n編譯器(Compiler)u編譯器前端(frontend)(cont.)前端還負責語義(semanticchecking)的檢查,例如檢測參與運算的變數是否是同一類型的,簡單的錯誤處理。最終的

87、結果常常是一個抽象的語法樹(abstractsyntaxtree,或AST),這樣後端可以在此基礎上進一步優化,處理。u編譯器後端(backend)編譯器後端主要負責分析,優化中間代碼(Intermediaterepresentation)以及生成機器代碼(CodeGeneration)。2024/8/24嵌入式系統組織架構與設計105嵌入式系統軟體n編譯器(Compiler)u編譯器後端(backend)(cont.)一般說來所有的編譯器分析、優化、變型都可以分成兩大類:函數內(intraprocedural)還是函數之間(interprocedural)進行。很明顯,函數間的分析,優化更準

88、確,但需要更長的時間來完成。編譯器分析(compileranalysis)的物件是前端生成並傳遞過來的中間代碼,現代的優化型編譯器(optimizingcompiler)常常用好幾種層次的中間代碼來表示程式,高層的中間代碼(highlevelIR)接近輸入的原始碼的格式,與輸入語言相關(languagedependent),包含更多的全局性的資訊,和原始碼的結構;中層的中間代碼(middlelevelIR)與輸入語言無關,低層的中間代碼(LowlevelIR)與機器語言類似。不同的分析,優化發生在最適合的那一層中間代碼上。2024/8/24嵌入式系統組織架構與設計106嵌入式系統軟體n編譯器(

89、Compiler)u編譯器後端(backend)(cont.)常見的編譯分析有函數調用樹(functioncalltree)、控制流程圖(Controlflowgraph),以及在此基礎上的變數定義使用、使用定義鏈(define-use/use-defineoru-d/d-uchain)、變數別名分析(aliasanalysis)、指標分析(pointeranalysis)、資料依賴分析(datadependenceanalysis)等等。上述的程式分析結果是編譯器優化(compileroptimization)和程式變形(compilertransformation)的前提條件。優化和變形的

90、目的是減少代碼的長度、提高記憶體(memory)、緩存(cache)的使用率、減少讀寫磁片、訪問網路資料的頻率。更高級的優化甚至可以把序列化的代碼(serialcode)變成並行運算,多線程的代碼(parallelized,multi-threadedcode)。2024/8/24嵌入式系統組織架構與設計107嵌入式系統軟體n編譯器(Compiler)u編譯型語言與解釋型語言對比許多人將高階程式語言分為兩類:編譯型語言和解釋型語言。然而,實際上,這些語言中的大多數既可用編譯型實現也可用解釋型實現,分類實際上反映的是那種語言常見的實現方式。(但是,某些解釋型語言,很難用編譯型實現。比如那些允許代

91、碼即時更改的解釋型語言。)2024/8/24嵌入式系統組織架構與設計108嵌入式系統軟體n編譯器(Compiler)u最佳化參數演算法有許多種類型,從合理的調整程式結構流程到適當之安排半數型態等。配合主機硬體優勢及作業系統之優點加以運用。u警告參數警告式編譯的過程程中所發出的建議訊息,並非表是錯誤。仍可執行程式,但目的是指出程式中某段可能會出錯之宣告方式語法。2024/8/24嵌入式系統組織架構與設計109嵌入式系統軟體nMINIXuMINIX(MIni-uNIX)(1987)是為IBMPC適用之OS亦是自由軟體,主要是為了教學用。uMINIX是一個microkernelarchitectur

92、e,而Linux核心則是以monolithicarchitecture為基礎uMINIXalsoinspiredthecreationoftheLinuxkernel.ItsnamederivesfromthewordsminimalandUnix.2024/8/24嵌入式系統組織架構與設計110嵌入式系統軟體umicrokernelarchitecturevs.monolithicarchitecture2024/8/24嵌入式系統組織架構與設計111嵌入式系統軟體UNIX?2024/8/24嵌入式系統組織架構與設計112第一章課程大綱n嵌入式系統概述u嵌入式系統特性u嵌入式系統體系架構u嵌

93、入式系統之發展n嵌入式系統軟體uLinux作業系統uWinCE作業系統u嵌入式系統開發平臺n嵌入式系統硬體uIntelXscaleSOC系列uIntelXscale實驗平台2024/8/24嵌入式系統組織架構與設計113nMicrosoftWindowsCE是一個多平臺、可是一個多平臺、可裁剪的裁剪的32位元嵌入式作業系統。它既適用位元嵌入式作業系統。它既適用於工業設備的嵌入控制模組,也適用於消於工業設備的嵌入控制模組,也適用於消費類電子費類電子產產品品nWindowsCE主要包括:核心,永久儲存,主要包括:核心,永久儲存,圖形和多媒體,程序間通信,通信服務,圖形和多媒體,程序間通信,通信服務

94、,安全服務,使用者介面服務,安全服務,使用者介面服務,Internet服務,服務,和本地化支援和本地化支援2024/8/24嵌入式系統組織架構與設計114嵌入式系統軟體uWinCE作業系統MicrosoftWindowsCE是一個多平臺、可裁是一個多平臺、可裁剪的剪的32位元嵌入式作業系統。它既適用於工位元嵌入式作業系統。它既適用於工業設備的嵌入控制模組,也適用於消費類電業設備的嵌入控制模組,也適用於消費類電子子產產品品WindowsCE主要包括:核心,永久儲存,主要包括:核心,永久儲存,圖形和多媒體,程序間通信,通信服務,安圖形和多媒體,程序間通信,通信服務,安全服務,使用者介面服務,全服務

95、,使用者介面服務,Internet服務,服務,和本地化支援和本地化支援2024/8/24嵌入式系統組織架構與設計115嵌入式系統軟體uWinCE作業系統MicrosoftWindowsCE是從整體上為有限資源的平是從整體上為有限資源的平臺設計的多線程臺設計的多線程(thread)、完整優先權、多工的作業、完整優先權、多工的作業系統。系統。模組化設計允許它對於從掌上型電腦到專用的工業模組化設計允許它對於從掌上型電腦到專用的工業控制器的使用者電子設備進控制器的使用者電子設備進定制。定制。作業系統的基本核心需要至少作業系統的基本核心需要至少200K的的ROM。2024/8/24嵌入式系統組織架構與設

96、計116嵌入式系統軟體uWinCE作業系統MicrosoftWindowsCE是一個多平臺、可裁剪的是一個多平臺、可裁剪的32位元嵌入式作業系統。它既適用於工業設備的嵌入位元嵌入式作業系統。它既適用於工業設備的嵌入控制模組,也適用於消費類電子控制模組,也適用於消費類電子產產品品WindowsCE主要包括:核心,永久儲存,圖形和主要包括:核心,永久儲存,圖形和多媒體,程序間通信,通信服務,安全服務,使用多媒體,程序間通信,通信服務,安全服務,使用者介面服務,者介面服務,Internet服務,和本地化支援服務,和本地化支援MicrosoftWindowsCE是一個多平臺、可裁剪的是一個多平臺、可裁

97、剪的32位元嵌入式位元嵌入式作業系統。它既適用於工業設備的嵌入控制模組,作業系統。它既適用於工業設備的嵌入控制模組,也適用於消費類電子也適用於消費類電子產產品品WindowsCE主要包括:核心,永久儲存,圖形和主要包括:核心,永久儲存,圖形和多媒體,程序間通信,通信服務,安全服務,使用多媒體,程序間通信,通信服務,安全服務,使用者介面服務,者介面服務,Internet服務,和本地化支援服務,和本地化支援2024/8/24嵌入式系統組織架構與設計117嵌入式作業系統Linux與Windows之比較n資策會針對資訊家電(InformationAppliance)和3C(Computer、Comsu

98、mer、Communication)在嵌入式系統作業系統應用之發展作分析比較,分析如下:2024/8/24嵌入式系統組織架構與設計118第一章課程大綱n嵌入式系統概述u嵌入式系統特性u嵌入式系統體系架構u嵌入式系統之發展n嵌入式系統軟體uLinux作業系統uWinCE作業系統u嵌入式系統開發平臺n嵌入式系統硬體uIntelXscaleSOC系列uIntelXscale實驗平台2024/8/24嵌入式系統組織架構與設計119嵌入式系統軟體n嵌入式系統軟體發展過程2024/8/24嵌入式系統組織架構與設計120嵌入式系統軟體n嵌入式系統開發軟體u組合語言作業系統中Bootloader程式Initi

99、alizationfunction:指令錯誤、軟體錯誤、prefetch異常中斷、data異常中斷、irq異常中斷、fiq異常中斷、CPUClock、MemoryController、OSTimer、PowerManagement將需要執行C語言之程式,儲存於記憶體中。u高階語言以C語言為較多,應用程式、裝置趨動程式等TFTPServiceBurninFlashMemoryforBinaryImageFileBuildupBasicSystemParameters2024/8/24嵌入式系統組織架構與設計121嵌入式系統軟體n嵌入式系統開發軟體u開發嵌入式系統軟體,要先建立開發環境,一般可分為

100、三類:本機開發環境:直接在嵌入式系統環境下建立開發系統環境,但一般嵌入式系統之軟硬體資源不足,無法直接在嵌入式設備上執行開發之任務。交叉開發環境:是以跨平台方式交互執行,例如在PC(Windows或LinuxOS)(俗稱主機)執行嵌入式系統(俗稱目標機)功能開發作業,編譯完產生之執行檔燒至嵌入式系統中之Flash儲存,在主機下達執行命令後,在目標機上執行。一般開發環境亦提供除錯功能。2024/8/24嵌入式系統組織架構與設計122嵌入式系統軟體n嵌入式系統開發軟體模擬開發環境在程式發展之初,不需要目標機。建立在交叉環境基礎之上,在主機(PC)模擬開發環境提供一個在主機上模擬目標機的環境,始開發

101、好之程式可以直接在這個環境下(主機)模擬執行,驗證是否正確。2024/8/24嵌入式系統組織架構與設計123嵌入式系統軟體n嵌入式系統跨平台作業之連線2024/8/24嵌入式系統組織架構與設計124嵌入式系統軟體n嵌入式系統開發軟體模擬開發環境:建立在交叉開發環境基礎之上,除了主機與目的機外,模擬開發環境亦提供一個在主機上模擬目的機之環境(EmbeddedIn-CircuitEmulation,E-ICE)。開發完成之程式直接在模擬器(E-ICE)上執行,先不用下載至目的機上執行,並利用除錯軟體進行除錯。利用目的機之JTAG埠(JTAG是聯合測試工作組的簡稱,是標準測試訪問埠和邊界掃描結構的I

102、EEE的標準1149.1的常用名稱),提供一個在嵌入式系統很有用的除錯及程式開發機制。模擬開發除錯:嵌入式除錯工具配有模擬器(Simulator),完全基於主機之軟體,在主機上模擬目的機中處理器之功能和指令。缺點:無法線上(主端與目的連線)除錯和即時模擬功能,僅能模擬目標處理器(嵌入式處理器),而不能模擬I/O介面。模擬嵌入式微處理器之指令、週期及定時等功能。2024/8/24嵌入式系統軟體n嵌入式系統開發軟體遠程除錯:長駐在目的機之Flash中之監控程式,只需要用RS-232連接主機,就可在主機上對第機微處理器進行開發與除錯。在本課程中使用之PXA270嵌入式系統即是以交叉式開發方式執行應用

103、程式之開發。交叉開發環境模擬開發環境模擬開發除錯遠程除錯嵌入式系統2024/8/24嵌入式系統組織架構與設計126nPCA平臺開發工具包PCA開發平臺開發平臺嵌入式系統軟體2024/8/24嵌入式系統概述n嵌入式系統開發軟體u建置開發環境PXA270開發環境是建置C語言交叉編譯環境,基本之開發工具包含有:binutils:二進位檔案處理工具gcc:編譯(Compiler)軟體glibc:連接和執行函式庫開發環境之建構流程如下:選擇目標代碼的格式建立開發環境之目錄結構安裝binutils安裝gcc安裝glibs2024/8/24嵌入式系統組織架構與設計128嵌入式系統概述n嵌入式系統開發軟體u嵌

104、入式Linux驅動程式開發嵌入式Linux設備可視作為檔案,設備之I/O介面與檔案處理作業是相同的。測試設備和初始化設備從設備接收資料並提交給內核核心從內核核心接收資料送至設備偵測和處理設備錯誤LinuxI/O設備可區分為三種類型:字元型設備區塊裝置網路設備2024/8/24嵌入式系統組織架構與設計129嵌入式系統概述n嵌入式系統開發軟體u嵌入式Linux驅動程式開發字元設備:滑鼠、鍵盤、串列連接埠。區塊裝置:硬碟機、CD-ROM,讀、寫是以區塊為單位,檔案處理時必須使用以區塊裝置。網路設備:用於通訊,使用BSDUnix的socket機制u讀寫/寫入OS定義好讀寫介面,由驅動程式完成實際之工作

105、。進行初始化時,需要將讀/寫函數註冊至OSu中斷將中斷處理程式註冊至系統中,當中斷發生,OS會呼叫驅動程實執行處理作業。2024/8/24嵌入式系統組織架構與設計130嵌入式系統概述n嵌入式系統開發軟體u時鐘Watchdog超時處理,由OS提供定時機制。u內核核心模組Linux內核核心是一個單一整體式核心(MonolithicKernel),即對所有內核核心功能是連接一起,在同一個記憶體位址空間中執行。其缺點是所有內核核心接連在一起時,如要新增或卸除一個硬體時,就需要重新編譯,費時且不便。使用內核核心模組,當要執行時,被編譯和連結成目標檔案。2024/8/24嵌入式系統組織架構與設計131嵌入

106、式系統概述n嵌入式系統軟體uWinCE作業系統u嵌入式系統開發軟體n嵌入式系統硬體uIntelXscaleSOC系列uIntelXscale實驗平台2024/8/24嵌入式系統組織架構與設計132嵌入式系統的組成n包含了中央處理器、記憶體、輸出裝置、輸入裝置u電腦的標準輸入裝置為鍵盤,但是微波爐的標準輸入裝置可能就是觸控面板n以平台化設計(platform-baseddesign,PBD)適應多種不同硬體與軟體的組合u硬體與軟體參考設計(referencedesign)平台u板級支援包(BoardSupportPackage,BSP)2024/8/24嵌入式系統組織架構與設計13332位元以上

107、的嵌入式系統微處理器nIntel公司u80386n32位元以上嵌入式系統微處理器代表性產品及出現年代圖2024/8/24嵌入式系統組織架構與設計134微處理器的基本架構2024/8/24協同微處理器n協同微處理器是一種輔助性的嵌入式系統微處理器。n常見的有處理浮點運算以及數位訊號處理器(DSP)等等。n浮點運算協同微處理器及搭配的X86架構微處理器微處理器名稱浮點運算協同微處理器名稱Intel 8088Intel 8087Intel 80286Intel 80287Intel 80386SXIntel 80387Intel 80486SXIntel 804872024/8/24嵌入式系統組織架

108、構與設計136精簡指令集架構微處理器n以微處理器的指令集部分的特性,可以分成兩種主要的架構,一種是CISC(複雜指令集ComplexInstructionSetComputer)架構,另一種則是RISC(精簡指令集ReducedInstructionSetComputer)架構。nRISC架構主要用於有規律並且常用的指令解碼及資料處理,因此不需使用到複雜的硬體控制線路的設計及指令集解碼,所以RISC架構的微處理器中線路可以做到很精簡。2024/8/24嵌入式系統組織架構與設計137CISC與RISC架構的比較n使用相當少的指令型別及定址模式n微程式控制盡量採用軟體架構實現n在單一執行的週期內完

109、成指令n微處理器中擁有更多的暫存器n使用最佳化的程式碼編譯n微處理器的記憶體存取主要是用在指令的載入及儲存n簡易的解碼指令格式n高度平行化處理2024/8/24嵌入式系統組織架構與設計138ARMRISC架構微處理器nARM公司的ARMRISC架構微處理器系列目前主要分為幾個系列產品,分別為ARM7Thumb系列、ARM9Thumb系列、ARM10Thumb系列以及StrongARM。nARMRISC提供了兩組指令集,分別是32位元的ARM指令集以及16位元的Thumb指令集。2024/8/24嵌入式系統組織架構與設計139ARMRISC架構支援的兩種基本資料格式2024/8/24嵌入式系統組

110、織架構與設計140ARM7Thumb嵌入式系統微處理器系列n擁有32位元的暫存器n擁有32位元的RISC架構邏輯運算單元(ALU)n擁有32位元的移位器(Shifter)n擁有32位元的定址模式n擁有328DSP乘法器,可以做數位訊號處理n擁有16位元的Thumb指令集2024/8/24嵌入式系統組織架構與設計141ARM7TDMI為核心的應用SoC架構圖2024/8/24嵌入式系統組織架構與設計142ARM9Thumb嵌入式系統微處理器系列n與ARM7不同的是ARM9的指令與資料的存取硬體架構上採用的是哈佛架構。n以ARM9TDMI架構作為微處理器核心,依照不同的用途加上不同容量的快取記憶體

111、,結合而成ARM920T及ARM940T兩種嵌入式系統微處理器核心。2024/8/24嵌入式系統組織架構與設計143ARM架構程式模型n七種操作模式u使用者模式u快速中斷模式u中斷模式u監督者模式u中止模式u未定義模式u系統模式2024/8/24嵌入式系統組織架構與設計144SoC嵌入式系統微處理器nSoC嵌入式系統微處理器能提供系統功能,並且整合了處理器單元、記憶體以及許多輸出輸入介面,這些電路單元整合在同一個晶片上。n主要的優點在於縮小晶片的體積以及降低成本。2024/8/24嵌入式系統組織架構與設計145SoC微處理器簡介nSoC嵌入式系統微處理器所具有的其他的好處:u利用改變內部工作電

112、壓,降低晶片消耗功率。u利用減少晶片對外接腳數,簡化製造過程。u利用減少週邊驅動介面單元,及電路板之間的訊號傳遞,可以加快微處理器資料處理的速度。u利用內嵌的線路以避免外部電路板在訊號傳遞時所造成系統雜訊。2024/8/24嵌入式系統組織架構與設計146SoC微處理器的設計開發n發展技術考量2024/8/24嵌入式系統組織架構與設計147快速的SoC嵌入式系統微處理器設計與製造nTensilica公司名為Xtensa的嵌入式系統微處理器核心,可以讓嵌入式系統微處理器開發廠商在短短的八個小時之內,完成一個新型的SoC嵌入式系統微處理器開發。n制定出微處理器的規格、微處理器位元架構、最高工作頻率、

113、功率消耗、電晶體數目、作業系統、指令集、中斷訊號及晶片製程等等的設定,經過Xtensa軟體的處理,產生RTLCore,就可以將晶片設計資料送交晶圓代工廠商進行晶片製造2024/8/24嵌入式系統組織架構與設計148高階整合型嵌入式系統微處理器n現在的高階整合型嵌入式系統一般要求:u附加上網功能u擁有高速處理效能的DSP架構u低消耗功率的要求2024/8/24嵌入式系統組織架構與設計149RISC結合DSP的SoC嵌入式系統微處理器n可以將所需要的晶片製造成本壓低,並且降低功率的消耗,產品開發人員可以藉此開發出輕巧與高附加價值的資訊產品。n單純的RISC架構微處理器在處理多媒體影音資料時,無法提

114、供有效的信號處理能力,也會消耗大量的電源供應。nDSP微處理器所提供的快速演算法進行數位資料處理工作,比起RISC架構微處理器而言,顯得有效率,而且也可以降低數位訊號處理時的功率消耗。2024/8/24嵌入式系統組織架構與設計150德州儀器公司OMAP架構微處理器nOMAP嵌入式系統微處理器基本架構2024/8/24嵌入式系統組織架構與設計151IntelPCA個人數位化嵌入式系統n個人數位化嵌入式系統PCA架構2024/8/24嵌入式系統組織架構與設計152Intel公司StrongARM微處理器nStrongARMSA1110嵌入式系統微處理器的架構圖2024/8/24嵌入式系統組織架構與

115、設計153Intel公司XScale微處理器nXScale微處理器的定位在於高速的無線通訊應用上,利用Intel公司所提出的PCA架構,將XScale微處理器、DSP與基頻處理晶片加上快閃記憶體,結合成個人通訊裝置的完整解決方案。2024/8/24嵌入式系統組織架構與設計154系統晶片(SystemonChip,SoC)n系統晶片與大家所熟悉的超大型積體電路有何不同?為什麼又特別叫作系統晶片?u系統晶片(system-on-chip,SoC)有著各式各樣的名稱,晶片系統、單晶片系統或系統(單)晶片。u一個完整的系統,例如整個電腦或整部DVD,可以放到一個晶片(chip)裡,這就叫SoC。u把系

116、統所有的功能方塊,如中央處理器、記憶體、數位信號處理器、快閃記憶體、邏輯電路、輸出入功能方塊等整合在一個晶片裡,就叫作系統晶片。2024/8/24嵌入式系統組織架構與設計155系統晶片(SystemonChip,SoC)u摩爾定律所預測,製程技術每2年就精進一倍。u積體電路製程技術在經過近半個世紀之後,已從幾個微米的技術進入0.25微米,再至0.18微米,更向0.1微米,甚至奈米尺度前進。而尺寸的縮小使晶片內電晶體的容量每年成長約58。2024/8/24嵌入式系統組織架構與設計156系統晶片(SystemonChip,SoC)u系統晶片(SoC)是具備系統級整合的晶片,也就是說SoC是一個供應

117、特定用途的積體電路,其中須包含運算功能,如微處理器核心、數位訊號處理器核心、影像處理器MPEG核心或繪圖核心等,再加上記憶體、邏輯電路、輸出入電路與其他連接電路,整個電路包含了百萬個以上的邏輯閘。綜合來說,SoC是一個把原本分處在不同晶片上,負責不同功能的IC元件整合在單晶片上,這種晶片被視為是一個已包含了完整功能的系統。2024/8/24嵌入式系統組織架構與設計157系統晶片(SystemonChip,SoC)u系統晶片與晶片組之異同相同點:二者皆是超大型積體電路設計與製程差異點:系統晶片是特定用途的積體電路設計(如嵌入式系統),只需考量單一IC應具備的功能與規格,再配合製程的可行性,按照一

118、般的流程就可完成整個設計工作。而晶片組則是通用型運作之產品,並非只有一個晶片,而是由多個晶片組成(如電腦)u系統晶片的特性:產品生命週期縮短:隨著消費市場的需求變化日趨快速,系統廠商必須在更短時間內開發出功能更新的產品,以擴大市場占有率。因此系統產品的開發時程勢必縮短,以期在產品成熟期前進入市場,使產品獲利的時間能有效延長。2024/8/24嵌入式系統組織架構與設計158系統晶片(SystemonChip,SoC)u系統晶片的特性(cont.):輕薄短小:目前可攜式的系統產品日益增加,如行動電話、個人數位助理(PDA)、筆記型電腦等,而這些產品都需要有更小巧的外型及更輕的重量,以滿足攜帶方便的

119、需求。耗電量低:對攜帶式產品而言,如何有效延長電池使用的時間,使電池更換的頻率降低,是各廠商費盡心思,積極投入發展的方向。低價格:由於市場競爭劇烈,加上產品生命周期縮短,系統產品價格滑落的速度相當快,因此廠商必須有效控制成本,以提高產品的獲利能力。高效能:雖然產品的價格滑落迅速,但消費者對品質的要求並未降低,因此系統廠商對所使用元件的效能要求也相對提高。2024/8/24嵌入式系統組織架構與設計159系統晶片(SystemonChip,SoC)u系統晶片的特性(cont.):功能整合:目前系統產品已不局限於僅提供單一的功能,就發展的趨勢來看,產品必須提供更多樣性的功能,例如整合行動電話與PDA

120、功能的智慧型行動電話,或具備DVD放影機功能的電視遊樂器,而具備網際網路接取的功能,也會成為各類型系統產品的主要目標。多整合:電腦處理、通訊、消費性產品、數位多媒體等多整合,已不再是遙不可及的夢想。低價格、高效能、省電、輕薄短小,並且提供多整合功能的產品,已能透過系統晶片在市場上占有一席之地。2024/8/24嵌入式系統組織架構與設計160系統晶片(SystemonChip,SoC)u綜合上述SoC之特性,可歸納為:產品市場生命週期短、推陳出新快,又有輕、薄、短、小、省、廉、多、慧等需求。u要在極短的時間內設計出如此繁複功能的系統晶片,設計者必須利用可重複使用的矽智財(SiliconIntel

121、lectualProperty),再配合平臺式的設計方式,才不會因為晶片的複雜性太高而延遲設計時程,讓使用該系統晶片的產品可以及時進入市場。2024/8/24嵌入式系統組織架構與設計161系統晶片(SystemonChip,SoC)u早期蓋房子是一磚一瓦慢慢地堆疊,但這樣的技術無法應付現代蓋高樓大廈的需求,現在的方式都是先蓋鋼架(平臺),再把窗戶、門、房間、浴室、廚房等功能組塊(矽智財)加上去,這樣就可快速完成一棟高樓大廈(系統晶片)。同樣地,蓋一個城市也可先蓋區塊,如住宅區、商業區、生活區、娛樂區、教育區、工業區、交通網等,以及連接架構(平臺),再把每個完整區塊內容(矽智財)加上去,便可快速

122、完成一個城市的開發建置。2024/8/24嵌入式系統組織架構與設計162系統晶片(SystemonChip,SoC)n積體電路(IC)u是一種小型化的電路(主要包括半導體設備,也包括被動元件),製造在半導體材料的表面的基層上。n晶片組u是一組共同工作的積體電路(晶片),並作為一個產品銷售。它負責將電腦的核心微處理器和機器的其他部分相連接,是決定主板級別的重要部件。以往,晶片組由多顆晶片組成,慢慢的簡化為兩顆晶片。2024/8/24嵌入式系統組織架構與設計163系統晶片(SystemonChip,SoC)nICvs.晶片組vs.系統晶片u晶片組與系統晶片皆是以技術製程。u系統晶片與晶片組之異同:

123、相同點:二者皆是超大型積體電路(VLSI)設計與製程差異點:SoC設計與典型的特定應用積體電路設計最大的不同,在於後者只需考量單一IC應具備的功能與規格,再配合製程的可行性,按照一般的流程就可完成整個設計工作。系統晶片是特定用途的積體電路設計(如嵌入式系統),而晶片組則是通用型運作之產品(如電腦)。2024/8/24嵌入式系統組織架構與設計164系統晶片(SystemonChip,SoC)u系統晶片與晶片組之異同(cont.):差異點:而一個完整的SoC設計,除了晶片規格的確定之外,還必須同時考慮該晶片的軟硬體需求,以及在該晶片上為了執行不同功能所需的電路布局、電源消耗、散熱、設計完成所需時間

124、等細節。還有如何整合不同功能在單一晶片上,以及製程中可能遭遇的問題,也應在設計階段就加以考量。整個工作所需考量的因素,遠較特定應用積體電路以單一晶片執行單一功能的設計更加複雜。系統晶片也須具備可規格化或可程式化的能力。由於未來的標準、規格與功能都會隨需求而快速地變化,可規格性與可程式性可使產品在不更動內部電路的情況下達到變更的目的,如此對產品開發者與使用者都有利。2024/8/24嵌入式系統組織架構與設計165系統晶片(SystemonChip,SoC)u透過可重複使用電路設計特性及以平台為基礎的系統晶片設計技術,可節省SoC設計時間,並提高SoC設計的成功率,對SoC的發展具有極大的助益。u

125、通訊與消費性電子產品是下一波電子產品主流,而這類產品市場生命周期短,又要滿足輕、薄、短、小等多項需求,因此SoC設計技術除了必須思考如何快速地把各個愈趨複雜的系統功能方塊設計整合入一個晶片外,也必須改變現行特定應用積體電路的設計方法,才能趕上製程技術的精進。2024/8/24嵌入式系統組織架構與設計166系統晶片(SystemonChip,SoC)nS3C44B0X微處理器是Samsung公司專為可擕式設備提供的高性能和高性價比的微控制器解決方案,使用32位的低功耗RISC內核ARM7TDMI,採用0.25mCMOS工藝製造,支援新型匯流排結構SAMBAII(SamsungARMCPUembe

126、ddedMicrocontrollerBusArchitecture)。同時,S3C44B0X在ARM7TDMI核的基礎上,擴展了一系列通用週邊器件,使系統成本及週邊器件數口降至最低,這些功能部件可以分為CPU單元、系統時鐘管理單元、存儲單元和系統功能介面單元。2024/8/24嵌入式系統組織架構與設計167系統晶片(SystemonChip,SoC)n系統晶片的主要功能有:在ARM7TDMl基礎上增加8KB的Cache;外部擴充記憶體控制器(FP/EDO/SDRAM控制,片選邏輯);LCD控制器最大支持256色的DSTN,並帶有1個LCD專用DMA通道;2個通用DMA通道、2個帶外部請求引腳

127、的DMA通道;2個帶有握手協議的DART:1個SIO;1個I2C匯流排控制器;5個PWM計時器及1個內部計時器;看門狗計時器;71個通用可編程I/O口,8個外部中斷源;功耗控制模式有正常、低、休眠和停止;8路10位ADC;具有日曆功能的RTC(即時時鐘);PLL時鐘發生器。2024/8/24嵌入式系統組織架構與設計168系統晶片(SystemonChip,SoC)nC/OS-II是一個完整的、多移植、可固化、可裁剪的佔先式即時多工內核。C/OS-II是用ANSI的C語言編寫的,包含一小部分組合語言代碼,使之可供不同架構的微處理器使用。至今,從8位到64位,C/OS-II已在超過40種不同架構的

128、微處理器上運行。世界上已經有很多領域都使用了C/OS-II。nC/OS-II是一個“即時內核”,使用這個內核可以使得應用程式的設計和擴展變得容易,而且不需要大的改動就可以增加新的功能。通過將應用程式分割成若干個獨立的任務,RTOS使得應用程式的設計過程大大簡化。2024/8/24嵌入式系統組織架構與設計169系統晶片(SystemonChip,SoC)n硬體系硬體系统统設計設計uUART非同步串列介面設計非同步串列介面設計心電資料都是通過USB通道傳送到PC的,但是由於USB介面的複雜度,在調試USB器件時需要使用到非同步串列介面。而且在某些老式的PC上不能使用或安裝USB驅動程式時,非同步串

129、列介面可以作為一種備用的低速傳輸方式,這樣也增加了系統的可擴展性。下圖是在心電信號處理系統中帶有RS232電平轉換的S3C44B0X的串列介面電路連接圖。在圖中,RS232電平轉換晶片為MAX3232,其RxD、TxD和RxD、TxD分別連接S3C44B0X的第99、100和103、104引腳。图2 串口部分连接图2024/8/24嵌入式系統組織架構與設計170系統晶片(SystemonChip,SoC)nS3C44B0X是硬體部分的中央處理器,而即時操作是硬體部分的中央處理器,而即時操作系統系統C/OS-II是硬體資源的調度中心,它就存放是硬體資源的調度中心,它就存放在在FLASHROM中,

130、在每次系統初始化之後,由中,在每次系統初始化之後,由S3C44B0X將其複製到將其複製到SDRAM中後,再進行應用中後,再進行應用程式的執行。程式的執行。n在本系統中使用的是在本系統中使用的是SST公司生公司生產產的容量為的容量為1M16bit的多用途的多用途FLASH記憶體記憶體SST39VF160。图4 ARM与FLASH接口电路 2024/8/24171系統晶片(SystemonChip,SoC)n軟體系統設計軟體系統設計u為了實現了對心電信號的量化和對資料的處理和傳輸,為了實現了對心電信號的量化和對資料的處理和傳輸,充分的利用充分的利用C/OS-II的即時性,並使軟體系統具有良的即時性

131、,並使軟體系統具有良好的可重用性,為以後對系統功能的擴展提供條件,好的可重用性,為以後對系統功能的擴展提供條件,本系統軟體設計如圖本系統軟體設計如圖6所示。所示。軟體系統設計流程圖2024/8/24嵌入式系統組織架構與設計172IntelPCA個人數位化嵌入式系統n個人數位化嵌入式系統PCA架構2024/8/24嵌入式系統組織架構與設計173Intel個人網際網路客戶端個人網際網路客戶端PCAnPCA結構Intel PCA應用子系統的開放式軟體架構2024/8/24嵌入式系統組織架構與設計174nXScale架構處理器是新一代為無線掌上型應用產品開發的嵌入式處理器,是PCA開放式平臺架構中的應

132、用子系統與通訊子系統中的嵌入式處理器。下圖是XScale系統結構圖。XScale微架構處理器微架構處理器2024/8/24嵌入式系統組織架構與設計175I2C匯流排n原始主要是建立一種簡單的內部匯流排系統。nIC只使用兩條雙向開放汲極(OpenDrain)(串列資料(SDA)及串列時脈(SCL)並利用電阻將電位上拉。IC允許相當大的工作電壓範圍,但典型的電壓準位為+3.3V或+5v。nIC的參考設計使用一個7位元長度的位址空間但保留了16個位址,所以在一組匯流排最多可和112個節點通訊。常見的IC匯流排依傳輸速率的不同而有不同的模式:標準模式(100Kbit/s)、低速模式(10Kbit/s)

133、,但時脈頻率可被允許下降至零,這代表可以暫停通訊。而新一代的IC匯流排可以和更多的節點(支援10位元長度的位址空間)以更快的速率通訊:快速模式(400Kbit/s)、高速模式(3.4Mbit/s)。n1998年釋出了2.0版,新增了傳輸速率為3.4Mbit/s的高速模式並為了節省能源而減少了電壓及電流的需求。2024/8/24嵌入式系統組織架構與設計176I2C匯流排nIC被應用在簡單的週邊且其製造成本較傳輸速度更為要求。一些常見的應用如下:u為了保存使用者的設定而存取NVRAM晶片。u存取低速的數位類比轉換器(DAC)。u存取低速的類比數位轉換器(ADC)。u改變監視器的對比度、色調及色彩平

134、衡設定(視訊資料通道)。u改變音量大小。u取得硬體監視及診斷資料,例如中央處理器的溫度及風扇轉速。u讀取即時的時鐘(Real-timeclock)。u在系統設備中用來開啟或關閉電源供應。IC-Bus:2-wired & 1-wirednIC的另一個強大用途在於微控制器的應用,利用兩根通用的輸入輸出接腳及軟體的規劃,可以讓微控制器控制一個小型網路。n週邊可以在系統仍然在運作的同時加入或移出匯流排,這代表對於有熱插拔需求的裝置而言是個理想的匯排流。n像IC這樣的匯流排之所以流行起來,是因為電腦工程師發現到對於整合電路設計而言,許多的製造成本源自於封裝尺寸及接腳數量。更小的包裝通常能夠減少重量及電源

135、的消耗,這對於行動電話及手持式電腦而言格外重要。2024/8/24嵌入式系統組織架構與設計177I2C匯流排n串列傳輸方式:uREF.p.332n1-Wire是Maxim子公司達拉斯半導體的專利技術,採用單一信號線,但可像I2C,SPI一樣,同時傳輸時鐘(clock)又傳輸數據(data),而且數據傳輸是雙向的。1-Wire使用較低的數據傳輸速率,通常是用來溝通小型device,如數位溫度計。1-Wire有兩種速率:標準模式16kbps,驅動模式142kbps。u智慧鈕扣(iButton)是基於1-Wire所設計,iButton可存儲個人的資訊,如身份證字號,病歷表。2024/8/24嵌入式系

136、統組織架構與設計178ASIC(Application-specificintegratedcircuit)nAsfeaturesizeshaveshrunkanddesigntoolsimprovedovertheyears,themaximumcomplexity(andhencefunctionality)possibleinanASIChasgrownfrom5,000gatestoover100million.ModernASICsoftenincludeentire32-bitprocessors,memoryblocksincludingROM,RAM,EEPROM,Flasha

137、ndotherlargebuildingblocks.SuchanASICisoftentermedaSoC(System-on-a-chip).DesignersofdigitalASICsuseahardwaredescriptionlanguage(HDL),suchasVerilogorVHDL,todescribethefunctionalityofASICs.2024/8/24嵌入式系統組織架構與設計179車載嵌入式系統之應用n車載系統中的四大組成單元及相關裝置資料來源:ST2024/8/24嵌入式系統組織架構與設計180作業n請查ARM系列微處理器之應用產品n請查UNIX之起源與發展n請查何謂BIOS、韌體之意義與功用?n參考:u我的嵌入式學習之路http:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号