Home
MANUEL D`UTILISATION DE LA MINILIB C
Contents
1. le chapitre Description des fonctions contenues dans syscalls c propos des fonctions 3 Rajoutez le chemin vers mini lib dans l onglet du linker Options for Target Simu xj Device Target Output Listing User C C Asm Linker Debug Utilities Use Memory Layout from Target Dialog Make RW Sections Position Independent R 0 Base 0 08000000 Make RO Sections Position Independent RAW Base 020000000 Dont Search Standard Libraries Report might fail Conditions as Errors disable Warning 5 userlibpath minilib lib mini lib Misc controls Linker l device DARMSTM o ro base Ox08000000 entry 0 08000000 rw base 0 20000000 entry Rese 4 control L userlibpath minilib lib mini lib autoat summary_stderr info summarysizes map xref callgraph syr string 4 Bien verifier dans la fenetre precedente que les bibliotheques standards ne sont pas utilises voir aussi l onglet Target et decocher si necessaire l option Microlib 4 Recompiler la bibliotheque Normallement il n est pas necessaire de recompiler la bibliotheque Neanmoins si le besoin se faisait sentir bug decouvert evolution souhait le repertoire minilib keil contient deux projets un pour ARMCC l autre pour GCC Il suffit d ouvrir le projet ad hoc et lancer la recompilation du projet verifier que la cible est bien la bibliotheque Sous il est tr s important de verifier que les o
2. MANUEL D UTILISATION DE LA Version 1 00 S Di Mercurio Table des matieres 1 Presentation ta 3 JI Emite dee A ern 3 2 Fonctions integr es la miti bi a ar ade 4 S Utilisdtiet de bibliotheque Antennen lan ua 5 2 222 a a wi ab eier 5 BUT SA ON nee en d t ta 5 bjUtilisa tion ne lee 5 4 Recompiler labibli thegue xs aan a ta Sa 6 5 Options utilisables lors de la compilation de la bibliotheque 6 6 Description des fonctions contenues dans syscalls c nenn 7 7 Un mot au sujet des fonctions utilisant le type FILE 7 7 1 Un point important au sujet de ces Ti za u 7 7 2 Utilisation concrete dans une applications nennen nase 8 1 Presentation La minilib C est une bibliotheque C bas e sur le code de la newlib de redhat mais fortement reduite en fonctionnalit et taill e dans la masse pour tre la plus petite possible En ce sens elle n embarque pas toutes les fonctions propos es par la bibliotheque C classique libe voir la chapitre Fonctions integr es la minilib pour conna tre la liste des fonctions incluses La minilib necessite pour certaines fonctions tel printf un support systeme en gros un moyen dependant de la plateforme et de l application pour realiser sa t che Dans le cas du printf c est un endroit o ecrire le text
3. arametre de type FILE La d finition par la minilib de la structure FILE est la suivante struct FILE int file only field required for our lib La structure ne contient qu un champ _ file qui contient un numero de canal Ce numero sera au final pass aux fonctions read et write selon que l on lit dans un flux ou qu on y ecrit Ce numero de canal peut d s lors servir choisir dans ces fonctions parmis plusieurs canaux de lecture et ou d ecriture Bien entendu si il n existe qu un seul canal de lecture et ou d ecriture il est inutile de remplir le champ_file et une variable m me non initialis e suffit mais pas de pointeur NULL De plus stdio h definit trois flux standards stdin flux standard d entr e stdout flux standard de sortie stderr flux standard d erreur Ces trois flux sont de type FILE mais sont non initialises de base c a d qu il ne contiennent pas forcement un numero de canal valide Ces flux sont notamment utilis s par printf stdout et scanf stdin Si un seul flux de donn e existe pour l application ou si il existe un flux de donn e privilegi il est plus f t de se servir de ces variables et d utiliser donc les formes printf et scanf aux formes fprintf et fscanf 7 1 point important au sujet de ces flux ARMCC definit les flux standards comme des variables definit comme suit FILE stdin FILE stdout FILE stderr GCC definit les flux standards comme des poi
4. e une liaison serie le plus souvent Pour etre le plus souple et adaptable possible ce support systeme est volontairement non cod et aboutit dans des fonctions contenues dans le fichier syscalls c non inclus dans la bibliotheque et que l utilisateur doit integrer dans son projet puis l adapater son besoin Pour plus d info se referer aux chapitres Utilisation de la bibliotheque et Description des fonctions contenues dans syscalls c 1 1 Limite de ce document Ce document se limite la version 1 00 de la minilib 2 Fonctions integr es la minilib Les fonctionnalit s suivent le decoupage existant au sein de la libc et que l on retrouve dans les fichiers en tete tel que stdio h ou stdlib h Pour plus d information concernant les fonctions list es ici se referer la norme ISO IEC C 99 e STDIO e STDLIB e CTYPE e printf e atoi e isalnum e fprintf e atol e isalpha e sprintf e strtol e isascii e sscanf e div e isblank e fputc e 1 e iscntrl e fgetc e abs e isdigit fputs e exit islower e fgets e assert e isprint e getchar e ispunct e putchar malloc e isspace e calloc isupper free e isxdigit e toascii tolower toupper e STRING e STRING suite e STRING fin bcmp mempcpv e stricpv bcopy memsetrindex e strlen e bzero e strcat strlwr e index e strchr e strncat memccpv e strcmp e strncmp memchr e strcoll e strncpv memcmp e strcpy e strnl
5. en memcpy e strespn e strrchr memmove e stricat e strsep e strspn e strstr e strupr 3 Utilisation de la bibliotheque 3 1 Sous KEIL a Utilisation avec GCC 1 Rajoutez le fichier syscalls c votre projet le template se trouve sous minilib syscalls template syscalls c 2 Adaptez les fonctions du fichier votre besoin voir le chapitre Description des fonctions contenues dans syscalls c propos des fonctions 3 Rajoutez le chemin vers libmini a dans l onglet du linker Options for Target Sim x Device Target Output Listing User CC Assembler Linker Debug Utilities Text Start Enable Garbage Collection Do not use Standard System Startup Files Data Start IV Do not use Standard System Libraries BSS Start Use Math Libraries Linker A Linker Script GCC ld g Wl gc sections ML static Edit Include Libraries Include Paths 1 Misc x controls sl Linker J T Linker_Script_GCC Id g Wl gc sections WL static mepuscortex m3 mthumb mthumb interwork a era o Aib mini elf string 4 Bien verifier dans la fenetre precedente que les bibliotheques standards et les fichiers startup standards ne sont pas utilises b Utilisation avec ARMCC 1 Rajoutez le fichier syscalls c votre projet le template se trouve sous minilib syscalls template syscalls c 2 Adaptez les fonctions du fichier votre besoin voir
6. nteurs sur variables definit comme suit FILE stdin FILE stdout FILE stderr Notons au passage que les noms de ces flux ne sont pas les m me selon que l on utilise une chaine GCC ou ARMCC 7 2 Utilisation concrete dans une application Voici un exemple minimal comment d utilisation des flux e Fichier main c define stdio h define missing_defs h FILE mon flux void main void mon flux file lt numero du 1 gt fprintf smon flux Hello world for e Fichier syscalls c int _write int file char ptr int len int index for index 0 index lt len index if file lt numero du canal gt fonction ecrire dans ce flux ptrlindex return len
7. ptions ffunctions section et fdata sections sont ajout es la ligne de commande du compilateur onglet CC sans cela au moment de l dition de lien GCC ne pourra pas supprimer les fonctions non utilis es code gros sans necessit 5 Options utilisables lors de la compilation de la bibliotheque Les clefs de compilation suivantes define sont utilisables avec la biliotheque PREFER SIZE OVER SPEED Utilis e essentiellement par les fonctions du repertoire string e Positionn e le code est plus compact mais plus lent e Desactiv e le code est plus efficace transfert 32 bits au lieu de 8 bits mais au prix d un code plus complexe 6 Description des fonctions contenues dans syscalls c e exit Utilis essentiellement par la fonction exit Par defaut contient une boucle infinie e kill Non utilis pour l instant e open Non utilis pour l instant e read Utilis par toute les fonctions lisant dans un flux fgetc fgets Renvoi un tableau d octet point par ptr d une longueur len remplit avec les donn es du flux file e write Utilis par toutes les fonctions ecrivant dans un flux fputc printf fprintf Transfert un tableau point par ptr d une longueur len dans le flux file e malloc Sert implementer le mecanisme d allocation memoire e free Compagnon de malloc 7 Un mot au sujet des fonctions utilisant le type FILE Des fonctions comme fprintf fputs fgets etc utilisent un p
Download Pdf Manuals
Related Search
Related Contents
MANUALE D`USO E MANUTENZIONE SAL55200 - All About Photographic Lenses Viper GC FAQ v. 4 MODE D`EMPLOI DATASCELL Mode d`emploi Top A421 ISDN LBT 7629B-A4 Panasonic Mini ECO-i Technical Data Manual Manual de Instruções Copyright © All rights reserved.
Failed to retrieve file