Erreur dans application soft EDK

emnag Messages postés 16 Statut Membre -  
 tivoche -
Bonjour,

Je suis entrain de réaliser un projet sous EDK qui consiste à créer une IP personnalisé.
Cette IP consiste à réaliser une multiplication de deux nombres a et b.
D'abord, je commence par la création de la plateforme de base par l'outil BSB, ensuite il s'agit de la création et l'importation du périphérique personnalisé par l'outil Create or import peripheral et ceci est fait avec succès.
Enfin, j'ai ajouté une application software par la création d'un fichier en code C qui permet de tester l'IP personnalisé.
Lorsque je désire créer le bitstream (download.bit et system.bit) pour l'envoyer par la suite au FPGA, je trouve des erreurs dans l'application software de test de périphérique.
Aidez-moi pour corriger ce code s'il vous plait.
Voici le code C de l'application C:

#include "xparameters.h" 
#include "multiply.h" 
int main (void) 
{ int a , b, num1, num2,product; 
 print ("multiply test starts \n\r"); 
 for (a =16 ,b=1; a> 0;a--,b+=2) 

  { 
   MULTIPLY_mWriteReg(XPAR_MULTIPLY_0_BASEADDR,0,a); 
   num1= MULTIPLY_mReadReg (XPAR_MULTIPLY_0_BASEADDR,0); 

   MULTIPLY_mWriteReg(XPAR_MULTIPLY_0_BASEADDR,0x4,b); 
   num2= MULTIPLY_mReadReg (XPAR_MULTIPLY_0_BASEADDR,0x4); 

   product= MULTIPLY_mReadReg (XPAR_MULTIPLY_0_BASEADDR,0x8); 
   xil_printf ("%d *%d =%d\n\r" ,num1,num2,product); 
} 
 print ("multiply test done \n\r"); 
 return 0; 
} 


Lorsque je fais Device Configuration ->Update Bitstream avant de saisir le code, j'obtiens les fichiers system.bit et download.bit.
Les erreurs trouvées lorsque je répète Device Configuration->Update Bitstream après la saisie du code C.

/cygdrive/c/DOCUME~1/EMNAEL~1/LOCALS~1/Temp/cc8FIbHA.o: In function 'main':
/cygdrive/c/VIRTEX4/exercise5/SourcesC/code.c:9: undefined reference to 'xil_io_out32'
/cygdrive/c/VIRTEX4/exercise5/SourcesC/code.c:11: undefined reference to 'xil_io_in32'
/cygdrive/c/VIRTEX4/exercise5/SourcesC/code.c:16: undefined reference to 'xil_io_out32'
/cygdrive/c/VIRTEX4/exercise5/SourcesC/code.c:18: undefined reference to 'xil_io_in32'
/cygdrive/c/VIRTEX4/exercise5/SourcesC/code.c:20: undefined reference to 'xil_io_in32'
collect2: ld returned 1 exit status
make: *** [test/executable.elf] Error 1

Ci-joint les fichiers multiply.h et user_logic.h et xparameters.h

je travaille avec EDK 12.1

emnagaaloul@yahoo.fr

1 réponse

tivoche
 
salut
il faut remplacer xil_io_in32 et 'xil_io_out32' dans les fonction d'ecriture et de lecture des registres dans ton fichier multiply.h par XIo_Out32 et XIo_Int32. La version EDK 12.1 n'intègre pas encore ce type de donnée
0