260 likes | 504 Views
嵌入式系統 軟體研發工作 簡報. James 2005.10. 摘要. 一、嵌入式系統概論 二、常用工具介紹 三、嵌入式軟體開發實例 四、相關資源. 一、嵌入式系統概論. 何謂嵌入式系統 嵌入式系統的應用領域 嵌入式處理器 嵌入式作業系統 嵌入式系統的測試方法. 何謂嵌入式系統. 以特定應用為中心,為適應應用對功能、成本及低消耗功率的嚴格要求,而設計的一套專用計算機系統。 與通用的計算機系統相比,具有以下特性: 系統專用性強 系統即時性高 硬體與軟體的相互依賴性強 採用專用的 CPU 系統使用簡便 系統資源有限. 嵌入式系統的應用領域.
E N D
嵌入式系統軟體研發工作簡報 James 2005.10
摘要 一、嵌入式系統概論 二、常用工具介紹 三、嵌入式軟體開發實例 四、相關資源
一、嵌入式系統概論 • 何謂嵌入式系統 • 嵌入式系統的應用領域 • 嵌入式處理器 • 嵌入式作業系統 • 嵌入式系統的測試方法
何謂嵌入式系統 • 以特定應用為中心,為適應應用對功能、成本及低消耗功率的嚴格要求,而設計的一套專用計算機系統。 • 與通用的計算機系統相比,具有以下特性: • 系統專用性強 • 系統即時性高 • 硬體與軟體的相互依賴性強 • 採用專用的CPU • 系統使用簡便 • 系統資源有限
嵌入式系統的應用領域 • 工業領域 • 生產控制、數位機床、自動化工廠、機器人系統…。 • 資訊家電 • DVD、數位電視、網路冰箱…。 • 商業及金融 • 自動提款機、信用卡機、售貨端系統…。 • 交通運輸 • 車輛導航、雷達系統…。 • 通信領域 • 電話交換系統、數據交換設備…。
嵌入式處理器 • X86: • 開發方便、移植容易、擁有Linux最大的軟體基礎。 • 體積大、功率消耗高、即時性差。 • POWER PC • IBM、Motorola、Apple共同合作的成果。 • Motorola 68000 • MIPS • 史丹福大學之 Microprocessor without Interlocked Pipeline Stages 計劃的研究成果。 • ARM • ARM公司。
ARM公司依據ARM core 為客戶設計CPU core,向客戶收取設計權利金,讓客戶依照合乎需求的設計製造晶片。 • 合作的半導體公司: • ATMEL、Cirros、Hyundai、Intel、Linkup System、OKI、Rohm、Samsung、Sharp、Netsilicon。 • 到目前為止共有6個版本架構,V1、V2…V6。 • 所有的ARM處理器共享相同的ARM指令集,使不同版本的處理器可以達到軟體上的完全相容。 • 最常見的是ARM7TDMI。V4版本架構。
嵌入式作業系統 • 嵌入式作業系統要求: • 要能滿足對即時性強烈要求。 • 系統可剪裁,將不必要的功能移除。 • 功能可擴展,依照需要增加目前沒有的功能。 • 因為CPU更新速度快,所以要能支援多種硬體平台及開發平台,包括編譯器、鏈結器、測試工具等。 • 因為資源有限,系統規模要小。
全世界目前有600多種。 • VxWorks及嵌入式Linux採用最多。 • 常見的還有: • Plam OS、penhex、嵌入式windows… • 常見的嵌入式Linux有: • BlueCat • Embedix • MontaVista Linux • POCKET IX • uClinux • Xlinux • RT-Linux
嵌入式系統的測試方法 • 模擬開發測試,如ARMulator • 純軟體的開發測試環境,無法測試到IO功能。 • 嵌入式線上模擬器 • Embedded-ICE(In-Circuit Emulator) • 以一個可控制的硬體,執行原來CPU的功能;其與開發主機上的用戶端程式相互合作來測試程式。 • Angel遠程測試 • 佔用數十KB的儲存空間。 • 佔用一些中斷的資源。
二、常用工具介紹 • 程式編輯工具 • Microsoft Visual Studio .NET 2003 • 封包監看軟體 • Ethereal • 文書編輯 • Beyond Compare • 虛擬作業系統 • VM Ware
常用工具介紹[續] • Linux 伺服器 • SAMBA • TFTP • BOOTP+DHCP • 終端機 • Putty • AnzioWin終端機
重要的專案屬性設定 • 命令引數 • Include 目錄 • 前處理器定義
Ethereal • 安裝WinPcap [3.1] • http://www.winpcap.org • 安裝 Ethereal [10.12] • http://www.ethereal.com • 介面簡介 • 基本操作 • 開始與結束 • 資訊篩選與閱讀 • 儲存
Beyond Compare • http://www.scootersoftware.com/
VM Ware • http://www.vmware.com • 安裝Linux作業系統 • 組態設定:記憶體與網路設定 • Ctrl+Alt • Ctrl+Alt+Del
Linux 伺服器 • SAMBA • 與微軟的網路芳鄰相容的服務。 • 參考文件1。 • TFTP • 簡易的檔案傳輸協定。 • 參考文件2。 • DHCP + BOOTP • 使目標版可於開機時自動取得開機影像檔。 • 參考文件3。
Putty • 可調視窗大小 • 可使用SSH傳輸協定 • 可使用視窗介面 • 常用於連接Linux主機
AnzioWin 終端機 • 可調視窗高度、存記錄檔、編輯快速鍵。 • 常用於連接目標板RS232介面。
三、嵌入式軟體開發實例 • 撰寫跨平台程式碼 • 不同的作業系統有自有的函式庫,因此造成程式碼有跨平台的問題。 • 使用前處理器定義,區別不同平台的程式碼。 • 參考文件4。 • Make 與 Makefile • Make • Unix 上的編譯工具。 • Makefile • Make 的指導書。 • “相依”的觀念。 • 參考文件5。
嵌入式軟體開發實例[續] • 工具鏈 • 何謂工具鏈 • 如何取得工具鏈的環境 • 加入新的程式 • 產生的影像檔位置 • 燒錄影像檔Image
四、相關資源[網站] • Source Forge • http://sourceforge.net/ • TETF RFC Index Search Engine • http://www.rfc-editor.org/cgi-bin/rfcsearch.pl • 鳥哥的 Linux 私房菜 • http://linux.vbird.org/
相關資源[參考書] • 嵌入式系統發展技術,全華 • 建構嵌入式Linux系統,O’REILLY