<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wikilegacy.armadeus.com/index.php?action=history&amp;feed=atom&amp;title=Talk%3ATrash_Fr%3AHelloWorld</id>
	<title>Talk:Trash Fr:HelloWorld - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wikilegacy.armadeus.com/index.php?action=history&amp;feed=atom&amp;title=Talk%3ATrash_Fr%3AHelloWorld"/>
	<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:Trash_Fr:HelloWorld&amp;action=history"/>
	<updated>2026-06-12T03:12:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:Trash_Fr:HelloWorld&amp;diff=11765&amp;oldid=prev</id>
		<title>FabienM: New page: Sur cette page, vous apprendrez à créer votre première application C pour votre carte Armadeus  ==Code source== * Premièrement, prenez votre éditeur/IDE préféré et créez le progra...</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:Trash_Fr:HelloWorld&amp;diff=11765&amp;oldid=prev"/>
		<updated>2013-04-10T09:15:04Z</updated>

		<summary type="html">&lt;p&gt;New page: Sur cette page, vous apprendrez à créer votre première application C pour votre carte Armadeus  ==Code source== * Premièrement, prenez votre éditeur/IDE préféré et créez le progra...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sur cette page, vous apprendrez à créer votre première application C pour votre carte Armadeus&lt;br /&gt;
&lt;br /&gt;
==Code source==&lt;br /&gt;
* Premièrement, prenez votre éditeur/IDE préféré et créez le programme suivant:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char *argv[])&lt;br /&gt;
 {&lt;br /&gt;
     printf( &amp;quot;APF9328 says: Hello World ! ;-)\n&amp;quot; );&lt;br /&gt;
     exit(0);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Enregistrez le sous &amp;#039;&amp;#039;hello.c&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Compilation==&lt;br /&gt;
Le compilateur croisé est installé dans &amp;#039;&amp;#039;armadeus/buildroot/build_arm/staging_dir/bin/&amp;#039;&amp;#039; et est appelé &amp;#039;&amp;#039;arm-linux-gcc&amp;#039;&amp;#039;&lt;br /&gt;
Il y a 2 façosn de l&amp;#039;utiliser:&lt;br /&gt;
* soit en ajoutant &amp;#039;&amp;#039;armadeus/buildroot/build_arm/staging_dir/bin/&amp;#039;&amp;#039; à votre variable d&amp;#039;environnement &amp;#039;&amp;#039;PATH&amp;#039;&amp;#039; et en appelant ensuite &amp;#039;&amp;#039;arm-linux-gcc&amp;#039;&amp;#039; au lien de &amp;#039;&amp;#039;gcc&amp;#039;&amp;#039;&lt;br /&gt;
* ou en appelant directement &amp;#039;&amp;#039;armadeus/buildroot/build_arm/staging_dir/bin/arm-linux-gcc&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ainsi, pour compiler votre petit programme, faites (ici hello.c a été enregistré dans le répertoire armadeus/target/demos/):&lt;br /&gt;
 [host demos]$ ../../buildroot/build_arm/staging_dir/bin/arm-linux-gcc -o hello hello.c&lt;br /&gt;
&lt;br /&gt;
==Fonctionnement==&lt;br /&gt;
Copiez votre exécutable &amp;#039;&amp;#039;hello&amp;#039;&amp;#039; sur votre carte soit par TFTP ou NFS.&lt;br /&gt;
===TFTP===&lt;br /&gt;
Assurez-vous d&amp;#039;avoir le serveur TFTP d&amp;#039;installé. [[Connection_with_U-Boot_on_Linux#TFTP_server| sinon, c&amp;#039;est expliqué ici]]&amp;lt;br&amp;gt;&lt;br /&gt;
Copiez &amp;#039;&amp;#039;hello&amp;#039;&amp;#039; dans votre répertoire TFTP:&lt;br /&gt;
 [host demos]$ cp hello /tftpboot/&lt;br /&gt;
Chargez votre exécutable sur votre cible (ici l&amp;#039;IP de mon hôte est 192.168.0.2):&lt;br /&gt;
 # tftp -g -r hello -l /usr/bin/hello 192.168.0.2&lt;br /&gt;
Donnez lui les droits exécutable, si perdus durant le transfert TFTP:&lt;br /&gt;
 # chmod a+x /usr/bin/hello&lt;br /&gt;
Lancez-le:&lt;br /&gt;
 # /usr/bin/hello&lt;br /&gt;
 APF9328 says: Hello World ! ;-)&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
Maintenant vous en êtes capable ! ;-)&lt;br /&gt;
&lt;br /&gt;
===NFS===&lt;br /&gt;
Assurez-vous d&amp;#039;avoir le serveur NFS installé, [[Network_Configuration| sinon, c&amp;#039;est expliqué ici]]&amp;lt;br&amp;gt;&lt;br /&gt;
Je considère que votre pilote NFS est accessible depuis &amp;#039;&amp;#039;/mnt/host&amp;#039;&amp;#039;&lt;br /&gt;
Lancez votre programme:&lt;br /&gt;
 [target]# /mnt/host/hello&lt;br /&gt;
&lt;br /&gt;
==En les mettant tous ensembles dans un Makefile==&lt;br /&gt;
Vous pouvez mettre compiler et copier votre programme dans un&amp;#039;&amp;#039;Makefile&amp;#039;&amp;#039; pour faire les choses proprement:&lt;br /&gt;
 CC=arm-linux-gcc&lt;br /&gt;
 CFLAGS=-W -Wall&lt;br /&gt;
 LDFLAGS=&lt;br /&gt;
 EXEC=hello&lt;br /&gt;
 SRC= $(wildcard *.c)&lt;br /&gt;
 OBJ= $(SRC:.c=.o)&lt;br /&gt;
 &lt;br /&gt;
 all: $(EXEC)&lt;br /&gt;
 &lt;br /&gt;
 hello: $(OBJ)&lt;br /&gt;
     $(CC) -o $@ $^ $(LDFLAGS)&lt;br /&gt;
 &lt;br /&gt;
 %.o: %.c&lt;br /&gt;
     $(CC) -o $@ -c $&amp;lt; $(CFLAGS)&lt;br /&gt;
 &lt;br /&gt;
 .PHONY: clean install&lt;br /&gt;
 &lt;br /&gt;
 clean:&lt;br /&gt;
     rm -rf *.o&lt;br /&gt;
     rm -f $(EXEC)&lt;br /&gt;
 &lt;br /&gt;
 install: all&lt;br /&gt;
     cp -f $(EXEC) /tftpboot/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;!! Si vous faites un copié&amp;amp;collé de la commande précédente, n&amp;#039;oubliez pas de les TABS de chaque cible(les Makefiles utilisent des TABS et non des  ESPACES) !! Dans ce cas, make se plaindra d&amp;#039;une séparateur manquant à la ligne 11&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ensuite, faites juste:&lt;br /&gt;
 [host demos]$ make clean install&lt;br /&gt;
&lt;br /&gt;
==Liens==&lt;br /&gt;
* [http://www.handhelds.org/minihowto/porting-software.html Things to know when porting x86 software to ARM]&lt;br /&gt;
* [http://gl.developpez.com/tutoriel/outil/makefile/ Les Makefiles, comment ça marche ?]&lt;br /&gt;
* [http://www.advancedlinuxprogramming-fr.org/doku.php Livre en ligne: Programmation Linux Avancée]&lt;br /&gt;
&lt;br /&gt;
{{LanguageBar|HelloWorld|HelloWorld|HelloWorld}}&lt;/div&gt;</summary>
		<author><name>FabienM</name></author>
	</entry>
</feed>