25
嵌嵌嵌嵌嵌 嵌嵌嵌嵌 嵌嵌 James 2005.10

嵌入式系統 軟體研發工作 簡報

  • Upload
    dympna

  • View
    75

  • Download
    0

Embed Size (px)

DESCRIPTION

嵌入式系統 軟體研發工作 簡報. James 2005.10. 摘要. 一、嵌入式系統概論 二、常用工具介紹 三、嵌入式軟體開發實例 四、相關資源. 一、嵌入式系統概論. 何謂嵌入式系統 嵌入式系統的應用領域 嵌入式處理器 嵌入式作業系統 嵌入式系統的測試方法. 何謂嵌入式系統. 以特定應用為中心,為適應應用對功能、成本及低消耗功率的嚴格要求,而設計的一套專用計算機系統。 與通用的計算機系統相比,具有以下特性: 系統專用性強 系統即時性高 硬體與軟體的相互依賴性強 採用專用的 CPU 系統使用簡便 系統資源有限. 嵌入式系統的應用領域. - PowerPoint PPT Presentation

Citation preview

Page 1: 嵌入式系統 軟體研發工作 簡報

嵌入式系統軟體研發工作

簡報

James

2005.10

Page 2: 嵌入式系統 軟體研發工作 簡報

2

摘要

一、嵌入式系統概論二、常用工具介紹三、嵌入式軟體開發實例四、相關資源

Page 3: 嵌入式系統 軟體研發工作 簡報

3

一、嵌入式系統概論

• 何謂嵌入式系統• 嵌入式系統的應用領域• 嵌入式處理器• 嵌入式作業系統• 嵌入式系統的測試方法

Page 4: 嵌入式系統 軟體研發工作 簡報

4

何謂嵌入式系統

• 以特定應用為中心,為適應應用對功能、成本及低消耗功率的嚴格要求,而設計的一套專用計算機系統。

• 與通用的計算機系統相比,具有以下特性:– 系統專用性強– 系統即時性高– 硬體與軟體的相互依賴性強– 採用專用的 CPU– 系統使用簡便– 系統資源有限

Page 5: 嵌入式系統 軟體研發工作 簡報

5

嵌入式系統的應用領域

• 工業領域– 生產控制、數位機床、自動化工廠、機器人系統…。

• 資訊家電– DVD 、數位電視、網路冰箱…。

• 商業及金融– 自動提款機、信用卡機、售貨端系統…。

• 交通運輸– 車輛導航、雷達系統…。

• 通信領域– 電話交換系統、數據交換設備…。

Page 6: 嵌入式系統 軟體研發工作 簡報

6

嵌入式處理器

• X86 :– 開發方便、移植容易、擁有 Linux 最大的軟體基礎。– 體積大、功率消耗高、即時性差。

• POWER PC– IBM 、 Motorola 、 Apple 共同合作的成果。

• Motorola 68000• MIPS

– 史丹福大學之 Microprocessor without Interlocked Pipeline Stages 計劃的研究成果。

• ARM– ARM 公司。

Page 7: 嵌入式系統 軟體研發工作 簡報

7

• ARM 公司依據 ARM core 為客戶設計 CPU core ,向客戶收取設計權利金,讓客戶依照合乎需求的設計製造晶片。

• 合作的半導體公司:– ATMEL 、 Cirros 、 Hyundai 、 Intel 、 Linkup

System 、 OKI 、 Rohm 、 Samsung 、 Sharp 、 Netsilicon。

• 到目前為止共有 6 個版本架構, V1 、 V2…V6 。• 所有的 ARM 處理器共享相同的 ARM 指令集,使不同版本的處理器可以達到軟體上的完全相容。

• 最常見的是 ARM7TDMI 。 V4 版本架構。

Page 8: 嵌入式系統 軟體研發工作 簡報

8

嵌入式作業系統

• 嵌入式作業系統要求:– 要能滿足對即時性強烈要求。– 系統可剪裁,將不必要的功能移除。– 功能可擴展,依照需要增加目前沒有的功能。– 因為 CPU 更新速度快,所以要能支援多種硬體平台及開發平台,包括編譯器、鏈結器、測試工具等。

– 因為資源有限,系統規模要小。

Page 9: 嵌入式系統 軟體研發工作 簡報

9

• 全世界目前有 600 多種。• VxWorks 及嵌入式 Linux 採用最多。• 常見的還有:

