1. POLITECNICO DI MILANO
Creazione di un sistema
embedded in EDK
DRESD How To (DHow2) - L5
Dynamic Reconfigurability
in Embedded Systems Design
DRESD Team
info@dresd.org
2. Outline
Obiettivo
Introduzione a EDK
Descrizione del progetto
Architettura
File di progetto
Flusso di progetto
Creazione dell’architettura
2
3. Obiettivo
Creazione di un sistema embedded con processore
PowerPC 405 (PPC405)
Sistema di sviluppo: Embedded Development Kit (EDK)
versione 8.2i
Board: Virtex-II Pro Evaluation Board
XC2VP7-FF896-5 Virtex-II Pro FPGA
3
4. Introduzione a EDK
Framework di sviluppo di sistemi embedded completi
con processore implementabili su FPGA della Xilinx
Componenti
Xilinx Platform Studio (XPS)
Software Development Kit (SDK): IDE basato su Eclipse
Compilatore e debugger GNU per lo sviluppo C per
PowerPC e MicroBlaze
IP-Core (processori e periferiche)
Driver, librerie e microkernel per lo sviluppo software
Documentazione
Progetti di esempio
4
5. Descrizione del progetto
Base System Builder (BSB)
Generazione del sistema embedded definito dall’utente
Generazione di un programma di esempio:
TestApp_Memory.c
Generazione bitstream
5
6. Architettura
PPC405 32-bit a 100 MHz
Bus PLB
Bus OPB
Blocco RAM 64 KB connesso al bus PLB e usato per la
memorizzazione di istruzioni e dati
Blocco RAM 8 KB connesso al bus OPB e usato per
eseguire un test sulla memoria
OPB_UARTlite: periferica UART connessa al bus OPB e
usata per stdin e stdout
OPB_GPIO: periferica General Purpose I/O connessa al
bus OPB
OPB_Timer: periferica timer/contatore connessa al bus
OPB
OPB_Intc: interrupt controller connesso al bus OPB
6
7. File di progetto
system.xmp: file di progetto XPS
posizione dei file MHS, MSS, C
dispositivo target
opzioni di progetto
system.mhs: Microprocessor Hardware Specification
processori, bus, periferiche, porte, parametri di
configurazione delle periferiche
system.mss: Microprocessor Software Specification
librerie, driver, opzioni software del sistema
data/system.ucf: User Constraint File
pinout
frequenza di clock
TestInterrupt/src/TestApp_Memory.c: applicazione
7
8. Flusso di progetto
Creazione dell’architettura
Sintesi dell’architettura
Mapping dell’architettura su FPGA
Generazione del bitstream
Download del bitstream su FPGA
8
9. Creazione dell’architettura (1/3)
Lanciare XPS
Creare un nuovo progetto usando Base System Builder
Wizard
Specificare la directory di progetto
Selezionare “I would like to create a new design”
Specificare la board
Selezionare “I would like to create a system for the
following development board”
Board Vendor: Avnet
Board Name: Avnet Virtex-II Pro Evaluation Board
Revision: 1.0
Selezionare il processore
PowerPC
9
10. Creazione dell’architettura (2/3)
Configurare il PowerPC
Reference Clock Frequency: 100 MHz; Processor Clock
Frequency: 100 MHz; Bus Clock Frequency: 100 MHz
Debug Interface: FPGA JTAG
On-Chip Memory: Data: NONE; Instruction: NONE
Configurare le interfacce di I/O
Selezionare RS232 con OPB UARTLITE, Baudrate 9600,
Data bits 8, Parity NONE e uso di interrupt
Selezionare LEDs con OPB GPIO
Aggiungere le periferiche interne
Selezionare PLB BRAM IF CNTRL da 64 KB
Aggiungere OPB BRAM IF CNTRL da 8 KB
Aggiungere OPB TIMER con Counter bit width 32, un
timer e uso di interrupt
10
11. Creazione dell’architettura (3/3)
Eseguire il setup del software
Specificare STDIN: RS232; STDOUT: RS232
Selezionare Memory test
Configurare l’applicazione di test della memoria
Specificare Instruction: plb_bram_if_cntrl_1
Specificare Data: plb_bram_if_cntrl_1
Specificare Stack/Heap: plb_bram_if_cntrl_1
Generare l’architettura
11
12. Riferimenti
Xilinx
Embedded System Tools Reference Manual - Embedded
Development Kit, EDK 8.2i
23 giugno 2006
12