一.開發板簡介
在一般的嵌入式系統開發過程中,硬件一般被分成兩個平臺,一個是開發平臺(host),一個是目標平臺(target)即開發板。在此描述的開發平臺指的是使用臺式機,通過傳輸的界面,例如串口(RS-232)、串口、或是網絡(Ethernet)與目標平臺連接。
開發嵌入式系統,不可避免的是一定要先選擇目標平臺。在挑選一個目標平臺時必須審慎評估,因為這涉及到有無方便的開發環境及技術支持。一般的板子除了集成型的CPU之外,最少需要一個輸入及輸出的界面、供下載影像文件(ROM image)的接口、內存(RAM)、FlashROM、電源模塊等。為了開發初期的調試方便,還會在拉出幾個特殊的引腳,如JTAG接口,以供外接的調試模塊所使用。
當硬件及規格選定完成后,接下來就是進入最開始的系統開發與建立開放環境。如果項目所使用的嵌入式操作系統不是自己開發,而是向其他廠商購買的話,大都提供集成式開發環境(IDE)與仿真器(Emulator)讓開發者可以加速整個開發的過程。當你拿到的是系統廠商已經移植好的操作系統,并且確定有給予充分的文件之后,就可以針對自己的目標平臺做集成的動作。
選定操作系統之后,通常都會指定開發平臺上所使用的各項開發工具,例如編譯器、連接器等。開發時需要設置的編譯參數會依據每個環境不同而有所差異。這個部分必須依據硬件規格與指示說明編譯出一個可以運行的映像文件,然后通過燒錄工具燒錄在目標平臺上。
編輯本段
二.常見的PC機主板的分類
1.單片機:
1)51系列單片機
51 單片機目前已有多種型號, 8031/8051/8751是Intel公司早期的產品,而 ATMEL 公司的AT89C51、AT89S52則更實用。ATMEL公司的51系列還有AT89C2051、AT89C1051等品種,這些芯片是在AT89C51的基礎上將一些功能精簡掉后形成的精簡版。而市場上目前供貨比較足的芯片還要算ATMEL 的51、52 芯片, HYUNDAI 的GMS97 系列,WINBOND 的78e52,78e58,77e58 等。
2)PIC系列單片機
在全球都可以看到PIC單片機從電腦的外設、家電控制、電訊通信、智能儀器、汽車電子到金融電子各個領域的廣泛應用。PIC系列單片機又分:基本級系列,如PIC16C5X,適用于各種對成本要求嚴格的家電產品選用;中級系列,如PIC12C6XX,該級產品其性能很高,如內部帶有A/D變換器、E2PROM數據存儲器、比較器輸出、PWM輸出、I2C和SPI等接口;PIC中級系列產品適用于各種高、中和低檔的電子產品的設計中。高級系列,如PIC17CXX 具有豐富的I/O控制功能,并可外接擴展EPROM和RAM,適用于高、中檔的電子設備中使用。
3)AVR系列單片機
AVR單片機是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機。AVR的單片機可以廣泛應用于計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。
2. CPLD/FPGA
CPLD(Complex Programmable Logic Device)復雜可編程邏輯器件,是從PAL和GAL器件發展出來的器件,相對而言規模大,結構復雜,屬于大規模集成電路范圍。是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是借助集成開發軟件平臺,用原理圖、硬件描述語言等方法,生成相應的目標文件,通過下載電纜(“在系統”編程)將代碼傳送到目標芯片中,實現設計的數字系統。
許多公司如今都開發出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權威公司的產品,這里給出常用芯片: Altera EPM7128S(PLCC84)、Lattice LC4128V (TQFP100)、Xilinx XC95108 (PLCC84)
FPGA是英文Field-Programmable Gate Array的縮寫,即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。
目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
3. DSP
DSP(digital signal processor)是一種獨特的微處理器,是以數字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數字信號,再對數字信號進行修改、刪除、強化,并在其他系統芯片中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦芯片。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。
目前主流的DSP芯片主要有TI公司的TI 2000系列、TI 5000系列、TI6000系列以及ADI公司的ADI DSP系列。
4.ARM
ARM 即Advanced RISCMachines的縮寫是對一類微處理器的通稱. ARM同時還是微處理器行業的一家知名企業,設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。技術具有性能高、成本低和能耗省的特點。適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。
目前ARM的主流分以下幾類:
ARM7TDMI 應用于Game Boy Advance,Nintendo DS,iPod
ARM9TDMI Armadillo,GP32,GP2X(第一顆內核), Tapwave Zodiac(Motorolai. MX1);GP2X(第二顆內核)
ARM9E Nintendo DS,Nokia N-GageConexant 802.11 chips;ST Micro STR91xF,
ARM11 Nokia N93,Zune,Nokia N800,NOKIA E72
Cortex Texas Instruments OMAP3; Broadcomis a user;Luminary Micro[3] 微控制器家族
5. MIPS
MIPS是世界上很流行的一種RISC處理器。MIPS的意思是“無內部互鎖流水級的微處理器”(Microprocessor without interlocked piped stages),其機制是盡量利用軟件辦法避免流水線中的數據相關問題。
MIPS最早是在80年代初期由斯坦福(Stanford)大學Hennessy教授領導的研究小組研制出來的。MIPS公司的R系列就是在此基礎上開發的RISC工業產品的微處理器。這些系列產品為很多計算機公司采用構成各種工作站和計算機系統。
可以說,MIPS是賣的最好的RISC CPU,從任何地方,如Sony, Nintendo的游戲機,Cisco的路由器和SGI超級計算機,都可以看見MIPS產品在銷售。和英特爾相比,MIPS的授權費用比較低,也就為除英特爾外的大多數芯片廠商所采用。之后,MIPS公司發生戰略變化,開始以嵌入式系統為重心,陸續開發了高性能、低功耗的32位處理器內核(core)MIPS324Kc與高性能64位處理器內核MIPS64 5Kc。2000年,MIPS公司發布了針對MIPS32 4Kc的版本以及64位MIPS 64 20Kc處理器內核。
MIPS32 4KcTM 處理器是采用MIPS技術特定為片上系統(System-On-a-Chip)而設計的高性能、低電壓 32位MIPS RISC 內核。
MIPS 64 20Kc的浮點能力強,可以組成不同的系統,從一個處理器的Octane工作站到64個處理器的Origin 2000服務器;這種CPU更適合圖形工作站使用。MIPS最新的R12000芯片已經在SGI的服務器中得到應用,目前其主頻最大可達400MHz。
MIPS K系列微處理器是目前僅次于ARM的用得最多的處理器之一(1999年以前MIPS是世界上用得最多的處理器),其應用領域覆蓋游戲機、路由器、激光打印機、掌上電腦等各個方面。 MIPS除了在手機中應用的比例極小外,在一般數字消費性、網絡語音、個人娛樂、通信與商務應用市場有著相當不錯的成績。而其應用最為廣泛的應屬家庭視聽電器(包含機頂盒)、網通產品以及汽車電子等方面。
6. PPC
PowerPC 是一種精簡指令集(RISC)架構的中央處理器(CPU),其基本的設計源自IBM(國際商用機器公司)的POWER(Performance Optimized With Enhanced RISC;《IBM Connect 電子報》2007年8月號譯為“增強RISC性能優化”)架構。二十世紀九十年代,IBM(國際商用機器公司)、Apple(蘋果公司)和Motorola(摩托羅拉)公司開發PowerPC芯片成功,并制造出基于PowerPC的多處理器計算機。PowerPC架構的特點是可伸縮性好、方便靈活。
PowerPC 處理器有廣泛的實現范圍,包括從諸如 Power4 那樣的高端服務器 CPU 到嵌入式 CPU 市場(任天堂 Gamecube 使用了 PowerPC)。PowerPC 處理器有非常強的嵌入式表現,因為它具有優異的性能、較低的能量損耗以及較低的散熱量。除了象串行和以太網控制器那樣的集成 I/O,該嵌入式處理器與“臺式機”CPU 存在非常顯著的區別。例如,4xx 系列 PowerPC 處理器缺乏浮點運算,并且還使用一個受軟件控制的 TLB 進行內存管理,而不是象臺式機芯片中那樣采用反轉頁表。
編輯本段
三.構成部分
(1)嵌入式微處理器
嵌入式系統硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在于嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在芯片內部,從而有利于嵌入式系統在設計時趨于小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以采用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(Reduced Instruction Set Computer,RISC)和復雜指令系統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率并使CPU硬件結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鐘頻率和數據總線寬度,或集成了不同的外設和接口。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。
(2)存儲器
嵌入式系統需要存儲器來存放和執行代碼。嵌入式系統的存儲器包含Cache、主存和輔助存儲器。
Cache是一種容量小、速度快的存儲器陣列它位于主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。在需要進行數據讀取操作時,微處理器盡可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統和用戶的程序及數據。它可以位于微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。常用作主存的存儲器有:ROM類 NOR Flash、EPROM和PROM等。RAM類 SRAM、DRAM和SDRAM等。其中NOR Flash 憑借其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。
輔助存儲器
輔助存儲器用來存放大數據量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。
嵌入式系統中常用的外存有:硬盤、NAND Flash、CF卡、MMC和SD卡等。
(3)通用設備接口和I/O接口
嵌入式系統和外界交互需要一定形式的通用設備接口,如A/D、D/A、I/O等,外設通過和片外其他設備的或傳感器的連接來實現微處理器的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在芯片外也可以內置芯片中。外設的種類很多,可從一個簡單的串行通信設備到非常復雜的802.11無線設備。
目前嵌入式系統中常用的通用設備接口有A/D(模/數轉換接口)、D/A(數/模轉換接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太網接口)、USB(通用串行總線接口)、音頻接口、VGA視頻輸出接口、I2C(現場總線)、SPI(串行外圍設備接口)和IrDA(紅外線接口)等。
編輯本段
四.開發板硬件驅動
大部分嵌入式硬件都需要某種類型的軟件進行初始化和管理。直接與一個硬件互相作用并控制這一硬件的軟件稱為設備驅動程序(device driver)。所有需要軟件的嵌入式系統,在它們的系統軟件層都需要設備驅動程序軟件。設備驅動程序是初始化硬件的軟件庫,它們管理著高層軟件對硬件的訪問,它是硬件與操作系統、中間件和應用層之間聯絡的紐帶。具體來說,這類驅動程序包括主處理器體系結構專用的功能性驅動程序、存儲器和存儲器管理驅動程序、總線初始化和事務驅動程序、還有電路板層和主CPU層次的I/O初始化和控制驅動程序(如用于網絡、圖形、輸入設備、存儲設備、調試I/O等)。
設備驅動程序通常劃分為體系結構專用(architecture-specific)設備驅動程序和通用(generic)設備驅動程序。體系結構專用設備驅動程序管理嵌入到主處理器(體系結構)中的硬件。體系結構專用驅動程序負責初始化主處理器內部的組件,這類驅動程序的具體事例包括片上存儲器、集成的存儲器管理器(MMU)和浮點硬件的驅動程序。通用設備驅動程序管理電路板上的硬件以及沒有集成到主處理器中的硬件。在一個通用設備驅動程序中,通常包含一部分體系結構專用的源代碼,因為主處理器是中央控制單元,要訪問電路板上的任何組件通常都要經過主處理器。然而,通用驅動程序也可以管理不被特定的處理器所專用的板級硬件,這就意味著一個通用驅動程序可以配置應用到許多體系結構中去,只要該結構中包含該驅動程序對應的硬件。通用驅動程序包含初始化和管理對電路板上剩余主要組件進行訪問的代碼,這些主要組件包括板級總線(I2C、PCI、PCMCIA等)、片外存儲器(控制器、2級以上高速緩存、閃存等)和片外I/O(以太網、RS-232、顯示器、鼠標等)。
編輯本段
五.嵌入式系統的現狀和發展趨勢
信息時代,數字時代使得嵌入式產品獲得了巨大的發展契機,為嵌入式市場展現了美好的前景,同時也對嵌入式生產廠商提出了新的挑戰,從中我們可以看出未來嵌入式系統的幾大發展趨勢:
1.嵌入式開發是一項系統工程,因此要求嵌入式系統廠商不僅要提供嵌入式軟硬件系統本身,同時還需要提供強大的硬件開發工具和軟件包支持。
目前很多廠商已經充分考慮到這一點,在主推系統的同時,將開發環境也作為重點推廣。比如三星在推廣Arm7,Arm9芯片的同時還提供開發板和版及支持包(BSP),而WindowCE在主推系統時也提供Embedded VC++作為開發工具,還有Vxworks的Tonado開發環境,DeltaOS的Limda編譯環境等等都是這一趨勢的典型體現。當然,這也是市場競爭的結果。
2.網絡化、信息化的要求隨著因特網技術的成熟、帶寬的提高日益提高,使得以往單一功能的設備如電話、手機、冰箱、微波爐等功能不再單一,結構更加復雜。
這就要求芯片設計廠商在芯片上集成更多的功能,為了滿足應用功能的升級,設計師們一方面采用更強大的嵌入式處理器如32位、64位RISC芯片或信號處理器DSP增強處理能力,同時增加功能接口,如USB,擴展總線類型,如CAN BUS,加強對多媒體、圖形等的處理,逐步實施片上系統(SOC)的概念。軟件方面采用實時多任務編程技術和交叉開發工具技術來控制功能復雜性,簡化應用程序設計、保障軟件質量和縮短開發周期。如HP
3.網絡互聯成為必然趨勢。
未來的嵌入式設備為了適應網絡發展的要求,必然要求硬件上提供各種網絡通信接口。傳統的單片機對于網絡支持不足,而新一代的嵌入式處理器已經開始內嵌網絡接口,除了支持TCP/IP協議,還有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一種或者幾種,同時也需要提供相應的通信組網協議軟件和物理層驅動軟件。軟件方面系統系統內核支持網絡模塊,甚至可以在設備上嵌入Web瀏覽器,真正實現隨時隨地用各種設備上網。
4.精簡系統內核、算法,降低功耗和軟硬件成本。
未來的嵌入式產品是軟硬件緊密結合的設備,為了減低功耗和成本,需要設計者盡量精簡系統內核,只保留和系統功能緊密相關的軟硬件,利用最低的資源實現最適當的功能,這就要求設計者選用最佳的編程模型和不斷改進算法,優化編譯器性能。因此,既要軟件人員有豐富的硬件知識,又需要發展先進嵌入式軟件技術,如Java、Web和WAP等。
5.提供友好的多媒體人機界面
嵌入式設備能與用戶親密接觸,最重要的因素就是它能提供非常友好的用戶界面。圖像界面,靈活的控制方式,使得人們感覺嵌入式設備就象是一個熟悉的老朋友。這方面的要求使得嵌入式軟件設計者要在圖形界面,多媒體技術上痛下苦功。手寫文字輸入、語音撥號上網、收發電子郵件以及彩色圖形、圖像都會使使用者獲得自由的感受。目前一些先進的PDA在顯示屏幕上已實現漢字寫入、短消息語音發布,但一般的嵌入式設備距離這個要求還有很長的路要走。
編輯本段
六.中國軟件行業協會嵌入式系統分會介紹
嵌入式系統分會是中國軟件行業協會的分支機構,亦是從事嵌入式系統研究、開發、出版、銷售、培訓、咨詢、市場調研、投融資服務和其他中介服務等的企事業單位自愿結合的全國性行業組織。2004年9月16日在北京經民政部注冊登記成立。
嵌入式系統分會的宗旨是在總會的領導下通過市場調查、信息交流、咨詢評估、行業自律、知識產權保護、資質認定、政策研究等方面的工作,加強全國嵌入式系統行業企、事業單位和個人之間的合作、聯系和交流;加速國民經濟和社會信息化;嵌入式系統開發工程化、產品商品化、集成化、經營企業化和企業集團化;開拓國內外嵌入式系統市場,發展我國嵌入式系統產業;在政府和行業組織、企業集團之間發揮橋梁、紐帶作用,促進嵌入式系統產業的發展,遵守憲法、法律和政策,遵守社會道德風尚,開展本行業的各項活動,為會員服務;根據政府主管部門的授權,按照公開、公平、公正的原則協助總會承擔嵌入式系統認定職能及其他行業管理職能。
嵌入式系統分會的工作范圍:
(一)宣傳貫徹政府部門的政策法規,向有關政府主管部門反映會員和本行業愿望和要求。開展行業情況調查,提出本行業中、長期發展規劃的咨詢建議。
(二)對本行業發展的技術經濟政策,法規的制訂進行研討以及提出建議,并積極宣傳貫徹有關政策法規。
(三)貫徹落實國家給嵌入式系統企業的各項優惠政策和發展軟件產業的各項舉措;協助總會承擔嵌入式系統產品登記認證和嵌入式系統企業資質認證工作;
(四)訂立本行業行規行約,約束行業行為,提高行業自律性,提倡公平競爭,維護行業利益。
(五)協助總會和政府部門組織制定、修改本行業的國家標準和專業標準以及本行業的推薦性標準,并推進標準的貫徹實施。
(六)組織、開展各種中介服務,為嵌入式系統企業在投融資、上市、收購兼并、企業改制、法律、財務、人力資源管理等多方面提供支持;協助組織、開展嵌入式企業無形資產的評估工作,規范嵌入式企業資產評估業務,制定相應的評估體系和評估標準,保護嵌入式企業和嵌入式開發人員的智力成果和知識產權;
(七)組織本行業優秀嵌入式系統產品的推薦活動,對企業經營管理進行診斷、咨詢和指導;收集反饋本行業產品質量信息;宣傳,推廣優秀嵌入式系統產品。
(八)開展新產品,新技術的推廣應用和科技成果商品化,并組織科技交流和經驗交流,推動行業的技術進步。
(九)對本行業企業的稅收、產品價格等情況進行調查分析,提出稅收,產品價格調整意見。
(十)組織本行業全國性展覽(銷)會,與有關單位聯合舉辦出國展覽會,并組織召開國際技術論壇。
(十一)組織本行業的技術情報和經濟信息的收集與分析,進行嵌入式企業調查、市場調查,統計和預測,交流信息,并組織編寫本行業經濟技術等方面的資料,為政府有關部門宏觀調控提供決策依據。
(十二)協助總會和政府有關部門繼續完善和貫徹執行嵌入式系統的知識產權保護條例。
(十三)總結交流嵌入式系統企業改革、經營、管理的經驗,表揚優秀企業,開展管理咨詢,推進管理現代化。
(十四)根據行業發展的需要,組織行業人才培訓,人才交流,提高行業隊伍素質。
(十五)開展與國外同行業的交流合作,推動嵌入式系統產品出口,引進外資與技術,促進我國嵌入式系統行業進入國際市場。
(十六)完成總會和政府業務主管部門委托的其他有關工作。