Download presentation
Presentation is loading. Please wait.
Published byJemima Jordan Modified over 9 years ago
1
環境設定 Hardware development : quartus2 4.0 web edition and web license,download form website Software development : sopcbuilder with gnupro CD in the box
2
Excalibur ARM
3
Excalibur ARM feature Powerful development board for embedded processor FPGA designs – Features an EPXA1F484 device – Supports intellectual property-based (IP-based) designs using a microprocessor Industry-standard interconnections – 10/100 megabits per second (Mbps) Ethernet – Two RS-232 ports Memory subsystem – 8 Mbytes of flash memory – 32 Mbytes of single data rate (SDR) SDRAM Multiple clocks for communications system design Multiple ports for configuration and debugging – IEEE Std. 1149.1 Joint Test Action Group (JTAG) – Support for configuring the EPXA1 device using flash memory, with a MasterBlaster™ or ByteBlasterMV™ cable – Multi-ICE header for debugging Expansion headers for greater flexibility and capacity – 5-V standard expansion header – 5-V long expansion card header Additional user-interface features – One user-definable 8-bit dual in-line package (DIP) switch block – Four user-definable push-button switches, plus reset switch – Ten user-definable LEDs, plus function-specific LEDs Test points provided to facilitate system development
4
Excalibur ARM, EPXA1 This is Stripe
5
Embedded Stripe Components ARM922T 32-Bit RISC Processor –200-MHz Bus Performance Embedded Memory –Single-Port SRAM to 256 Kbytes –Dual-Port SRAM to 128 Kbytes SDRAM Controller Expansion Bus Interface Multi-Layer AMBA AHB Bus Architecture Embedded Bridges between Stripe & PLD Embedded Peripherals –UART –Timer –Watchdog Timer –Interrupt Controller
6
Excalibur ARM, epxa1,Design example ug_xa1_devbd_getting_started Can be download form here http://www.altera.com/literature/lit-exc.jsp http://www.altera.com/literature/lit-exc.jsp 這是一個簡單的 example, stripe 是唯一的 bus master, 只有它能送出 read 或 write 的 request, slave 則負責回映 master 的要求
7
The block diagram of this example Single_transaction_slave Reg_file Stripe
8
A write request form stripe Single_transaction_slave Reg_file Stripe 1 2
9
A write request from stripe Stripe 透過 AHB 送出一個 write request 到 single_transaction_slave, single_transaction_slave 的功用為負責處 理 AHB 上面的溝通訊號 Single_transaction_slave 將資料傳給 regfile 處理
10
A read request form stripe Single_transaction_slave Reg_file Stripe 1 2 4 3
11
A read request from stripe Stripe 透過 AHB 送出一個 read request 到 single_transaction_slave Single_transaction_slave 將資料傳給 regfile 處理 Regfile 將資料傳回給 single_transaction_slave Single_transaction_slave 將資料傳回給 stripe
12
Example Builds in epxa1 Download the example First hardware build Then software build download to development board Setup RS-232 connect in PC
13
Hardware build 先用 quartusII 打 開 example 按圖上的紐 開始 hardware build 通常不會有 問題除了 license Push here to build hardware
14
Software build 打開 SOPC Builder SDK Shell 進到 example 裡面的 gnu 資料夾中, 將 makefile 中的 epxa10.c 改為 epxa1.c 輸入 make
15
Download the design to development board 執行 prog_hw.bat 接下來就能看到板子 上面的跑馬燈
16
Setup RS-232 打開 hyperterminal 做 左邊圖裡面的設定
17
Example results 在板子上面能看到 LED 在跑動, 用 RS-232 和板子相連的 PC 也能夠在 hyperterminal 的視窗中看到以下的訊息 ************************************************************** ** Altera EPXA10 Development Board - I'm alive!!! ** ** ** Look for scrolling LEDs ** ** **************************************************************
18
修改 example-hardware What you want a write request do What you want a read request do Double click 在 regfile 的圖上
19
My Example reg_file.v if(write) begin if(reg_state) begin temp1 <= wdata; reg_state <= 1'b0; end else begin temp2 <= wdata; reg_state <= 1'b1; end end //endif else begin rdata <= temp1 + temp2; end
20
修改 example - software int main(void) { LED = (volatile unsigned int*) EXC_PLD_BLOCK0_BASE + 0x00001000; printf("\r\n"); printf("****************************************************\r\n"); printf("** **\r\n"); printf("** Altera EPXA10 Development Board - I'm alive!!! **\r\n"); printf("** **\r\n"); printf("** Look for scrolling LEDs **\r\n"); printf("** **\r\n"); printf("****************************************************\r\n"); while (1) Scroll_LED(); return 0; } 在 common 的資料夾內的 main.c
21
My Example main.c temp = *LED; while(tempc != 0){ printf("input first number :"); scanf("%d",&temp); *LED = temp; printf("input second number :"); scanf("%d",&temp); *LED = temp; temp = *LED; printf("temp = %d \r\n",temp); printf("continue?(1/0)\r\n"); scanf("%d",&tempc); }
22
My Example Results input first number :132 input second number :333 temp = 465 continue?(1/0)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.