– Plam OS 、 penhex 、嵌入式 windows…

• 常見的嵌入式 Linux 有:– BlueCat– Embedix– MontaVista Linux– POCKET IX– uClinux– Xlinux– RT-Linux

Page 10: 嵌入式系統 軟體研發工作 簡報

10

嵌入式系統的測試方法

• 模擬開發測試,如 ARMulator– 純軟體的開發測試環境,無法測試到 IO 功能。

• 嵌入式線上模擬器– Embedded-ICE(In-Circuit Emulator)

– 以一個可控制的硬體,執行原來 CPU 的功能;其與開發主機上的用戶端程式相互合作來測試程式。

• Angel 遠程測試– 佔用數十 KB 的儲存空間。– 佔用一些中斷的資源。

Page 11: 嵌入式系統 軟體研發工作 簡報

11

二、常用工具介紹

• 程式編輯工具– Microsoft Visual Studio .NET 2003

• 封包監看軟體– Ethereal

• 文書編輯– Beyond Compare

• 虛擬作業系統– VM Ware

Page 12: 嵌入式系統 軟體研發工作 簡報

12

常用工具介紹 [續 ]

• Linux 伺服器– SAMBA– TFTP– BOOTP+DHCP

• 終端機– Putty– AnzioWin終端機

Page 13: 嵌入式系統 軟體研發工作 簡報

13

專案建立

Page 14: 嵌入式系統 軟體研發工作 簡報

14

重要的專案屬性設定1. 命令引數2. Include 目錄3. 前處理器定義

Page 15: 嵌入式系統 軟體研發工作 簡報

15

Ethereal

• 安裝WinPcap [3.1]– http://www.winpcap.org

• 安裝 Ethereal [10.12]– http://www.ethereal.com

• 介面簡介• 基本操作

– 開始與結束– 資訊篩選與閱讀– 儲存

Page 16: 嵌入式系統 軟體研發工作 簡報

16

Page 17: 嵌入式系統 軟體研發工作 簡報

17

Beyond Compare

• http://www.scootersoftware.com/

Page 18: 嵌入式系統 軟體研發工作 簡報

18

VM Ware

• http://www.vmware.com

• 安裝 Linux 作業系統• 組態設定:記憶體與網路設定• Ctrl+Alt• Ctrl+Alt+Del

Page 19: 嵌入式系統 軟體研發工作 簡報

19

Linux 伺服器

• SAMBA– 與微軟的網路芳鄰相容的服務。– 參考文件 1 。

• TFTP– 簡易的檔案傳輸協定。– 參考文件 2 。

• DHCP + BOOTP– 使目標版可於開機時自動取得開機影像檔。– 參考文件 3 。

Page 20: 嵌入式系統 軟體研發工作 簡報

20

Putty

• 可調視窗大小• 可使用 SSH傳輸協定• 可使用視窗介面• 常用於連接 Linux 主機

Page 21: 嵌入式系統 軟體研發工作 簡報

21

AnzioWin 終端機• 可調視窗高度、存記錄檔、編輯快速鍵。• 常用於連接目標板 RS232 介面。

Page 22: 嵌入式系統 軟體研發工作 簡報

22

三、嵌入式軟體開發實例

• 撰寫跨平台程式碼– 不同的作業系統有自有的函式庫,因此造成程式碼有跨平台的問題。

– 使用前處理器定義,區別不同平台的程式碼。– 參考文件 4 。

• Make 與 Makefile– Make

• Unix 上的編譯工具。– Makefile

• Make 的指導書。• “相依”的觀念。• 參考文件 5 。

Page 23: 嵌入式系統 軟體研發工作 簡報

23

嵌入式軟體開發實例 [續 ]

• 工具鏈– 何謂工具鏈– 如何取得工具鏈的環境– 加入新的程式– 產生的影像檔位置

• 燒錄影像檔 Image

Page 24: 嵌入式系統 軟體研發工作 簡報

24

四、相關資源 [ 網站 ]

• Source Forge– http://sourceforge.net/

• TETF RFC Index Search Engine– http://www.rfc-editor.org/cgi-bin/rfcsearch.pl

•鳥哥的 Linux 私房菜 – http://linux.vbird.org/

Page 25: 嵌入式系統 軟體研發工作 簡報

25

相關資源 [參考書 ]

• 嵌入式系統發展技術 , 全華• 建構嵌入式 Linux 系統 ,O’REILLY