POLITECNICO DI MILANO
Creazione di un sistema embedded in EDK
DRESD How To (DHow2) - L5
Dynamic Reconfigurability in Embedded Systems Design
DRESD Team
2
Outline
ObiettivoIntroduzione a EDKDescrizione del progettoArchitetturaFile di progettoFlusso di progettoCreazione dell’architettura
3
Obiettivo
Creazione di un sistema embedded con processore PowerPC 405 (PPC405)
Sistema di sviluppo: Embedded Development Kit (EDK) versione 8.2iBoard: Virtex-II Pro Evaluation Board
XC2VP7-FF896-5 Virtex-II Pro FPGA
4
Introduzione a EDK
Framework di sviluppo di sistemi embedded completi con processore implementabili su FPGA della Xilinx
ComponentiXilinx Platform Studio (XPS)Software Development Kit (SDK): IDE basato su EclipseCompilatore e debugger GNU per lo sviluppo C per PowerPC e MicroBlazeIP-Core (processori e periferiche)Driver, librerie e microkernel per lo sviluppo softwareDocumentazioneProgetti di esempio
5
Descrizione del progetto
Base System Builder (BSB)Generazione del sistema embedded definito dall’utenteGenerazione di un programma di esempio: TestApp_Memory.c
Generazione bitstream
6
Architettura
PPC405 32-bit a 100 MHzBus PLBBus OPBBlocco RAM 64 KB connesso al bus PLB e usato per la memorizzazione di istruzioni e datiBlocco RAM 8 KB connesso al bus OPB e usato per eseguire un test sulla memoriaOPB_UARTlite: periferica UART connessa al bus OPB e usata per stdin e stdoutOPB_GPIO: periferica General Purpose I/O connessa al bus OPBOPB_Timer: periferica timer/contatore connessa al bus OPBOPB_Intc: interrupt controller connesso al bus OPB
7
File di progetto
system.xmp: file di progetto XPSposizione dei file MHS, MSS, Cdispositivo targetopzioni di progetto
system.mhs: Microprocessor Hardware Specificationprocessori, bus, periferiche, porte, parametri di configurazione delle periferiche
system.mss: Microprocessor Software Specificationlibrerie, driver, opzioni software del sistema
data/system.ucf: User Constraint Filepinoutfrequenza di clock
TestInterrupt/src/TestApp_Memory.c: applicazione
8
Flusso di progetto
Creazione dell’architetturaSintesi dell’architetturaMapping dell’architettura su FPGAGenerazione del bitstreamDownload del bitstream su FPGA
9
Creazione dell’architettura (1/3)
Lanciare XPSCreare un nuovo progetto usando Base System Builder WizardSpecificare la directory di progettoSelezionare “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: AvnetBoard Name: Avnet Virtex-II Pro Evaluation BoardRevision: 1.0
Selezionare il processorePowerPC
10
Creazione dell’architettura (2/3)
Configurare il PowerPCReference Clock Frequency: 100 MHz; Processor Clock Frequency: 100 MHz; Bus Clock Frequency: 100 MHzDebug Interface: FPGA JTAGOn-Chip Memory: Data: NONE; Instruction: NONE
Configurare le interfacce di I/OSelezionare RS232 con OPB UARTLITE, Baudrate 9600, Data bits 8, Parity NONE e uso di interruptSelezionare LEDs con OPB GPIO
Aggiungere le periferiche interneSelezionare PLB BRAM IF CNTRL da 64 KBAggiungere OPB BRAM IF CNTRL da 8 KBAggiungere OPB TIMER con Counter bit width 32, un timer e uso di interrupt
11
Creazione dell’architettura (3/3)
Eseguire il setup del softwareSpecificare STDIN: RS232; STDOUT: RS232Selezionare Memory test
Configurare l’applicazione di test della memoriaSpecificare Instruction: plb_bram_if_cntrl_1Specificare Data: plb_bram_if_cntrl_1Specificare Stack/Heap: plb_bram_if_cntrl_1
Generare l’architettura
12
Riferimenti
XilinxEmbedded System Tools Reference Manual - Embedded Development Kit, EDK 8.2i23 giugno 2006