
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://armadeus.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JulienPeeters</id>
		<title>ArmadeusWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://armadeus.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JulienPeeters"/>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Special:Contributions/JulienPeeters"/>
		<updated>2026-04-06T09:59:07Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.3</generator>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=8872</id>
		<title>User:JulienPeeters</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=8872"/>
				<updated>2010-09-15T10:56:49Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Compétences &amp;amp; travaux de recherche (personnels) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Qui suis-je ? ==&lt;br /&gt;
[[Image:Tete_julien_bg.jpg]]&lt;br /&gt;
* Nom, Prénom: Peeters Julien&lt;br /&gt;
* Age: 23 ans&lt;br /&gt;
* Profession: Etudiant en dernière année d'école d'ingénieur, spécialité systèmes embarqués (+M2R architectures embarquées)&lt;br /&gt;
&lt;br /&gt;
== Qu'est-ce qui m'intéresse ? ==&lt;br /&gt;
* '''L'électronique''' m'intéresse depuis pas mal d'années. Plus particulièrement les systèmes embarqués et les systèmes de contrôle-commande. Si on peut rajouter des contraintes, type temps réel ou autre, j'en suis d'autant plus ravi! Bien que je vienne au départ du monde de l'informatique théorique, j'espère pouvoir augmenter mes compétences en électronique pour pouvoir allier les deux. J'ai aussi un petit faible pour la domotique.&lt;br /&gt;
&lt;br /&gt;
* '''L'informatique'''. Que dire, je suis tombé dedans tout petit comme pas mal de gens de ma génération. Ca a commencé comme une histoire de famille, c'est devenu ensuite une passion à plein temps. Je m'intéresse à la vérification de code, à la preuve des systèmes. Plutôt le côté formel donc.&lt;br /&gt;
&lt;br /&gt;
* '''Les logiciels libres''' ne sont pas seulement pour moi une part de l'informatique mais une véritable vision de la conception et de la réalisation des systèmes. C'est pour moi une véritable façon d'intégrer l'humain dans les productions industrielles (pour le moment majoritairement informatique, bien qu'on voit arriver des productions électroniques libres).&lt;br /&gt;
&lt;br /&gt;
* '''Nouvelles technologies'''. J'essaye autant que se peut, d'être au coeur de la veille technologique. Mais c'est pas forcément simple de part la nature même des informations recherchées.&lt;br /&gt;
&lt;br /&gt;
== Compétences &amp;amp; travaux de recherche (personnels) ==&lt;br /&gt;
&lt;br /&gt;
Je sais pas trop quoi mettre, je mets donc une copie (un peu baclée...) de mon CV et de ce sur quoi je me documente en ce moment. J'espère que ce sera pas trop pompeux...&lt;br /&gt;
&lt;br /&gt;
* '''Programmation''' (tous niveaux confondus): ASM (8086, PIC), C/C++, OCaml, JoCaml, Python, Erlang.&lt;br /&gt;
* '''Electronique''': ABEL, VHDL, SystemC, architectures multiprocesseurs.&lt;br /&gt;
* '''OS''': Linux(Debian, Ubuntu), Windows, MacOS X&lt;br /&gt;
* '''Technologie/Sciences''': compléxité, langages fonctionnels et impératif, noyau Linux, programmation concurrente et distribuée, design pattern, tolérances aux pannes, reseaux, détection de mouvements, implantation d'architectures, communication sur bus avec contraintes, ...&lt;br /&gt;
&lt;br /&gt;
== My board ==&lt;br /&gt;
&lt;br /&gt;
[[Image:little-board-jp.jpg|center|frame|APF9328 + DevLight v2 + custom casing]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=8871</id>
		<title>User:JulienPeeters</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=8871"/>
				<updated>2010-09-15T10:55:19Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Qui suis-je ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Qui suis-je ? ==&lt;br /&gt;
[[Image:Tete_julien_bg.jpg]]&lt;br /&gt;
* Nom, Prénom: Peeters Julien&lt;br /&gt;
* Age: 23 ans&lt;br /&gt;
* Profession: Etudiant en dernière année d'école d'ingénieur, spécialité systèmes embarqués (+M2R architectures embarquées)&lt;br /&gt;
&lt;br /&gt;
== Qu'est-ce qui m'intéresse ? ==&lt;br /&gt;
* '''L'électronique''' m'intéresse depuis pas mal d'années. Plus particulièrement les systèmes embarqués et les systèmes de contrôle-commande. Si on peut rajouter des contraintes, type temps réel ou autre, j'en suis d'autant plus ravi! Bien que je vienne au départ du monde de l'informatique théorique, j'espère pouvoir augmenter mes compétences en électronique pour pouvoir allier les deux. J'ai aussi un petit faible pour la domotique.&lt;br /&gt;
&lt;br /&gt;
* '''L'informatique'''. Que dire, je suis tombé dedans tout petit comme pas mal de gens de ma génération. Ca a commencé comme une histoire de famille, c'est devenu ensuite une passion à plein temps. Je m'intéresse à la vérification de code, à la preuve des systèmes. Plutôt le côté formel donc.&lt;br /&gt;
&lt;br /&gt;
* '''Les logiciels libres''' ne sont pas seulement pour moi une part de l'informatique mais une véritable vision de la conception et de la réalisation des systèmes. C'est pour moi une véritable façon d'intégrer l'humain dans les productions industrielles (pour le moment majoritairement informatique, bien qu'on voit arriver des productions électroniques libres).&lt;br /&gt;
&lt;br /&gt;
* '''Nouvelles technologies'''. J'essaye autant que se peut, d'être au coeur de la veille technologique. Mais c'est pas forcément simple de part la nature même des informations recherchées.&lt;br /&gt;
&lt;br /&gt;
== Compétences &amp;amp; travaux de recherche (personnels) ==&lt;br /&gt;
&lt;br /&gt;
Je sais pas trop quoi mettre, je mets donc une copie (un peu baclée...) de mon CV et de ce sur quoi je me documente en ce moment. J'espère que ce sera pas trop pompeux...&lt;br /&gt;
&lt;br /&gt;
* '''Programmation''' (tous niveaux confondus): ASM (8086, PIC), C/C++, Java, OCaml, JoCaml (OCaml concurrent et distribué basé sur le Join-Calculus), Python, PHP, Erlang.&lt;br /&gt;
* '''Electronique''': ABEL, VHDL (je débute), Architecture des processeurs (pipeline, ...), bus (I2C, CAN et MODBUS peut-être bientôt).&lt;br /&gt;
* '''OS''': Linux(Debian, Ubuntu), Windows, MacOS X&lt;br /&gt;
* '''Technologie/Sciences''': compléxité, langages fonctionnels et impératif, noyau Linux, programmation concurrente et distribuée, design pattern, tolérances aux pannes, reseaux, détection de mouvements, implantation d'architectures, communication sur bus avec contraintes, ...&lt;br /&gt;
&lt;br /&gt;
== My board ==&lt;br /&gt;
&lt;br /&gt;
[[Image:little-board-jp.jpg|center|frame|APF9328 + DevLight v2 + custom casing]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7565</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7565"/>
				<updated>2009-11-02T12:49:50Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* And in the add3 function ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What is done ? ===&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
=== And in the '''add3''' function ? ===&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== Result ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ ./a.out &lt;br /&gt;
data = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 &lt;br /&gt;
data (new) = 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC NEON intrinsics]&lt;br /&gt;
* [http://code.google.com/p/math-neon/source/browse/#svn/trunk Example of a mathematic library using NEON]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Architecture dependent]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7564</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7564"/>
				<updated>2009-11-02T12:49:22Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: Add the pretty print result&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What is done ? ===&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
=== And in the '''add3''' function ? ===&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== Result ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ ./a.out &lt;br /&gt;
data = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 &lt;br /&gt;
data (new) = 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC NEON intrinsics]&lt;br /&gt;
* [http://code.google.com/p/math-neon/source/browse/#svn/trunk Example of a mathematic library using NEON]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Architecture dependent]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7563</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7563"/>
				<updated>2009-11-02T12:31:20Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What is done ? ===&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
=== And in the '''add3''' function ? ===&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC NEON intrinsics]&lt;br /&gt;
* [http://code.google.com/p/math-neon/source/browse/#svn/trunk Example of a mathematic library using NEON]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Architecture dependent]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Category:Architecture_dependent&amp;diff=7562</id>
		<title>Category:Architecture dependent</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Category:Architecture_dependent&amp;diff=7562"/>
				<updated>2009-11-02T12:30:45Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: New page: Architecture dependent software articles ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Architecture dependent software articles ...&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7561</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7561"/>
				<updated>2009-11-02T12:29:03Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: Add categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What is done ? ===&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
=== And in the '''add3''' function ? ===&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC NEON intrinsics]&lt;br /&gt;
* [http://code.google.com/p/math-neon/source/browse/#svn/trunk Example of a mathematic library using NEON]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Architecture dependent]]&lt;br /&gt;
[[Category:SIMD]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7560</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7560"/>
				<updated>2009-11-02T12:23:39Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Let's go programming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What is done ? ===&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
=== And in the '''add3''' function ? ===&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC NEON intrinsics]&lt;br /&gt;
* [http://code.google.com/p/math-neon/source/browse/#svn/trunk Example of a mathematic library using NEON]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7559</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7559"/>
				<updated>2009-11-02T12:21:40Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Let's go programming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What is done ?&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
And in the '''add3''' function ?&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC NEON intrinsics]&lt;br /&gt;
* [http://code.google.com/p/math-neon/source/browse/#svn/trunk Example of a mathematic library using NEON]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7558</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7558"/>
				<updated>2009-11-02T12:20:54Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What is done ?&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
And in the '''add3''' function ?&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC NEON intrinsics]&lt;br /&gt;
* [http://code.google.com/p/math-neon/source/browse/#svn/trunk Example of a mathematic library using NEON]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7557</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7557"/>
				<updated>2009-11-02T12:20:33Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: Add links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What is done ?&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
And in the '''add3''' function ?&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC NEON intrinsics]&lt;br /&gt;
* [http://code.google.com/p/math-neon/source/browse/#svn/trunk Example of a mathematic library using NEON]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7556</id>
		<title>NEON HelloWorld</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=NEON_HelloWorld&amp;diff=7556"/>
				<updated>2009-11-02T12:18:15Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: Add a &amp;quot;Hello World&amp;quot; example with SIMD intrinsics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developing with SIMD instructions or intrinsics need a bit of experience. That is a complete different way of thinking and programming.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Install a emulation environment&lt;br /&gt;
* Build a GCC toolchain which support NEON intrinsics&lt;br /&gt;
&lt;br /&gt;
== Let's go programming ==&lt;br /&gt;
&lt;br /&gt;
Here is a brief example of what is possible with SIMD programming. This piece of code only add the value &amp;quot;3&amp;quot; to each value of the SIMD vector.&lt;br /&gt;
&lt;br /&gt;
On the Cortex-A platform there is both 64 bits and 128 bits vector registers. Here we use 128 bits ones then we can code sixteen 8 bits values (unsigned integers).&lt;br /&gt;
&lt;br /&gt;
{{Warning | Not all ARM Cortex processors have a NEON unit and old ARM processors may have a SIMD unit not compliant with NEON (cf. ARM reference manuals).}}&lt;br /&gt;
&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;
&lt;br /&gt;
#include &amp;quot;arm_neon.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void add3 (uint8x16_t *data) {&lt;br /&gt;
    /* Set each sixteen values of the vector to 3.&lt;br /&gt;
     *&lt;br /&gt;
     * Remark: a 'q' suffix to intrinsics indicates&lt;br /&gt;
     * the instruction run for 128 bits registers.&lt;br /&gt;
     */&lt;br /&gt;
    uint8x16_t three = vmovq_n_u8 (3);&lt;br /&gt;
&lt;br /&gt;
    /* Add 3 to the value given in argument. */&lt;br /&gt;
    *data = vaddq_u8 (*data, three);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_uint8 (uint8x16_t data, char* name) {&lt;br /&gt;
    int i;&lt;br /&gt;
    static uint8_t p[16];&lt;br /&gt;
&lt;br /&gt;
    vst1q_u8 (p, data);&lt;br /&gt;
&lt;br /&gt;
    printf (&amp;quot;%s = &amp;quot;, name);&lt;br /&gt;
    for (i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
	printf (&amp;quot;%02d &amp;quot;, p[i]);&lt;br /&gt;
    }&lt;br /&gt;
    printf (&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    /* Create custom arbitrary data. */&lt;br /&gt;
    const uint8_t uint8_data[] = { 1, 2, 3, 4, 5, 6, 7, 8,&lt;br /&gt;
				   9, 10, 11, 12, 13, 14, 15, 16 };&lt;br /&gt;
    /* Create the vector with our data. */&lt;br /&gt;
    uint8x16_t data;&lt;br /&gt;
&lt;br /&gt;
    /* Load our custom data into the vector register. */&lt;br /&gt;
    data = vld1q_u8 (uint8_data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    /* Call of the add3 function. */&lt;br /&gt;
    add3(&amp;amp;data);&lt;br /&gt;
&lt;br /&gt;
    print_uint8 (data, &amp;quot;data (new)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What is done ?&lt;br /&gt;
* We first create custom data: an array of 16 uint8_t values.&lt;br /&gt;
* We load the custom values in a vector register through the '''vld1q_u8''' intrinsic (note the 'q' suffix which means we use 128 registers)&lt;br /&gt;
* We call our '''add3''' function&lt;br /&gt;
&lt;br /&gt;
And in the '''add3''' function ?&lt;br /&gt;
* Because we use SIMD vectors and want to add 3 to each value we need to set the same value (3) with the '''vmovq_n_u8''' intrinsic&lt;br /&gt;
* We call the '''vaddq_u8''' intrinsic to do the addition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note | all sixteen values of each vector are compute in real parallelism}}&lt;br /&gt;
&lt;br /&gt;
=== How to compile ? ===&lt;br /&gt;
&lt;br /&gt;
The gcc options to give in order to compile NEON intrinsics in case of an ARM Cortex-A8 is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ gcc -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon &amp;lt;sources&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | Do not forget to include the &amp;quot;arm_neon.h&amp;quot; header file.}}&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Development&amp;diff=7555</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Development&amp;diff=7555"/>
				<updated>2009-11-02T11:52:23Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: Add a SIMD section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful information to develop software for your Armadeus board&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Project==&lt;br /&gt;
* [[Sources organisation | Armadeus project sources organisation]]&lt;br /&gt;
* [[SVN#Providing_modifications | How to submit patches with your modifications]]&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [[Toolchain|C/C++ Cross Compiler (Toolchain) installation]]&lt;br /&gt;
* [[SVN|SVN usage on Armadeus]] and the way to inform us about your changes&lt;br /&gt;
* [[GDB|Debugging with GDB and GDBserver]]&lt;br /&gt;
* [[QEMU | Simulate an Armadeus system under QEMU]]&lt;br /&gt;
* [[Eclipse| Eclipse IDE with GDB debugger]]&lt;br /&gt;
* [[ JTAG | Support JTAGKey and BDI2000 JTAG probes]]&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|&lt;br /&gt;
===Userland applications===&lt;br /&gt;
* [[HelloWorld | How to create your first Linux C application for your board]]&lt;br /&gt;
* [[HelloWorldCpp |How to create your first Linux C++ application for your board]]&lt;br /&gt;
* [[Automatically launch your application]]&lt;br /&gt;
* [[AsDevices | ARMadeus specific library]]&lt;br /&gt;
||&lt;br /&gt;
===Linux kernel development===&lt;br /&gt;
* [[kernel drivers status list|Kernel driver status list for the APF boards]]&lt;br /&gt;
* [[Linux Debug |Tips to debug under Linux]]&lt;br /&gt;
* [[Linux drivers development|Instructions to develop Linux drivers for Armadeus]]&lt;br /&gt;
* [[Linux on i.MXL|Resources available on i.MXL Linux kernel development]]&lt;br /&gt;
* [[Oops, Linux crashes | Interpreting Linux kernel Oops (crashes)]]&lt;br /&gt;
|----------------&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Graphical User Interface / Games===&lt;br /&gt;
* [[Qt/Embedded]] (Qtopia core 4.2)&lt;br /&gt;
* [[EFL|Enlightenment Foundation Libraries]]&lt;br /&gt;
* [[SDL Development|SDL]]&lt;br /&gt;
* [[Allegro|Allegro]]&lt;br /&gt;
* [[Mesa| Mesa 3D graphics library (OpenGL compatible)]]&lt;br /&gt;
* [[pygame]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Scripts===&lt;br /&gt;
* [[Perl development | Perl]]&lt;br /&gt;
* [[Python development | Python]]&lt;br /&gt;
* [[Lua development | Lua]]&lt;br /&gt;
|----------------&lt;br /&gt;
|&lt;br /&gt;
===Realtime applications===&lt;br /&gt;
* [[Xenomai]]&lt;br /&gt;
&lt;br /&gt;
|----------------&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Architecture dependent ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|&lt;br /&gt;
=== SIMD ===&lt;br /&gt;
* [[SIMD | What is SIMD?]]&lt;br /&gt;
* [[NEON HelloWorld | Hello World example in NEON]]&lt;br /&gt;
||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous software packages==&lt;br /&gt;
* [[Buildroot Packages | Adding packages to Buildroot]]&lt;br /&gt;
* [[Samba]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* Things to know when porting x86 software to ARM: http://www.handhelds.org/minihowto/porting-software.html&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=File:Little-board-jp.jpg&amp;diff=7265</id>
		<title>File:Little-board-jp.jpg</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=File:Little-board-jp.jpg&amp;diff=7265"/>
				<updated>2009-08-23T09:07:54Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=7264</id>
		<title>User:JulienPeeters</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=7264"/>
				<updated>2009-08-23T09:02:33Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Compétences &amp;amp; travaux de recherche (personnels) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Qui suis-je ? ==&lt;br /&gt;
[[Image:Tete_julien_bg.jpg]]&lt;br /&gt;
* Nom, Prénom: Peeters Julien&lt;br /&gt;
* Age: 22 ans&lt;br /&gt;
* Profession: Etudiant en 2e année d'école d'ingénieur, spécialité systèmes embarqués&lt;br /&gt;
&lt;br /&gt;
== Qu'est-ce qui m'intéresse ? ==&lt;br /&gt;
* '''L'électronique''' m'intéresse depuis pas mal d'années. Plus particulièrement les systèmes embarqués et les systèmes de contrôle-commande. Si on peut rajouter des contraintes, type temps réel ou autre, j'en suis d'autant plus ravi! Bien que je vienne au départ du monde de l'informatique théorique, j'espère pouvoir augmenter mes compétences en électronique pour pouvoir allier les deux. J'ai aussi un petit faible pour la domotique.&lt;br /&gt;
&lt;br /&gt;
* '''L'informatique'''. Que dire, je suis tombé dedans tout petit comme pas mal de gens de ma génération. Ca a commencé comme une histoire de famille, c'est devenu ensuite une passion à plein temps. Je m'intéresse à la vérification de code, à la preuve des systèmes. Plutôt le côté formel donc.&lt;br /&gt;
&lt;br /&gt;
* '''Les logiciels libres''' ne sont pas seulement pour moi une part de l'informatique mais une véritable vision de la conception et de la réalisation des systèmes. C'est pour moi une véritable façon d'intégrer l'humain dans les productions industrielles (pour le moment majoritairement informatique, bien qu'on voit arriver des productions électroniques libres).&lt;br /&gt;
&lt;br /&gt;
* '''Nouvelles technologies'''. J'essaye autant que se peut, d'être au coeur de la veille technologique. Mais c'est pas forcément simple de part la nature même des informations recherchées.&lt;br /&gt;
&lt;br /&gt;
== Compétences &amp;amp; travaux de recherche (personnels) ==&lt;br /&gt;
&lt;br /&gt;
Je sais pas trop quoi mettre, je mets donc une copie (un peu baclée...) de mon CV et de ce sur quoi je me documente en ce moment. J'espère que ce sera pas trop pompeux...&lt;br /&gt;
&lt;br /&gt;
* '''Programmation''' (tous niveaux confondus): ASM (8086, PIC), C/C++, Java, OCaml, JoCaml (OCaml concurrent et distribué basé sur le Join-Calculus), Python, PHP, Erlang.&lt;br /&gt;
* '''Electronique''': ABEL, VHDL (je débute), Architecture des processeurs (pipeline, ...), bus (I2C, CAN et MODBUS peut-être bientôt).&lt;br /&gt;
* '''OS''': Linux(Debian, Ubuntu), Windows, MacOS X&lt;br /&gt;
* '''Technologie/Sciences''': compléxité, langages fonctionnels et impératif, noyau Linux, programmation concurrente et distribuée, design pattern, tolérances aux pannes, reseaux, détection de mouvements, implantation d'architectures, communication sur bus avec contraintes, ...&lt;br /&gt;
&lt;br /&gt;
== My board ==&lt;br /&gt;
&lt;br /&gt;
[[Image:little-board-jp.jpg|center|frame|APF9328 + DevLight v2 + custom casing]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=GIT&amp;diff=7207</id>
		<title>GIT</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=GIT&amp;diff=7207"/>
				<updated>2009-08-12T13:47:03Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* How to use GIT (Armadeus integrators) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We have migrated our Source Code Management tool to GIT scm.&lt;br /&gt;
Therefore the Armadeus software release 3.1 is the last one available under SVN management tool.&lt;br /&gt;
This page aims to help you to use our new GIT tool.&lt;br /&gt;
&lt;br /&gt;
==Install GIT==&lt;br /&gt;
&lt;br /&gt;
Install the following packages:&lt;br /&gt;
 git-core gitk git-gui&lt;br /&gt;
&lt;br /&gt;
==How to use GIT (for everyone)==&lt;br /&gt;
&lt;br /&gt;
# [http://git-scm.com/course/svn.html GIT-SVN Crash course ]&lt;br /&gt;
# [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday GIT With 20 Commands Or So]&lt;br /&gt;
# [http://git-scm.com GIT website]&lt;br /&gt;
&lt;br /&gt;
*Get the Armadeus GIT/SF repository:&lt;br /&gt;
{{Note| This is Read Only method &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ git clone git://armadeus.git.sourceforge.net/gitroot/armadeus armadeus &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
*Get the GIT/SF repository in Read/Write mode (for integrators only):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ git clone ssh://USER@armadeus.git.sourceforge.net/gitroot/armadeus armadeus &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to use GIT (Armadeus integrators)==&lt;br /&gt;
* Before first commit define your global personnal data:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git config --global user.name &amp;quot;James Bond&amp;quot;&lt;br /&gt;
$ git config --global user.email &amp;quot;james.bond@007.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Do your changes and commit to your '''local''' repository (here add ''fileorpath''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git add fileorpath&lt;br /&gt;
$ git commit -m 'Explain what I changed'&lt;br /&gt;
or &lt;br /&gt;
$ git commit -a -m 'Explain what I changed'        (if you have local modifications (=not versioned files) and wants GIT to ignore them)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Update your repository to the latest version on SF:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If git pull fails with an error: &amp;quot;Untracked working tree file '{SOMEFILE}'&amp;quot;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ rm -rf {SOMEFILE}&lt;br /&gt;
$ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If you have modified some armadeus files and want to revert your changes&amp;quot;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ rm -rf buildroot/package&lt;br /&gt;
$ rm -rf buildroot/target&lt;br /&gt;
$ rm -rf buildroot/toolchain&lt;br /&gt;
$ git checkout -f&lt;br /&gt;
$ make apf9328_defconfig or make apf27_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | The command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clean -dfx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
cleans the working repository as like it was after the clone or the last rebase.}}&lt;br /&gt;
&lt;br /&gt;
*Push your changes to SF:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git push&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Tag a revision:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git tag -m &amp;quot;Creates TAG for Armadeus 3.1 release&amp;quot; release-3.1&lt;br /&gt;
$ git push --tags origin master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GIT to do list==&lt;br /&gt;
*To update to support git:&lt;br /&gt;
# release/change.sh&lt;br /&gt;
# buildroot/target/device/armadeus/linux/kernel-patches/move-patches.sh&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=GIT&amp;diff=7206</id>
		<title>GIT</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=GIT&amp;diff=7206"/>
				<updated>2009-08-12T13:45:49Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* How to use GIT (Armadeus integrators) - How to clean a GIT repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We have migrated our Source Code Management tool to GIT scm.&lt;br /&gt;
Therefore the Armadeus software release 3.1 is the last one available under SVN management tool.&lt;br /&gt;
This page aims to help you to use our new GIT tool.&lt;br /&gt;
&lt;br /&gt;
==Install GIT==&lt;br /&gt;
&lt;br /&gt;
Install the following packages:&lt;br /&gt;
 git-core gitk git-gui&lt;br /&gt;
&lt;br /&gt;
==How to use GIT (for everyone)==&lt;br /&gt;
&lt;br /&gt;
# [http://git-scm.com/course/svn.html GIT-SVN Crash course ]&lt;br /&gt;
# [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday GIT With 20 Commands Or So]&lt;br /&gt;
# [http://git-scm.com GIT website]&lt;br /&gt;
&lt;br /&gt;
*Get the Armadeus GIT/SF repository:&lt;br /&gt;
{{Note| This is Read Only method &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ git clone git://armadeus.git.sourceforge.net/gitroot/armadeus armadeus &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
*Get the GIT/SF repository in Read/Write mode (for integrators only):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ git clone ssh://USER@armadeus.git.sourceforge.net/gitroot/armadeus armadeus &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to use GIT (Armadeus integrators)==&lt;br /&gt;
* Before first commit define your global personnal data:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git config --global user.name &amp;quot;James Bond&amp;quot;&lt;br /&gt;
$ git config --global user.email &amp;quot;james.bond@007.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Do your changes and commit to your '''local''' repository (here add ''fileorpath''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git add fileorpath&lt;br /&gt;
$ git commit -m 'Explain what I changed'&lt;br /&gt;
or &lt;br /&gt;
$ git commit -a -m 'Explain what I changed'        (if you have local modifications (=not versioned files) and wants GIT to ignore them)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Update your repository to the latest version on SF:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If git pull fails with an error: &amp;quot;Untracked working tree file '{SOMEFILE}'&amp;quot;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ rm -rf {SOMEFILE}&lt;br /&gt;
$ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If you have modified some armadeus files and want to revert your changes&amp;quot;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ rm -rf buildroot/package&lt;br /&gt;
$ rm -rf buildroot/target&lt;br /&gt;
$ rm -rf buildroot/toolchain&lt;br /&gt;
$ git checkout -f&lt;br /&gt;
$ make apf9328_defconfig or make apf27_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note | The command &amp;quot;git clean -dfx&amp;quot; cleans the working repository as like it was after the clone or the last rebase.}}&lt;br /&gt;
&lt;br /&gt;
*Push your changes to SF:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git push&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Tag a revision:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
$ git tag -m &amp;quot;Creates TAG for Armadeus 3.1 release&amp;quot; release-3.1&lt;br /&gt;
$ git push --tags origin master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GIT to do list==&lt;br /&gt;
*To update to support git:&lt;br /&gt;
# release/change.sh&lt;br /&gt;
# buildroot/target/device/armadeus/linux/kernel-patches/move-patches.sh&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=ArmadeusWiki:Current_events&amp;diff=7062</id>
		<title>ArmadeusWiki:Current events</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=ArmadeusWiki:Current_events&amp;diff=7062"/>
				<updated>2009-07-11T21:43:03Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Assembly General / LSN 2009 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Assembly General / LSN 2009==&lt;br /&gt;
* On Wednesday July 8 2009 occurred the General Assembly in Nantes (France)&lt;br /&gt;
{|border=0 summary=&amp;quot;Photos&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|[[Image:GA2009-01.jpg|thumb|center|JulienB ]] || [[Image:GA2009-02.jpg|thumb|center| ]] ||  [[Image:GA2009-03.jpg|thumb|center| ]] || [[Image:GA2009-04.jpg|thumb|center|JulienP (very serious)]] ||  [[Image:GA2009-05.jpg|thumb|center| ]]&lt;br /&gt;
|----------------&lt;br /&gt;
| [[Image:GA2009-07.jpg|thumb|center| ]] ||  [[Image:GA2009-08.jpg|thumb|center|L2R: GillesD, JeanFrancoisR ]] || [[Image:GA2009-09.jpg|thumb|center| ]] ||  [[Image:GA2009-10.jpg|thumb|center| ]] || [[Image:GA2009-11.jpg|thumb|center|L2R: ]] &lt;br /&gt;
|----------------&lt;br /&gt;
| [[Image:GA2009-12.jpg|thumb|center|L2R:YoannC, GillesD, JeanFrancoisR ]] ||  [[Image:GA2009-15.jpg|thumb|center| L2R:JulienB, YvanR (explaining its project)]] ||  [[Image:GA2009-17.jpg|thumb|center|L2R:JulienB, YvanR (explaining its project) ]] ||  [[Image:GA2009-21.jpg|thumb|center|L2R:JulienB, YvanR: 2008 contest price award ]] || [[Image:GA2009-22.jpg|thumb|center|L2R:JulienB, YvanR: 2008 contest price award ]]   &lt;br /&gt;
|----------------&lt;br /&gt;
|   [[Image:GA2009-23.jpg|thumb|center|L2R:JulienB, FabienM, NicolasC: at the hotel ]] &lt;br /&gt;
|----------------&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LSN 2008==&lt;br /&gt;
* On 1st to 3rd July 2008 we attended the [http://2008.rmll.info/ RMLL at Mont de Marsan]:&lt;br /&gt;
** [http://free-electrons.com/pub/video/2008/rmll/rmll2008-julien-boibessot-nicolas-colombain-fabien-marteau-armadeus.ogg Video of Embedded systems conference]&lt;br /&gt;
** [http://2008.rmll.info/IMG/pdf/armadeus.pdf sides of the conference is available here]&lt;br /&gt;
&lt;br /&gt;
==General Assembly 2008==&lt;br /&gt;
* On Saturday Mar. 9th 2008 occurred the General Assembly in Mulhouse (France).&lt;br /&gt;
&lt;br /&gt;
{|border=0 summary=&amp;quot;Photos&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|[[Image:AG2008_01.jpg|thumb|center|L2R: Nicolas, Frédéric and Fabien]] || [[Image:AG2008_02.jpg|thumb|center|Nicolas and Frédéric]] || [[Image:AG2008_03.jpg|thumb|center|Julien, Michael and Fabrice]]&lt;br /&gt;
|----------------&lt;br /&gt;
|[[Image:AG2008_04.jpg|thumb|center|L2R: Nicolas and Frédéric ]] || [[Image:AG2008_05.jpg|thumb|center| L2R: Fabrice and Eric]] || [[Image:AG2008_06.jpg|thumb|center| everyone ;-)]] ||&lt;br /&gt;
|----------------&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General Assembly 2007==&lt;br /&gt;
* On Saturday Feb. 17th 2007 occured the annual meeting in Mulhouse (France).&lt;br /&gt;
&lt;br /&gt;
{|border=0 summary=&amp;quot;Photos&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|[[Image:ArmadeusAM07-1.JPG|thumb|center| L2R: Paola, Nicolas, Julien, Sébastien, Michael]] || [[Image:ArmadeusAM07-2.JPG|thumb|center|Paola, Michael]] || [[Image:ArmadeusAM07-3.JPG|thumb|center|Michael, Eric, Fabrice, Frédéric, Julien]]&lt;br /&gt;
|----------------&lt;br /&gt;
|[[Image:ArmadeusAM07-4.JPG|thumb|center|L2R: Eric, Fabrice, Frédéric,Nicolas, Julien, Michael]] || [[Image:ArmadeusAM07-5.JPG|thumb|center|again ;-)]] || &lt;br /&gt;
|----------------&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Communicate&amp;diff=6723</id>
		<title>Communicate</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Communicate&amp;diff=6723"/>
				<updated>2009-06-13T18:11:44Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Server configuration: errata on tftp configuration with xinetd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
How-To connect your Armadeus board to your development Host.&lt;br /&gt;
&lt;br /&gt;
==Forewords==&lt;br /&gt;
The default connection uses a simple RS232 Null-Modem cable (with or without USB&amp;lt;-&amp;gt;serial adapter). &amp;lt;br&amp;gt;&lt;br /&gt;
As you will have to transfer some mega bytes of data, the Ethernet link is mandatory.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to use these two media with the APF target a terminal emulator (for RS232 link) and a TFTP server (for Ethernet link) have to be configured.&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
At this stage, you should have something looking like that (IP addresses may change):&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:BoardConnection.png]]&lt;br /&gt;
&lt;br /&gt;
{{:RS232 Terminal configuration}}&lt;br /&gt;
&lt;br /&gt;
==TFTP server==&lt;br /&gt;
In order to send your image files (U-Boot, Linux, rootfs or FPGA's firmware) at higher speed (than serial port) to your Armadeus board, you can use the Ethernet link and [http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol a TFTP server].&lt;br /&gt;
Once the server configured, the files located in the server shared directory (''/tftpboot'' by default) will be accessible from the U-Boot/Linux TFTP clients.&lt;br /&gt;
&lt;br /&gt;
===TFTP server installation===  &lt;br /&gt;
* On *Ubuntu / Debian:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
  [  ] $ sudo apt-get install tftpd xinetd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or use your preferred graphical package manager&lt;br /&gt;
* On Fedora:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
  [  ] $ rpm -q tftpd xinetd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Then create the directory (''/tftpboot/'') that will contain all the files that the server will export:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
  [  ] $ sudo mkdir /tftpboot&lt;br /&gt;
  [  ] $ sudo chmod 777 /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Server configuration===  &lt;br /&gt;
* Edit (as root user) or create the configuration file ''/etc/xinetd.d/tftp'' and modify/add it the following lines:&lt;br /&gt;
 # default: off&lt;br /&gt;
 # description: The tftp server serves files using the trivial file transfer&lt;br /&gt;
 #       protocol.  The tftp protocol is often used to boot diskless&lt;br /&gt;
 #       workstations, download configuration files to network-aware printers,&lt;br /&gt;
 #       and to start the installation process for some operating systems.&lt;br /&gt;
 service tftp&lt;br /&gt;
 {&lt;br /&gt;
        socket_type             = dgram&lt;br /&gt;
        protocol                = udp&lt;br /&gt;
        wait                    = yes&lt;br /&gt;
        user                    = root&lt;br /&gt;
        server                  = /usr/sbin/in.tftpd&lt;br /&gt;
        server_args             = -s /tftpboot&lt;br /&gt;
 #       disable                 = yes&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Restart xinetd service:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
  [  ] $ sudo killall -HUP xinetd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
For more information regarding how-to setup a tftp server please check one of many web how-to:&lt;br /&gt;
* [http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch16_:_Telnet,_TFTP,_and_xinetd#TFTP TFTP server quick how-to]&lt;br /&gt;
* [https://linuxlink.timesys.com/docs/linux_tftp Another how-to configure a TFTP Server for Linux]&lt;br /&gt;
* [http://www.webune.com/forums/how-to-install-tftp-server-in-linux.html till another how-to...]&lt;br /&gt;
* [http://doc.ubuntu-fr.org/tftpd ubuntu TFTP server documentation in French]&lt;br /&gt;
&lt;br /&gt;
==== Errata ====&lt;br /&gt;
&lt;br /&gt;
It looks like xinetd configuration is not sufficient in new versions. IPv6 is enabled by default and seems to be not compatible with the TFTP protocol. A simple inetd configuration should work for people who have this problem (''connection refused'' in logs with addresses like ::ffff:192.168.0.100).&lt;br /&gt;
&lt;br /&gt;
* Edit (as root user) - if necessary - the ''/etc/inetd.conf'' file and add this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp		dgram	udp	wait	nobody	/usr/sbin/tcpd	/usr/sbin/in.tftpd -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install inetd tools&lt;br /&gt;
&lt;br /&gt;
On Ubuntu/Debian&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
armadeus# sudo apt-get install inetutils-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Setup the hosts rules: edit (ass root user) ''/etc/hosts.allow'' and add the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
in.tftpd: ALL&lt;br /&gt;
tftpd: ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Restart inetd&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
armadeus# sudo /etc/init.d/openbsd-inet restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It's done... and should work for most people.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://www.columbia.edu/kermit/ Kermit Homepage]&lt;br /&gt;
* [http://www.jls-info.com/julien/linux/ GTKTerm Homepage]&lt;br /&gt;
* [http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch16_:_Telnet,_TFTP,_and_xinetd#TFTP TFTP server quick how-to]&lt;br /&gt;
* [https://linuxlink.timesys.com/docs/linux_tftp Another how-to configure a TFTP Server for Linux]&lt;br /&gt;
* [http://www.webune.com/forums/how-to-install-tftp-server-in-linux.html till another how-to...]&lt;br /&gt;
* [http://doc.ubuntu-fr.org/tftpd ubuntu TFTP server documentation in French]&lt;br /&gt;
* [[Windows uBoot Connection | configuring RS-232 and TFTP on Windows to communicate with your board]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=6218</id>
		<title>User:JulienPeeters</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=6218"/>
				<updated>2009-03-23T20:25:39Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Compétences &amp;amp; travaux de recherche (personnels) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Qui suis-je ? ==&lt;br /&gt;
[[Image:Tete_julien_bg.jpg]]&lt;br /&gt;
* Nom, Prénom: Peeters Julien&lt;br /&gt;
* Age: 22 ans&lt;br /&gt;
* Profession: Etudiant en 2e année d'école d'ingénieur, spécialité systèmes embarqués&lt;br /&gt;
&lt;br /&gt;
== Qu'est-ce qui m'intéresse ? ==&lt;br /&gt;
* '''L'électronique''' m'intéresse depuis pas mal d'années. Plus particulièrement les systèmes embarqués et les systèmes de contrôle-commande. Si on peut rajouter des contraintes, type temps réel ou autre, j'en suis d'autant plus ravi! Bien que je vienne au départ du monde de l'informatique théorique, j'espère pouvoir augmenter mes compétences en électronique pour pouvoir allier les deux. J'ai aussi un petit faible pour la domotique.&lt;br /&gt;
&lt;br /&gt;
* '''L'informatique'''. Que dire, je suis tombé dedans tout petit comme pas mal de gens de ma génération. Ca a commencé comme une histoire de famille, c'est devenu ensuite une passion à plein temps. Je m'intéresse à la vérification de code, à la preuve des systèmes. Plutôt le côté formel donc.&lt;br /&gt;
&lt;br /&gt;
* '''Les logiciels libres''' ne sont pas seulement pour moi une part de l'informatique mais une véritable vision de la conception et de la réalisation des systèmes. C'est pour moi une véritable façon d'intégrer l'humain dans les productions industrielles (pour le moment majoritairement informatique, bien qu'on voit arriver des productions électroniques libres).&lt;br /&gt;
&lt;br /&gt;
* '''Nouvelles technologies'''. J'essaye autant que se peut, d'être au coeur de la veille technologique. Mais c'est pas forcément simple de part la nature même des informations recherchées.&lt;br /&gt;
&lt;br /&gt;
== Compétences &amp;amp; travaux de recherche (personnels) ==&lt;br /&gt;
&lt;br /&gt;
Je sais pas trop quoi mettre, je mets donc une copie (un peu baclée...) de mon CV et de ce sur quoi je me documente en ce moment. J'espère que ce sera pas trop pompeux...&lt;br /&gt;
&lt;br /&gt;
* '''Programmation''' (tous niveaux confondus): ASM (8086, PIC), C/C++, Java, OCaml, JoCaml (OCaml concurrent et distribué basé sur le Join-Calculus), Python, PHP, Erlang.&lt;br /&gt;
* '''Electronique''': ABEL, VHDL (je débute), Architecture des processeurs (pipeline, ...), bus (I2C, CAN et MODBUS peut-être bientôt).&lt;br /&gt;
* '''OS''': Linux(Debian, Ubuntu), Windows, MacOS X&lt;br /&gt;
* '''Technologie/Sciences''': compléxité, langages fonctionnels et impératif, noyau Linux, programmation concurrente et distribuée, design pattern, tolérances aux pannes, reseaux, détection de mouvements, implantation d'architectures, communication sur bus avec contraintes, ...&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=6217</id>
		<title>User:JulienPeeters</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=6217"/>
				<updated>2009-03-23T20:23:03Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Qu'est-ce qui m'intéresse ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Qui suis-je ? ==&lt;br /&gt;
[[Image:Tete_julien_bg.jpg]]&lt;br /&gt;
* Nom, Prénom: Peeters Julien&lt;br /&gt;
* Age: 22 ans&lt;br /&gt;
* Profession: Etudiant en 2e année d'école d'ingénieur, spécialité systèmes embarqués&lt;br /&gt;
&lt;br /&gt;
== Qu'est-ce qui m'intéresse ? ==&lt;br /&gt;
* '''L'électronique''' m'intéresse depuis pas mal d'années. Plus particulièrement les systèmes embarqués et les systèmes de contrôle-commande. Si on peut rajouter des contraintes, type temps réel ou autre, j'en suis d'autant plus ravi! Bien que je vienne au départ du monde de l'informatique théorique, j'espère pouvoir augmenter mes compétences en électronique pour pouvoir allier les deux. J'ai aussi un petit faible pour la domotique.&lt;br /&gt;
&lt;br /&gt;
* '''L'informatique'''. Que dire, je suis tombé dedans tout petit comme pas mal de gens de ma génération. Ca a commencé comme une histoire de famille, c'est devenu ensuite une passion à plein temps. Je m'intéresse à la vérification de code, à la preuve des systèmes. Plutôt le côté formel donc.&lt;br /&gt;
&lt;br /&gt;
* '''Les logiciels libres''' ne sont pas seulement pour moi une part de l'informatique mais une véritable vision de la conception et de la réalisation des systèmes. C'est pour moi une véritable façon d'intégrer l'humain dans les productions industrielles (pour le moment majoritairement informatique, bien qu'on voit arriver des productions électroniques libres).&lt;br /&gt;
&lt;br /&gt;
* '''Nouvelles technologies'''. J'essaye autant que se peut, d'être au coeur de la veille technologique. Mais c'est pas forcément simple de part la nature même des informations recherchées.&lt;br /&gt;
&lt;br /&gt;
== Compétences &amp;amp; travaux de recherche (personnels) ==&lt;br /&gt;
&lt;br /&gt;
Je sais pas trop quoi mettre, je mets donc une copie (un peu baclée...) de mon CV et de ce sur quoi je me documente en ce moment. J'espère que ce sera pas trop pompeux...&lt;br /&gt;
&lt;br /&gt;
* '''Programmation''' (tous niveaux confondus): ASM (8086, PIC), C/C++, Java, OCaml, JoCaml (OCaml concurrent et distribué basé sur le Join-Calculus), Python, PHP, Erlang.&lt;br /&gt;
* '''Electronique''': pas encore grand chose. Surtout l'électronique numérique du fait que je vienne de l'informatique.&lt;br /&gt;
* '''OS''': Linux(Debian, Ubuntu), Windows(mais je dois l'allumer 2 fois par an), MacOS X&lt;br /&gt;
* '''Informatique-Mathématiques''': compléxité, langages fonctionnels et impératif, noyau Linux (un peu), programmation concurrente et distribuée, design pattern, tolérances aux pannes, reseaux, détection de mouvements, ...&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=6216</id>
		<title>User:JulienPeeters</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JulienPeeters&amp;diff=6216"/>
				<updated>2009-03-23T20:21:30Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Qui suis-je ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Qui suis-je ? ==&lt;br /&gt;
[[Image:Tete_julien_bg.jpg]]&lt;br /&gt;
* Nom, Prénom: Peeters Julien&lt;br /&gt;
* Age: 22 ans&lt;br /&gt;
* Profession: Etudiant en 2e année d'école d'ingénieur, spécialité systèmes embarqués&lt;br /&gt;
&lt;br /&gt;
== Qu'est-ce qui m'intéresse ? ==&lt;br /&gt;
* '''L'électronique''' m'intéresse depuis pas mal d'années. Plus particulièrement les systèmes embarqués et les systèmes de contrôle-commande. Si on peut rajouter des contraintes, type temps réel ou autre, j'en suis d'autant plus ravi! Bien que je vienne au départ du monde de l'informatique théorique, j'espère pouvoir augmenter mes compétences en électronique pour pouvoir allier les deux. J'ai aussi un petit faible pour la domotique.&lt;br /&gt;
&lt;br /&gt;
* '''L'informatique'''. Que dire, je suis tombé dedans tout petit comme pas mal de gens de ma génération. Ca a commencé comme une histoire de famille, c'est devenu ensuite une passion à plein temps. Je m'intéresse à la vérification de code, à la preuve des systèmes. Beaucoup de maths quoi. Je fais pas mal d'OCaml en ce moment pour ceux qui connaissent.&lt;br /&gt;
&lt;br /&gt;
* '''Les logiciels libres''' ne sont pas seulement pour moi une part de l'informatique mais une véritable vision de la conception et de la réalisation de produits. C'est pour moi une véritable façon d'intégrer l'humain dans les productions industrielles (pour le moment majoritairement informatique, bien qu'on voit arriver des productions électroniques libres).&lt;br /&gt;
&lt;br /&gt;
* '''Nouvelles technologies'''. J'essaye autant que se peut, d'être au coeur de la veille technologique. Mais c'est pas forcément simple de part la nature même des informations recherchées.&lt;br /&gt;
&lt;br /&gt;
== Compétences &amp;amp; travaux de recherche (personnels) ==&lt;br /&gt;
&lt;br /&gt;
Je sais pas trop quoi mettre, je mets donc une copie (un peu baclée...) de mon CV et de ce sur quoi je me documente en ce moment. J'espère que ce sera pas trop pompeux...&lt;br /&gt;
&lt;br /&gt;
* '''Programmation''' (tous niveaux confondus): ASM (8086, PIC), C/C++, Java, OCaml, JoCaml (OCaml concurrent et distribué basé sur le Join-Calculus), Python, PHP, Erlang.&lt;br /&gt;
* '''Electronique''': pas encore grand chose. Surtout l'électronique numérique du fait que je vienne de l'informatique.&lt;br /&gt;
* '''OS''': Linux(Debian, Ubuntu), Windows(mais je dois l'allumer 2 fois par an), MacOS X&lt;br /&gt;
* '''Informatique-Mathématiques''': compléxité, langages fonctionnels et impératif, noyau Linux (un peu), programmation concurrente et distribuée, design pattern, tolérances aux pannes, reseaux, détection de mouvements, ...&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Contest&amp;diff=4965</id>
		<title>Contest</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Contest&amp;diff=4965"/>
				<updated>2008-11-17T06:29:29Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Projects List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Association Contest'''&lt;br /&gt;
&lt;br /&gt;
On this page, you will find all the usefull informations to participate to the Armadeus Project Association Contest&lt;br /&gt;
&lt;br /&gt;
==What is it and why ?==&lt;br /&gt;
After one year of existence, the association has generated enough cash to promote or speed up internal developments.&lt;br /&gt;
Several proposals have been sent to the members and during the last annual meeting, it has been decided to use a part of these funds to organize a contest.&lt;br /&gt;
The goal of this contest is to increase the number of applications developped by the members.  &lt;br /&gt;
&lt;br /&gt;
==Who can participate ?==&lt;br /&gt;
The members of the association (ie the people who already have an APF9328 board). &lt;br /&gt;
This is a restrictive point, but we consider that a common development system is mandatory to share the work.&lt;br /&gt;
&lt;br /&gt;
== The rules ==&lt;br /&gt;
* The projects have to be registered before: December 31 2008&lt;br /&gt;
* The participant(s) is a (are) member(s) of the Armadeus Project association&lt;br /&gt;
* The whole sources and the schematics have to be publicly available and usable (GPL/LGPL)&lt;br /&gt;
* Hardware or/and software applications can be proposed&lt;br /&gt;
* A wiki page is mandatory and must contain ([[Contest_Template_Page|here is a template]]):&lt;br /&gt;
** a description of the project (a few words)&lt;br /&gt;
** the name(s) of the member(s)&lt;br /&gt;
** the documentation to use the application, to compile the sources and to build the hardware&lt;br /&gt;
* No special components have to be used (for electronics projects): all must be easily purchased&lt;br /&gt;
* Registration is done by adding the link of the wiki page to the list below&lt;br /&gt;
* The jury is composed of all the interested Armadeus Project members (min 5 members) and will have one month to deliberate after the contest closure. The vote will be done by email and have to be sent to contest(at)armadeus(dot)org&lt;br /&gt;
&lt;br /&gt;
== The awards==&lt;br /&gt;
* First award: an [[APF27]] kit (APF27 + corresponding dev board + TFT LQ043 and adapter board)&lt;br /&gt;
* Second award: an APF9328 kit ([[APF9328]] + [[APF9328DevFull]] + TFT LQ043 and adapter board)&lt;br /&gt;
* Third award: an [[APF9328]] + [[APF9328DevFull]]&lt;br /&gt;
&lt;br /&gt;
==Projects List==&lt;br /&gt;
* [[FireBoard | FireBoard, development cards emulation project]] (in pause)&lt;br /&gt;
* [[MotionSystem | MotionSystem, R/C Servos Controller and Motion Measurement]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=File:Tete_julien_bg.jpg&amp;diff=4681</id>
		<title>File:Tete julien bg.jpg</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=File:Tete_julien_bg.jpg&amp;diff=4681"/>
				<updated>2008-09-27T20:33:44Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: uploaded a new version of &amp;quot;Image:Tete julien bg.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=File:Tete_julien_bg.jpg&amp;diff=4680</id>
		<title>File:Tete julien bg.jpg</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=File:Tete_julien_bg.jpg&amp;diff=4680"/>
				<updated>2008-09-27T20:30:46Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: uploaded a new version of &amp;quot;Image:Tete julien bg.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4679</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4679"/>
				<updated>2008-09-27T20:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
'''See FireBoard project in the [[Contest | Contest 2008]] page.'''&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation system core ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations independently of targets.&lt;br /&gt;
&lt;br /&gt;
The entry point of Qemu is placed in the vl.c file. After reading it, you could see that the major part of Qemu is contained in it. Every functions you should need to talk with the emulated environment are defined there. In consequences, the first point of our work is to understand the behavior of Qemu through these lines.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ===&lt;br /&gt;
&lt;br /&gt;
It's not already clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4678</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4678"/>
				<updated>2008-09-27T20:27:45Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
'''See FireBoard project in the Contest 2008 page [[Contest]].'''&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation system core ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations independently of targets.&lt;br /&gt;
&lt;br /&gt;
The entry point of Qemu is placed in the vl.c file. After reading it, you could see that the major part of Qemu is contained in it. Every functions you should need to talk with the emulated environment are defined there. In consequences, the first point of our work is to understand the behavior of Qemu through these lines.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ===&lt;br /&gt;
&lt;br /&gt;
It's not already clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4677</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4677"/>
				<updated>2008-09-27T20:27:30Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
See FireBoard project in the Contest 2008 page [[Contest]].&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation system core ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations independently of targets.&lt;br /&gt;
&lt;br /&gt;
The entry point of Qemu is placed in the vl.c file. After reading it, you could see that the major part of Qemu is contained in it. Every functions you should need to talk with the emulated environment are defined there. In consequences, the first point of our work is to understand the behavior of Qemu through these lines.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ===&lt;br /&gt;
&lt;br /&gt;
It's not already clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4676</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4676"/>
				<updated>2008-09-27T20:25:48Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Source trees */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation system core ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations independently of targets.&lt;br /&gt;
&lt;br /&gt;
The entry point of Qemu is placed in the vl.c file. After reading it, you could see that the major part of Qemu is contained in it. Every functions you should need to talk with the emulated environment are defined there. In consequences, the first point of our work is to understand the behavior of Qemu through these lines.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ===&lt;br /&gt;
&lt;br /&gt;
It's not already clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=FireBoard&amp;diff=4369</id>
		<title>FireBoard</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=FireBoard&amp;diff=4369"/>
				<updated>2008-06-29T20:27:51Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Project Description==&lt;br /&gt;
&lt;br /&gt;
The aim of our project is to make a modular emulator for Armadeus development boards.&lt;br /&gt;
&lt;br /&gt;
The software will be based on the [http://softgun.sourceforge.net SoftGun emulator]. It'll be able to emulate the apf9328 with dev light kit.&lt;br /&gt;
&lt;br /&gt;
A XML file will describe the system architecture and connection between devices. An engine will parse the XML file and make the emulator for the requested architecture (connect virtual devices together).&lt;br /&gt;
&lt;br /&gt;
==Participating Armadeus members==&lt;br /&gt;
* [[User:JulienPeeters]]&lt;br /&gt;
* [[User:MatthieuT]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project data==&lt;br /&gt;
===Link to software sources and the way to build it===&lt;br /&gt;
(comming soon)&lt;br /&gt;
&lt;br /&gt;
===Link to hardware schematics (if any)===&lt;br /&gt;
(comming soon)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to use the project==&lt;br /&gt;
(comming soon)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://www.armadeus.com/wiki/index.php?title=QemuMachineDevelopment QemuMachineDevelopment ]&lt;br /&gt;
* [http://softgun.sourceforge.net/ SoftGun]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Contest&amp;diff=4363</id>
		<title>Contest</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Contest&amp;diff=4363"/>
				<updated>2008-06-29T18:14:33Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Projects List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Association Contest (PRELIMINARY)'''&lt;br /&gt;
[[Image:Construction.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On this page, you will find all the usefull informations to participate to the Armadeus Project Association Contest&lt;br /&gt;
&lt;br /&gt;
==What is it and why ?==&lt;br /&gt;
After one year of existence, the association has generated enough cash to promote or speed up internal developments.&lt;br /&gt;
Several proposals have been sent to the members and during the last annual meeting, it has been decided to use a part of these funds to organize a contest.&lt;br /&gt;
The goal of this contest is to increase the number of applications developped by the members.  &lt;br /&gt;
&lt;br /&gt;
==Who can participate ?==&lt;br /&gt;
The members of the association (ie the people who already have an APF9328 board). &lt;br /&gt;
This is a restrictive point, but we consider that a common development system is mandatory to share the work.&lt;br /&gt;
&lt;br /&gt;
== The rules ==&lt;br /&gt;
* The projects have to be registered before: December 31 2008&lt;br /&gt;
* The participant(s) is a (are) member(s) of the Armadeus Project association&lt;br /&gt;
* The whole sources and the schematics have to be publicly available and usable (GPL/LGPL)&lt;br /&gt;
* Hardware or/and software applications can be proposed&lt;br /&gt;
* A wiki page is mandatory and must contain ([[Contest_Template_Page|here is a template]]):&lt;br /&gt;
** a description of the project (a few words)&lt;br /&gt;
** the name(s) of the member(s)&lt;br /&gt;
** the documentation to use the application, to compile the sources and to build the hardware&lt;br /&gt;
* No special components have to be used (for electronics projects): all must be easily purchased&lt;br /&gt;
* Registration is done by adding the link of the wiki page to the list below&lt;br /&gt;
* The jury is composed of all the interested Armadeus Project members (min 5 members) and will have one month to deliberate after the contest closure. The vote will be done by email and have to be sent to contest(at)armadeus(dot)org&lt;br /&gt;
&lt;br /&gt;
== The awards==&lt;br /&gt;
* First award: an [[APF27]] kit (APF27 + corresponding dev board + TFT LQ043 and adapter board)&lt;br /&gt;
* Second award: an APF9328 kit ([[APF9328]] + [[APF9328DevFull]] + TFT LQ043 and adapter board)&lt;br /&gt;
* Third award: an [[APF9328]] + [[APF9328DevFull]]&lt;br /&gt;
&lt;br /&gt;
==Projects List==&lt;br /&gt;
* [[FireBoard | FireBoard, development cards emulation project]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4331</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4331"/>
				<updated>2008-06-22T15:52:54Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation system core ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations independently of targets.&lt;br /&gt;
&lt;br /&gt;
The entry point of Qemu is placed in the vl.c file. After reading it, you could see that the major part of Qemu is contained in it. Every functions you should need to talk with the emulated environment are defined there. In consequences, the first point of our work is to understand the behavior of Qemu through these lines.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ===&lt;br /&gt;
&lt;br /&gt;
It's not already clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4330</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4330"/>
				<updated>2008-06-22T15:51:59Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Improve Qemu understanding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation system core ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations for the different targets.&lt;br /&gt;
&lt;br /&gt;
The entry point of Qemu is placed in the vl.c file. After reading it, you could see that the major part of Qemu is contained in it. Every functions you should need to talk with the emulated environment are defined there. In consequences, the first point of our work is to understand the behavior of Qemu through these lines.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ===&lt;br /&gt;
&lt;br /&gt;
It's not alredy clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4329</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4329"/>
				<updated>2008-06-22T13:30:24Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation system core ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations for the different targets.&lt;br /&gt;
&lt;br /&gt;
Qemu is also composed of a common emulation system mainly contained in the vl.c file (in the root of the source tree). Every function which manage the emulation system are placed in this file.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ===&lt;br /&gt;
&lt;br /&gt;
It's not alredy clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4328</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4328"/>
				<updated>2008-06-22T13:29:32Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation core system ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations for the different targets.&lt;br /&gt;
&lt;br /&gt;
Qemu is also composed of a common emulation system mainly contained in the vl.c file (in the root of the source tree). Every function which manage the emulation system are placed in this file.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ===&lt;br /&gt;
&lt;br /&gt;
It's not alredy clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4327</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4327"/>
				<updated>2008-06-22T13:24:55Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qemu mechanisms : Qemu separated in three parts ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== The code translation and the emulation core system ===&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations for the different targets.&lt;br /&gt;
&lt;br /&gt;
Qemu is also composed of a common emulation system mainly contained in the vl.c file (in the root of the source tree). Every function which manage the emulation system are placed in this file.&lt;br /&gt;
&lt;br /&gt;
=== The Target specific code ==&lt;br /&gt;
&lt;br /&gt;
It's not alredy clear to me where are placed the Qemu target specific code. So, at this time, it looks like there is mainly situated in the target-X directory (X have to be replaced by the target name, like &amp;quot;arm&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== The hardware emulation layer ===&lt;br /&gt;
&lt;br /&gt;
Despite of the hardware emulation layer is implemented both in the common emulation system and in an independent directory (named &amp;quot;hw&amp;quot;). It interacts with the emulation core through Qemu common functions each time. (see vl.c file)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4326</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4326"/>
				<updated>2008-06-22T13:16:11Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Adding Qemu mechanisms explanations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Understanding of the Qemu functions ==&lt;br /&gt;
&lt;br /&gt;
Qemu is a wide software in which it could be difficult to land up. So a little explanation have to be done.&lt;br /&gt;
&lt;br /&gt;
=== Qemu separated in two parts ===&lt;br /&gt;
&lt;br /&gt;
==== The code translation and the emulation core system ====&lt;br /&gt;
&lt;br /&gt;
Qemu integrates a dynamic code translation &amp;quot;machine&amp;quot; which translates target instructions in host ones on the fly. They all are already implemented in Qemu, so we have not them to remake. But this part of code is heavy compact and need knowledge in both host and target instructions set in order to understand it.&lt;br /&gt;
&lt;br /&gt;
All the code of the TCG (Tiny Code Generator) is placed in the tcg directory of the source tree and contains implementations for the different targets.&lt;br /&gt;
&lt;br /&gt;
Qemu is also composed of a common emulation system mainly contained in the vl.c file (in the root of the source tree). Every function which manage the emulation system are placed in this file.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4325</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4325"/>
				<updated>2008-06-22T13:02:12Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4324</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4324"/>
				<updated>2008-06-22T11:47:49Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4265</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4265"/>
				<updated>2008-06-08T13:43:47Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UNDER CONSTRUCTION ==&lt;br /&gt;
[[Image:Construction.png]]&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
* [http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html Low level ARM booting]&lt;br /&gt;
* [http://www.arm.linux.org.uk/ Linux on all arm machines]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Talk:QemuMachineDevelopment&amp;diff=4264</id>
		<title>Talk:QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Talk:QemuMachineDevelopment&amp;diff=4264"/>
				<updated>2008-06-08T13:40:57Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* '''JulienB:''' It could be interesting to look at softgun source code because they already have many i.MX21/i.MX1 devices emulated:&lt;br /&gt;
http://softgun.sourceforge.net/&lt;br /&gt;
* '''JulienP''' Yes I agree. I took a look at this project yestudray. Despite they have a few different way to manage devices than in Qemu many things could reused. For the moment I think Qemu would be better to build the base system. It could be also interesting to implement a board specification language in XML and be able to parse it in order to make the boards descriptions easier. But I don't know what's the best way to do that for now.&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Talk:QemuMachineDevelopment&amp;diff=4262</id>
		<title>Talk:QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Talk:QemuMachineDevelopment&amp;diff=4262"/>
				<updated>2008-06-07T20:09:02Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* '''JulienB:''' It could be interesting to look at softgun source code because they already have many i.MX21/i.MX1 devices emulated:&lt;br /&gt;
http://softgun.sourceforge.net/&lt;br /&gt;
* '''JulienP''' Yes I agree. I took a look at this project yestudray. Despite they have a few different way to manage devices than in Qemu many things could reused. For the moment I think Qemu would be better to build the base system. It could be also interesting to implement a board specification language in XML and be able to parse it in order to make the boards descriptions easier. But I don't know what's the best way to do that for now.&lt;br /&gt;
* '''JulienP''' I've read several lines from different files of QEMU and at this time I think we have to take only a part of it. To be more precise QEMU is a big program from which we will only use a very little part. The aim is to reduce to its maximum the application we want to build in terms of memory space and easiness of the code maintenance. I'm seeing if we could extract just what we need from QEMU (cpu emulation + dynamic code translation) and then build a software into which we could connect other functionalities (devices emulation + board generator based on XML, ...). I would like to know now what people from Armadeus Project who are interested in this project think of that...&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Members&amp;diff=4204</id>
		<title>Members</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Members&amp;diff=4204"/>
				<updated>2008-06-03T08:49:09Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Google Map==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;googlemap lat=&amp;quot;47&amp;quot; lon=&amp;quot;6&amp;quot; width=640 height=480 zoom=4&amp;gt;&lt;br /&gt;
47.270377, 6.025314, [[User:JulienB]] Besancon&lt;br /&gt;
47.752598,7.301788, ARMadeus Systems&lt;br /&gt;
47.760791, 7.339897, [[User:Salocin68]] Mulhouse&lt;br /&gt;
47.734392,7.316975, [[User:FabienM]] Mulhouse&lt;br /&gt;
46.550833, 6.632309, [[User:Jorasse]] Lausanne&lt;br /&gt;
47.681108, 7.390366, [[User:Carbure]] Helfranzkirch&lt;br /&gt;
47.436448, 8.429947, [[User:SonZerro]] Baden&lt;br /&gt;
44.653992, 6.176672, [[User:JulienN]] Chabottes&lt;br /&gt;
48.568077, 7.912888,  [[User:KroMignon]] Legelshurst&lt;br /&gt;
42.734405, 2.894211, ELIAUS Perpignan&lt;br /&gt;
47.653363, 6.862335, UTBM Belfort&lt;br /&gt;
48.879619, 2.351074, Paris - 20 membres&lt;br /&gt;
-21.115141, 55.536384, La Réunion - 1 member&lt;br /&gt;
14.551684, -60.912323, La Martinique - 1 member&lt;br /&gt;
&lt;br /&gt;
47.399744, 8.53775, Zurich - 1 member&lt;br /&gt;
46.810282, 7.151241, Fribourg&lt;br /&gt;
47.574904, 7.580566, Basel&lt;br /&gt;
&lt;br /&gt;
53.371859, -6.2677, Dublin - 1 member&lt;br /&gt;
50.637704, 5.608521, Liège - 1 member&lt;br /&gt;
50.67, 3.48, Velaines - 1 member&lt;br /&gt;
48.199964, 11.57959, Munich - 1 member&lt;br /&gt;
48.109588,-1.678752, Rennes - 1 member&lt;br /&gt;
47.750109,-3.366339, [[User:MatthieuT] Lorient&lt;br /&gt;
48.70,2.03, [[User:JulienPeeters]] Chevreuse&lt;br /&gt;
&amp;lt;/googlemap&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==!!! Everything above this line is obsolete and will be removed soon !!!==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: relative&amp;quot;&amp;gt;[[Image:France.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 350px; top: 250px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Besançon(3)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 350px; top: 320px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Lyon(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 390px; top: 340px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Grenoble(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 350px; top: 360px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Valence(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 310px; top: 220px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Dijon(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 420px; top: 180px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Mulhouse(3)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 400px; top: 210px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Montbéliard/Belfort(2)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 460px; top: 120px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Strasbourg(3)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 400px; top: 100px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Metz(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 400px; top: 145px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Charmes(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 255px; top: 5px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Lille(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 250px; top: 70px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Amiens(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 250px; top: 150px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Paris(20)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 300px; top: 120px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Soisson(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 335px; top: 132px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Reims(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 150px; top: 190px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Angers(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 100px; top: 210px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Nantes(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 180px; top: 170px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Le Mans(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 80px; top: 150px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Rennes(2)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 250px; top: 480px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Perpignan(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 350px; top: 450px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Aix/Marseille(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 200px; top: 400px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Toulouse(2)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;position: absolute; left: 200px; top: 350px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:transparent&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| Périgueux(1)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Association]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Talk:QemuMachineDevelopment&amp;diff=4193</id>
		<title>Talk:QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Talk:QemuMachineDevelopment&amp;diff=4193"/>
				<updated>2008-06-01T11:49:19Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* '''JulienB:''' It could be interesting to look at softgun source code because they already have many i.MX21/i.MX1 devices emulated:&lt;br /&gt;
http://softgun.sourceforge.net/&lt;br /&gt;
* '''JulienP''' Yes I agree. I took a look at this project yestudray. Despite they have a few different way to manage devices than in Qemu many things could reused. For the moment I think Qemu would be better to build the base system. It could be also interesting to implement a board specification language in XML and be able to parse it in order to make the boards descriptions easier. But I don't know what's the best way to do that for now.&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4185</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4185"/>
				<updated>2008-05-31T14:13:26Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UNDER CONSTRUCTION ==&lt;br /&gt;
[[Image:Construction.png]]&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Device || Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || style=&amp;quot;background:#ff0000;&amp;quot; |not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || style=&amp;quot;background:#ff0000;&amp;quot; | not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
Firstly, you have to install Subversion and Git packages&lt;br /&gt;
&lt;br /&gt;
On Debian/Ubuntu (any version) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # apt-get install subversion git-core&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Gentoo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[myhome] # emerge dev-util/subversion dev-util/git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can download the official QEMU svn tree here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And [[User:JulienPeeters | my ]] git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://softgun.sourceforge.net/ Softgun ARM emulator (already has many i.MX21/i.MX1 devices)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulation]]&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4138</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4138"/>
				<updated>2008-05-27T19:03:44Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Armadeus boards devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UNDER CONSTRUCTION ==&lt;br /&gt;
[[Image:Construction.png]]&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
You can download the official svn tree :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And my git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4137</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4137"/>
				<updated>2008-05-27T18:55:23Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Git development tree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UNDER CONSTRUCTION ==&lt;br /&gt;
[[Image:Construction.png]]&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Source trees ==&lt;br /&gt;
&lt;br /&gt;
You can download the official svn tree :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And my git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4136</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4136"/>
				<updated>2008-05-27T18:54:29Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UNDER CONSTRUCTION ==&lt;br /&gt;
[[Image:Construction.png]]&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to provide a fully functional and user-friendly way for developers and people interested in the Armadeus Project to test software like if it is running on a real board.&lt;br /&gt;
&lt;br /&gt;
In a far-off time, the aim is to provide a small framework to build dynamic software tests and run them automatically (after a static analysis of code for instance in order to build a fully featured report).&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Implemented ?&lt;br /&gt;
|-&lt;br /&gt;
| Network interface || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SD/MMC card reader || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| GPIO || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| Led's || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CAN bus || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| I2C bus || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| ADC/DAC || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SPI || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SSI || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| UART || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| USB (slave/host) || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| LCD || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| FPGA || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| SRAM || not implemented&lt;br /&gt;
|-&lt;br /&gt;
| CSI || not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Git development tree ==&lt;br /&gt;
&lt;br /&gt;
You can download the official svn tree :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ svn co svn://svn.savannah.nongnu.org/qemu/trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And my git repository where to find Armadeus DevFull board hardware emulation (Coming soon and depends on the interest people have in this project) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[my-repos] $ git clone git://dedilabs.com/~jpeeters/qemu-jpeeters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4127</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4127"/>
				<updated>2008-05-24T11:00:02Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: /* Git development tree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UNDER CONSTRUCTION ==&lt;br /&gt;
[[Image:Construction.png]]&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
* Network device&lt;br /&gt;
* SD/MMC card reader&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Git development tree ==&lt;br /&gt;
&lt;br /&gt;
Coming soon and depends on the interest people have in this project.&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4126</id>
		<title>QemuMachineDevelopment</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=QemuMachineDevelopment&amp;diff=4126"/>
				<updated>2008-05-23T22:23:35Z</updated>
		
		<summary type="html">&lt;p&gt;JulienPeeters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UNDER CONSTRUCTION ==&lt;br /&gt;
[[Image:Construction.png]]&lt;br /&gt;
&lt;br /&gt;
== Armadeus boards devices ==&lt;br /&gt;
&lt;br /&gt;
* Network device&lt;br /&gt;
* SD/MMC card reader&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Git development tree ==&lt;br /&gt;
&lt;br /&gt;
Coming soon and depends on the interest people have for this project.&lt;/div&gt;</summary>
		<author><name>JulienPeeters</name></author>	</entry>

	</feed>