J'ai un problème avec _sbrk. Dans une phase de compilation, j'utilise la commande ci-dessous pour lier mes objets et j'obtiens une référence indéfinie à _sbrk.Référence non définie à _sbrk
arm-none-eabi-ld -static -T linkerscript.ld -o exe timer_example.o /home/ziga/projects/cs_lite/arm-none-eabi/lib/libc.a /home/ziga/projects/cs_lite/lib/gcc/arm-none-eabi/4.5.1/libgcc.a
Je compile pour ARM926EJ-s et en mode ARM donc je pense avoir choisi le bon multilib (libc.a et libgcc.a) qui est situé dans le dossier home/ziga/projets/cs_lite/bras -none-eabi/lib /.
J'ai cherché Internet pour la fonction _sbrk et c'est une sorte d'appel de gestion de mémoire qui n'est pas inclus dans les bibliothèques C standard car il dépend du microprocesseur. Soo dois-je écrire la fonction _sbrk par moi-même? Comment fait-on ça? Avez-vous un exemple pour arm926ej-s? Après avoir écrit cette fonction, j'ai l'intention de le compiler dans un fichier objet et de le lier avec d'autres objets, des bibliothèques.
Cordialement, Ziga.
J'ai résolu ce problème et ici poster solution pour que je donne quelque chose à comunauté. La fonction _sbrk est située dans le package NXP CDL pour ARM. Package est disponible en téléchargement (le lien est pour tous ceux qui DonT le savez déjà) ici: http://www.lpclinux.com/Downloads/WebHome Dans CDL_v005/sous-dossier CSPS/lpc313x/bsps/ea3131/source, vous trouverez le fichier source nommé libnosys_gnu.c qui devrait être ajouté à le projet et compilé à l'objet fichier et ensuite lié au fichier exécutable à côté d'autres objets et bibliothèques.
Meilleurs voeux et beaucoup de succès.
vous devriez mettre cette réponse dans un _answer_ plutôt que d'éditer votre question. C'est bien de répondre à vos propres questions (même pour l'accepter). – paxdiablo