Hello,
I work with a rabbit 4300 and Dynamic C 10.72.
I’ve got errors with using of malloc() function, here is the error :
Run time error : Heap usage error detected
file : MALLOC.LIB
function : mspace_free
line : 3313
Here’s the code using the dynamic allocation to create an array of chars with the size of the file in the SD into a function :
char* fatInit_and_Read() // Initialisation du contexte FAT et lecture du fichier datas.txt
{
	int cr; // Déclaration des variables
   unsigned long size;
   fat_part* partition = NULL;
   FATfile datas_txt;
   char* buffer = NULL;
   cr = fat_AutoMount(FDDF_USE_DEFAULT);
   if(cr==0)
   {
   	partition = getPart(); // Connection à la carte SD
   }
   else
   {
      printf("ERREUR : Impossible d'ouvrir la carte SD !");ln;ln;
   }
   if(partition != NULL) // Ouverture du fichier
	{
	   cr = fat_Open(partition, "DATAS.TXT", FAT_FILE, 0, &datas_txt, NULL);
	   if(cr!=0)
	   {
	      printf("ERREUR : Aucun fichier DATAS.TXT n'a ete trouve ! ( %d )", cr);ln;ln;
	   }
      else
      {
	      fat_FileSize(&datas_txt, &size); // Calcul de la taille du fichier
	      buffer = malloc((size32_t)size); // Allocation d'un buffer
	      cr = fat_Read(&datas_txt, buffer, size*sizeof(char));  // Lecture du fichier
      }
	}
	else
	{
	   printf("ERREUR : Aucune carte SD n'a ete trouvee !");ln;ln;
	}
   fat_Close(&datas_txt); // Fermeture du fichier
   fat_UnmountDevice(partition->dev); // Déconnection de la carte SD
   return buffer;
}
After manipulation of my array “buffer” in the main(), i free it : free(buffer) ;
May you help me please to resolve the error ?
I’m sorry for my english.
Thanks for your help.