嵌入式系統導論, 探矽工作室
1
探矽工作室
學貫行銷股份有限公司
嵌入式系統導論, 探矽工作室
2
系統開發平台實例
3
本章學習重點
z
如何選擇開發平台
z
ARM Integrator開發平台
z
ADS、AFS系統開發工具
z
Altera SOPC Builder之使用
z
學習如何利用系統開發平台進行設計
4
如何選擇開發平台
z
根據使用者的需求考量為出發點
– 特殊應用專屬平台、以研究處理器架構為主的平台、
強調模組之間通訊整合性的平台、可程式規劃的開發 平台
z
決定系統的細部規格
– 記憶體容量之考量
– FPGA閘數之考量
– 系統工作頻率之考量
– 擴充槽I/O接腳數之考量
5
ARM Integrator介紹
z ARM Integrator
– 主機板
– 核心模組
– 額外的邏輯模組
z Integrator主機板
– 符合ATX規格的主機板
– 支援ARM處理器為主的軟體 應用與硬體開發
– 匯流排仲裁器以及中斷處理器 的功能
– 可將作業系統存放於flash memory
Integrator/AP之電路佈局 (資料來源: http://www.arm.com/)
6
ARM Integrator介紹
Integrator/AP之系統架構圖 (資料來源: http://www.arm.com/)
7
ARM Integrator介紹
z Integrator核心模組
– 可以當作獨立的系統使用
z CM720T核心模組
– ARM720T微處理核心
– 內藏下列控制電路之FPGA
z SDRAM控制器
z 匯流排橋接器
z 中斷控制器
z 狀態、控制、以及中斷暫 存器
– 可擴充至256MB之SDRAM
– 256KB SSRAM
– SSRAM控制器
– 時脈產生器
– Multi-ICE除錯界面
Integrator核心模組之系統架構圖 (資料來源: http://www.arm.com/)
8
ARM Integrator介紹
z Integrator邏輯模組
– 可由設計者自行運用的 FPGA
– 提供給符合 AMBA標準的 系統平台配合ARM微處理 器來使用
– 提供了Multi-ICE以及LA connector介面供硬體除錯 使用
Integrator邏輯模組之系統架構圖 (資料來源: http://www.arm.com/)
9
ARM Integrator開發環境
z
ADS
– ARM Development Suite
– 內附有一些應用程式、相關文件、以及ARM系統之 開發範例
– 可建立與除錯使用C、C++或是ARM assembly語言 撰寫之程式
10
範例13-1 ADS套件內的軟體分類
z 指令列軟體程式
– armcc、armcpp、tcc、cpp、armasm、 armlink、armsd z 圖形介面開發工具
– AXD Debugger 、ADW Debugger 、 ADU Debugger 、 CodeWarrior IDE
z 小型應用程式
– fromELF 、Flash downloader z 其他支援之工具
– ARMulator
11
ARM Integrator開發環境
z
AFS
– ARM Firmware Suite
– AFS也是用來開發ARM系統工具
– uHAL函式庫。
– Flash函式庫
– 方便的開發環境
– 提供uC/OS-II作業系統供設計者使用。
– Angel除錯監控程式
12
ARM Integrator開發環境
z Multi-ICE
– 由ARM公司所設計
– 使用EmbeddedICE邏輯電路 的除錯工具
– 透過JTAG標準
– 用ARM Remote Debug Interface(RDI)協定來交換資 料
– 可以用來存取、修改硬體內部 之暫存器、記憶體、設定中斷 點、下載、追蹤、與即時除錯 程式碼
Multi-ICE除錯工具
(資料來源:http://www.bluewatersys.com/)
13
ARM Integrator開發環境
z
ARM Integrator應用開發實例
– 把HDL程式碼進行電路合成並產生FPGA的硬體映像 檔
– 接著將映像檔以透過Multi-ICE下載的方式燒錄到邏輯 模組內
– 將設計好的C語言程式碼拿到Code warrior IDE進行 編譯
– 用Multi-ICE與AXD對程式進行除錯
14
邏輯模組硬體部份之編譯
ALTERA FPGA之編譯流程 (資料來源: http://www.arm.com/)
15
範例13-2 LM-EP20K600E+ FPGA燒錄檔之 編譯與下載(1)
z 步驟一、 電路合成
z 步驟二、 進行佈局與繞線
利用Altera公司出的Quartus軟體 合成FPGA所需之映像檔
16
編譯與下載(2)
z 步驟三、 下載新的組態檔 到FPGA中
透過progcards.exe程式下載FPGA映像檔
17
核心模組軟體部份之編譯與CodeWarrior介紹
z CodeWarrior IDE
z 設定編譯選項
– 處理器種類、位元次序(bit order)、最佳化等級等。
CodeWarrior編譯選項設定畫面
18
範例13-3 使用Multi-ICE與AXD進行程式除錯 (1)
z 步驟一、 啟動Multi-ICE Server並抓到硬體
用Multi-ICE Server抓取硬體組態
19
範例13-3 使用Multi-ICE與AXD進行程式除錯 (2)
z 步驟二、在AXD中將除錯 標的設為Multi-ICE
在AXD中,把除錯標的設為Multi-ICE
20
範例13-3 使用Multi-ICE與AXD進行程式除錯 (3)
z 步驟三、載入欲進行除錯 之映像檔
選擇進行除錯所需之映像檔
21
範例13-3 使用Multi-ICE與AXD進行程式除錯 (4)
z 步驟四、在原始碼中以採 取單步執行、設中斷點的 方式加速除錯的工作
在AXD中可透過單步執行與設定中斷點 來加快程式的除錯速度
22
Altera Excalibur SOPC開發平台
z
實現可程式化系統單晶片(system-on-a- programmable-chip,SOPC)的概念
z
支援NIOS處理器以及ARM公司所出的 ARM922T
z
可以連接自行設計的ASIC
z
有許多公司推出與之搭配的作業系
23
Altera Excalibur SOPC開發平台
z NIOS可程式化CPU
– 具大量的內部暫存器
– 精簡指令集編碼
– 完備之定址模式
– 高度可擴充性
NIOS 3.0 CPU之架構圖
24
Altera Excalibur SOPC開發平台
z ARM 922T介紹
– 採用Harvard架構
– 具有指令抓取、指令解 碼、指令執行、資料讀 取、資料寫入之五階管 線化設計
– 具記憶體管理能力
– 支援ARM debug architecture
ARM922T功能區塊圖
(資料來源: http://www.arm.com.tw/)
25
Altera Excalibur SOPC開發平台
z
Excalibur開發工具套件
– 可適用於在工業控制自動化、診斷與偵測設備、汽車 內部裝置、軍事或醫學用途上
– SOPC Builder System Development Tool
– Quartus II Development Software
– GNUPro Toolkit Compiler & Debugger
26
範例13-4 ARM_Stripe組態說明(1)
z 步驟一、設定ARM Stripe 內的Reset operation、
Byte order、Reverse pins參數
設定ARM Stripe內的參數
27
範例13-4 ARM_Stripe組態說明(2)
z 步驟二、 設定ARM Stripe內的Bridges、
Interrupts、Trace/Debug、
GPIO參數
設定ARM Stripe內的參數
28
範例13-4 ARM_Stripe組態說明(3)
z 步驟三、決定內部架構後,
接著可以設定匯流排與 SDRAM之工作時脈、序 列下載參數等選項
設定ARM Stripe內的參數
29
範例13-4 ARM_Stripe組態說明(4)
z 步驟四、系統記憶體空間 的使用範圍設定
設定ARM Stripe內的參數
30
範例13-4 ARM_Stripe組態說明(5)
z 步驟五、由SOPC
Builder產生之檔案一覽表 所產生之檔案。
31
範例13-5 外掛使用者邏輯模組(1)
z 步驟一、加入一個使用者 自訂模組
SOPC Builder內建許多模組 提供客製化系統的功能
32
範例13-5 外掛使用者邏輯模組(2)
z 步驟二、選取對應的HDL 檔以及介面設定
利用SOPC Builder外掛自訂之邏輯模組
33
範例13-5 外掛使用者邏輯模組(3)
z 步驟三、設定Symbol之 產出形式
z 步驟四、完成編輯
決定外掛之模組是否要嵌入在所產生的Symbol內
34
範例13-6 SOPC系統之開發(1)
z 步驟一、選取Symbol
選取由SOPC Builder所產生之Symbol
35
範例13-6 SOPC系統之開發(2)
z 步驟二、為Symbol加上 所須之pin腳
在Quartus II內為原來的Symbol加上接腳
36
範例13-6 SOPC系統之開發(3)
z 步驟三、設定細部編譯選 項
設定好FPGA的編譯選項
37
範例13-6 SOPC系統之開發(4)
z 步驟四、硬體電路合成
合成後之所得到的FPGA佈線圖 (Field View)
38
範例13-6 SOPC系統之開發(5)
z 步驟五、設定軟體應用程 式之開發環境
設定編譯器以及燒錄用途檔案之畫面
39
範例13-6 SOPC系統之開發(6)
z 步驟六、使用Quartus II 軟體編譯程式
利用Quartus II軟體來編譯軟體應用程式
40
範例13-6 SOPC系統之開發(7)
z 步驟七、下載SOPC設計 至開發板內
透過BlasterMV進行FPGA之燒錄
41
總結
z
如何選擇開發平台
z
ARM Integrator平台
– 對設計者提供了較大的設計彈性
z
Altera公司的Excalibur套件
– 幫助設計者快速的加入新的周邊設備
– 省去瑣碎的匯流排介面電路設計工作