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 ( "Strat multiply ...\n\r");
for (a=16,b=1,a>0;a--,b++)
{
MULTIPLY_mWriteReg(XPAR_MULTIP LY_0_BASEADDR,0,a);
num1 = MULTIPLY_mReadReg(XPAR_MULTIPL Y_0_BASEADDR,0);
MULTIPLY_mWriteReg(XPAR_MULTIP LY_0_BASEADDR,0x4,a);
num1 = MULTIPLY_mReadReg(XPAR_MULTIPL Y_0_BASEADDR,0x4);
product=MULTIPLY_mReadReg(XPAR _MULTIPLY_0_BASEADDR,0x8);
xil_printf("%d *%d =%d \n\r" ,num1 ,num2, product);
}
print ("multiply 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 ,xparameters.h et le user_logic.vhd
-----