<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wikilegacy.armadeus.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JeanBaptisteM</id>
	<title>ArmadeusWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wikilegacy.armadeus.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JeanBaptisteM"/>
	<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Special:Contributions/JeanBaptisteM"/>
	<updated>2026-04-27T22:47:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=I2C&amp;diff=7123</id>
		<title>I2C</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=I2C&amp;diff=7123"/>
		<updated>2009-07-18T22:48:47Z</updated>

		<summary type="html">&lt;p&gt;JeanBaptisteM: /* APF9328 I2C bus logic 5v level adaptation (if necessary) */ Addition of low-cost level shifter pointer.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will summarize the informations to use the I2C bus on our boards.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The I2C bus is a simple &amp;amp; widely used two wires synchronous bus. It has been developped by [http://www.nxp.com Philips (now NXP)].&amp;lt;br&amp;gt;&lt;br /&gt;
The standard frequency is 100kHz but 400kHz devices can be found (for example the i.MX).&lt;br /&gt;
Single and multi masters are supported. Only the single master configuration will be discussed here.&lt;br /&gt;
&lt;br /&gt;
The bus is based on two signals: SDA and SCL.&lt;br /&gt;
* SDA: bidirectional line for data&lt;br /&gt;
* SCL: unidirectional line for the clock (provided by the master)&lt;br /&gt;
&lt;br /&gt;
Details can be found in the specification [http://www.nxp.com/acrobat_download/literature/9398/39340011.pdf here.]&lt;br /&gt;
&lt;br /&gt;
==Linux configuration==&lt;br /&gt;
By default the I2C bus is activated in the Armadeus distrib.&lt;br /&gt;
If you need to deactivate it, take a look at the linux menuconfig (make linux-menuconfig)&lt;br /&gt;
&lt;br /&gt;
==Linux user space C code==&lt;br /&gt;
You can find a sample code under &#039;&#039;target/packages/ch7024ctrl/&#039;&#039; of the Armadeus distribution ( [http://armadeus.svn.sourceforge.net/viewvc/armadeus/trunk/target/packages/ch7024ctrl/ or here through SF&#039;s SVN browsing] )&lt;br /&gt;
&lt;br /&gt;
==Tested I2C chips==&lt;br /&gt;
* RTC: DS1327&lt;br /&gt;
* DAC: [[Max5821]]&lt;br /&gt;
* Misc: [[TV_Output | CH7024]]&lt;br /&gt;
* EEPROM:&lt;br /&gt;
&lt;br /&gt;
==APF9328 I2C bus logic 5v level adaptation (if necessary)==&lt;br /&gt;
On the APF9328 the I2C bus has a 3,3V logic level so &#039;&#039;&#039;if you want to use 5V I2C devices you have to add a level converter&#039;&#039;&#039;, for example a PCA9306 from NXP:&lt;br /&gt;
* Connect pin 1 to the local GND&lt;br /&gt;
* Connect pin 2 to the local 3.3V&lt;br /&gt;
* Connect pin 3 to the SCL output of the APF&lt;br /&gt;
* Connect pin 4 to the SDA input/ouput of the APF&lt;br /&gt;
* Connect pin 7 and 8 together and the add a 200K resistor in parallel to a 100nF capacitor to GND&lt;br /&gt;
* Connect a pullup of 1.7K to the 5V SCL line (pin 6)&lt;br /&gt;
* Connect a pullup of 1.7K to the 5V SDA line (pin 5)&lt;br /&gt;
&lt;br /&gt;
For more details, take a look at the [http://www.nxp.com/acrobat_download/datasheets/PCA9306_2.pdf PCA9306 datasheet].&lt;br /&gt;
This chip is the one that can be mounted by users on the DevFull board.&lt;br /&gt;
&lt;br /&gt;
As a low-cost alternative, a level shifter can be built with a pair of N-channel mosfets (such as a BS170). See the [http://www.nxp.com/acrobat_download/applicationnotes/AN97055.pdf Application Note 97055].&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://mbouget.club.fr/i2c-faq.html Vincent Himpe I2C FAQ mirror]&lt;br /&gt;
* [http://www.nxp.com/acrobat_download/literature/9398/39340011.pdf I2C specification]&lt;br /&gt;
* [http://www.lm-sensors.org/wiki/man/i2cset I2C Linux test tools of Lm-Sensors]&lt;br /&gt;
* [http://codesink.org/eeprog.html eeprog, a tool to program I2C EEPROMs]&lt;br /&gt;
* http://www.stlinux.com/docs/manual/distribution/distribution_guide6.php&lt;/div&gt;</summary>
		<author><name>JeanBaptisteM</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Target_Software_Installation&amp;diff=6654</id>
		<title>Target Software Installation</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Target_Software_Installation&amp;diff=6654"/>
		<updated>2009-06-05T16:11:45Z</updated>

		<summary type="html">&lt;p&gt;JeanBaptisteM: Added internal link to flash memory map and allowed size for RootFS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configure U-Boot==&lt;br /&gt;
&lt;br /&gt;
===Environment variables===&lt;br /&gt;
U-Boot can be customized in a flexible way with the use of &amp;quot;environment variables/scripts&amp;quot;.&lt;br /&gt;
The command &#039;&#039;&#039;printenv&#039;&#039;&#039; shows you most of them and their current value:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; printenv&lt;br /&gt;
 bootcmd=run jffsboot&lt;br /&gt;
 bootdelay=20&lt;br /&gt;
 baudrate=115200&lt;br /&gt;
 ethaddr=&lt;br /&gt;
 autoload=no&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The command &#039;&#039;&#039;setenv&#039;&#039;&#039; is used to change these variables. For example, to set the IP address (don&#039;t do it yet):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; setenv ipaddr 192.168.0.10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The command &#039;&#039;&#039;saveenv&#039;&#039;&#039; is used to save the state of your environment variables in FLASH memory; that way they will be available at next boot:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; saveenv&lt;br /&gt;
 Saving Environment to Flash...&lt;br /&gt;
 . done&lt;br /&gt;
 Un-Protected 1 sectors&lt;br /&gt;
 Erasing Flash...&lt;br /&gt;
 . done&lt;br /&gt;
 Erased 1 sectors&lt;br /&gt;
 Writing to Flash... done&lt;br /&gt;
 . done&lt;br /&gt;
 Protected 1 sectors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Network configuration===&lt;br /&gt;
In order to use the U-Boot&#039;s network features, you have to set the network environment variables:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; setenv netmask 255.255.255.0                (this default value should be fine in most situations)&lt;br /&gt;
 BIOS&amp;gt; setenv ipaddr 192.168.0.10 &lt;br /&gt;
 BIOS&amp;gt; setenv serverip 192.168.0.2                 (the IP address of your tftp server/PC hosting the files to download)&lt;br /&gt;
 BIOS&amp;gt; setenv rootpath &amp;quot;/tftpboot/apf9328-root&amp;quot;    (to boot Linux over NFS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can use the &#039;&#039;&#039;dhcp&#039;&#039;&#039; command to configure these variables from your DHCP server. You probably will have to adjust the &#039;&#039;&#039;serverip&#039;&#039;&#039; variable manually.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; dhcp&lt;br /&gt;
 dm9000 i/o: 0x15c00000, id: 0x90000a46&lt;br /&gt;
 MAC: 00:0e:32:00:00:01&lt;br /&gt;
 operating at 100M full duplex mode&lt;br /&gt;
 BOOTP broadcast 1&lt;br /&gt;
 DHCP client bound to address 192.168.0.10&lt;br /&gt;
 BIOS&amp;gt; setenv serverip 192.168.0.2&lt;br /&gt;
 BIOS&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Do not forget to save your changes in FLASH, to have them available at next power up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In case of troubles you can use the following U-Boot script to reset the variables to the &amp;quot;factory&amp;quot;/default settings:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_reset_env&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Linux kernel installation==&lt;br /&gt;
&lt;br /&gt;
* check that your Armadeus kernel image size is smaller than the U-Boot partition (2MB with Armadeus 3):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 [armadeus]$ ls -al buildroot/binaries/apf*/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* if yes, copy it to your TFTP server directory (here &#039;&#039;/tftpboot/&#039;&#039;); replace XX with your board name (apf9328 or apf27):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 [armadeus]$ cp buildroot/binaries/apfXX/apfXX-linux.bin /tftpboot/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Load kernel image with U-Boot through network:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; tftpboot ${loadaddr} apfXX-linux.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or with the serial line:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; loadb ${loadaddr}&lt;br /&gt;
     &#039;&#039;Ctrl+Altgr+\+c to access kermit command line then:&#039;&#039;&lt;br /&gt;
 (/home/.../) C-Kermit&amp;gt;send /tftpboot/apf9328-linux.bin&lt;br /&gt;
     &#039;&#039;After download is completed, you can type the c command to reconnect to the terminal:&#039;&#039;&lt;br /&gt;
 (/home/.../) C-Kermit&amp;gt;c&lt;br /&gt;
 Connecting to /dev/ttyUSB0, speed 115200&lt;br /&gt;
  Escape character: Ctrl-\ (ASCII 28, FS): enabled&lt;br /&gt;
 Type the escape character followed by C to get back,&lt;br /&gt;
 or followed by ? to see other options.&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 ## Total Size      = 0x0013d0b0 = 1298608 Bytes&lt;br /&gt;
 ## Start Addr      = 0x08000000&lt;br /&gt;
 BIOS&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{Warning|If the loaded kernel image is too large, the following operation can destroy data that are stored after the partition limits (e.g. RootFS)}}&lt;br /&gt;
Check that transfered size value is less than 2097152 (0x200000 hex) with armadeus 3&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 Bytes transferred = 1313216 (1409c0 hex)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* You can test your new kernel image without flashing it with; if so you will have to reload it again after test:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; bootm ${loadaddr}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Flash kernel image with:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To make it easier, you can use automatic scripts that will download the image and flash it. So next time you will only launch:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run update_kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you only want to try a new kernel without flashing the kernel image you can launch it directly from RAM:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; setenv bootargs ${console} ${mtdparts}; run addjffsargs addipargs; bootm&lt;br /&gt;
(the kernel image you want to try must have been loaded at ${loadaddr})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==rootfs installation==&lt;br /&gt;
&lt;br /&gt;
* check that your Armadeus RootFS image size is smaller than the RootFS partition (see [[#Flash_memory_partitions|Flash Memory Partitions]] for size allowances):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 [armadeus]$ ls -al buildroot/binaries/apf9328/&lt;br /&gt;
 ...&lt;br /&gt;
 [armadeus]$ cp buildroot/binaries/apf9328/apf9328-rootfs.arm.jffs2 /tftpboot/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Load RootFS image with U-Boot through network:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; tftpboot ${loadaddr} apf9328-rootfs.arm.jffs2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or serial line:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; loadb ${loadaddr}&lt;br /&gt;
 Ctrl+Altgr+\+c to access kermit command line then...&lt;br /&gt;
 send pathtoyourhostedbuildrootdir/rootfs.arm.jffs2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then you can type the c command to reconnect to the terminal&lt;br /&gt;
&lt;br /&gt;
* Flash RootFS image with:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_rootfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now you should be ready to test Linux:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To make it easier, you can use automatic scripts. So next time you will only launch:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run update_rootfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FPGA firmware installation==&lt;br /&gt;
&lt;br /&gt;
The FPGA firmwares are all located in the &#039;&#039;firmware/&#039;&#039; directory of your Armadeus view:&lt;br /&gt;
 [armadeus]$ ls firmware/&lt;br /&gt;
 apf_pkg  BRAMTest  bus_led  led  PS2  PS2_Opencore  servo  sram_test  wishbone_example  Xtools&lt;br /&gt;
You can make some trials with the &#039;&#039;firmware/PS2/ps2_top.bit&#039;&#039; file.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Warning| Check that your bitfile size is smaller than the firmware partition size (256KB) before trying the following commands or you may corrupt your Linux kernel FLASH partition !!!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Load FPGA firmware image file with U-Boot through:&amp;lt;br&amp;gt;&lt;br /&gt;
Ethernet:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; tftpboot ${loadaddr} fpgafirmware.bit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;fpgafirmware.bit&#039;&#039; is of course the name of your bitfile stored in your TFTP shared directory (&#039;&#039;/tftpboot/&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
or serial line:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; loadb ${loadaddr}&lt;br /&gt;
 Ctrl+Altgr+\+c to access kermit command line then...&lt;br /&gt;
 C-Kermit&amp;gt; send path_to_your_tftp/fpgafirmware.bit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then you can type the c command to reconnect to the terminal&lt;br /&gt;
&lt;br /&gt;
* Test your new FPGA firmware&#039;s downloading:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; fpga load 0 ${loadaddr} ${firmware_len}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Flash your firmware image with:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_firmware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* When your are satisfied with your firmware you can make it &amp;quot;autoloaded&amp;quot; at power up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; setenv firmware_autoload 1&lt;br /&gt;
 BIOS&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Update U-Boot==&lt;br /&gt;
&lt;br /&gt;
There are two steps to update U-Boot:&lt;br /&gt;
===Load the new U-Boot code in RAM===&lt;br /&gt;
You can use the following commands to download U-boot:&amp;lt;br&amp;gt;&lt;br /&gt;
With Ethernet and a TFTP server:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; tftpboot ${loadaddr} apf9328-u-boot.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
With Ethernet and a NFS server:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; nfs ${loadaddr} host_ip_addr:/nfs_path_to_buildroot/apf9328-u-boot.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
With the kermit and a serial line&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; loadb ${loadaddr}&lt;br /&gt;
    &amp;lt;CTRL&amp;gt;&amp;lt;ALT GR&amp;gt;\&lt;br /&gt;
    c&lt;br /&gt;
    send path_to_buildroot/apf9328-u-boot.bin&lt;br /&gt;
    c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Transfer code from RAM to Flash memory===&lt;br /&gt;
There is a simple U-Boot command/script to do that:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_uboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Advanced informations can be found at the [[BootLoader]] wiki page.&lt;br /&gt;
&lt;br /&gt;
==Flash memory partitions==&lt;br /&gt;
===APF9328 Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Signal connections&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Armadeus 2.x address range &amp;lt;br&amp;gt;(index from FLASH physical @ 0x10000000) !! width=&amp;quot;40%&amp;quot; | Armadeus 3 address range &amp;lt;br&amp;gt;(index from FLASH physical @ 0x10000000) !! Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x000000 - 0x03FFFF ( 256KB )&lt;br /&gt;
|0x000000 - 0x03FFFF ( 256KB )&lt;br /&gt;
| U-Boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x040000 - 0x5FFFF ( 128KB )&lt;br /&gt;
|0x040000 - 0x5FFFF ( 128KB )&lt;br /&gt;
| U-Boot environment variables&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x060000 - 0x9FFFF ( 256KB )&lt;br /&gt;
|0x060000 - 0x9FFFF ( 256KB )&lt;br /&gt;
| FPGA bitfile&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x0A0000 - &#039;&#039;&#039;0x21FFFF ( 1.5MB )&#039;&#039;&#039;&lt;br /&gt;
|0x0A0000 - &#039;&#039;&#039;0x29FFFF ( 2MB )&#039;&#039;&#039;&lt;br /&gt;
| Linux kernel image&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;0x220000&#039;&#039;&#039; - End of FLASH ( ~6 MB or ~14MB  )&lt;br /&gt;
|&#039;&#039;&#039;0x2A0000&#039;&#039;&#039; - End of FLASH ( ~5.5 MB or ~13.5MB  )&lt;br /&gt;
| Root filesystem&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===APF27 Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Signal connections&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!  width=&amp;quot;80%&amp;quot; | NAND flash address range !! Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00000000 - 0x0009FFFF ( 640KiB  including NAND SPL and 384kiB spare memory for bad blocks)&lt;br /&gt;
| U-Boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x000A0000 - 0x000FFFFF ( 384kiB )&lt;br /&gt;
| U-Boot environment variables&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00100000 - 0x0017FFFF ( 512 kiB )&lt;br /&gt;
| FPGA bitfile&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00180000 - 0x0067FFFF ( 5 MiB )&lt;br /&gt;
| Linux kernel image&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00680000 - End of FLASH ( &amp;gt;~250MiB  )&lt;br /&gt;
| Root filesystem&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>JeanBaptisteM</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=FAQ&amp;diff=2315</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=FAQ&amp;diff=2315"/>
		<updated>2007-04-06T17:24:23Z</updated>

		<summary type="html">&lt;p&gt;JeanBaptisteM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General Questions==&lt;br /&gt;
&lt;br /&gt;
===What is the &amp;quot;Armadeus Project&amp;quot; intended for ?===&lt;br /&gt;
The goal of this project is to allow everyone to easily develop embedded Open Source systems.&lt;br /&gt;
When all the embedded systems in the world will run open source software, life will be better ;-)&lt;br /&gt;
 &lt;br /&gt;
===What does &amp;quot;Armadeus&amp;quot; mean ?===&lt;br /&gt;
&amp;quot;Armadeus&amp;quot; is the contraction of &amp;quot;ARM&amp;quot; and &amp;quot;Amadeus&amp;quot;. Indeed we choosed ARM architecture for its symplicity and efficiency and our boards are as gifted to run embedded systems as Mozart was for composing music. Moreover, Armadeus project is born in 2006, year of the 250th Mozart&#039;s Birthday.&lt;br /&gt;
 &lt;br /&gt;
===How do I get help ?===&lt;br /&gt;
First take a look at the whole Wiki. If you can&#039;t find help contact us directly: [[Help:Contents]]. If you are located in France, we have members in Besançon, Montbéliard &amp;amp; Mulhouse who can provide you help. For Swiss members, we can provide help in Basel, Lausanne &amp;amp; Zürich.&lt;br /&gt;
&lt;br /&gt;
=== Why are there &amp;lt;http://armadeus.org&amp;gt; and &amp;lt;http://armadeus.com&amp;gt; ? Is there a company backing/hiding behind the association? ===&lt;br /&gt;
&amp;lt;http://armadeus.com&amp;gt; is a more &#039;professionnal&#039; webpage built to help founders find backing for the project (like device samples, board manufacturing). It is easier to obtain those with a this professionnal-looking webpage.&lt;br /&gt;
&lt;br /&gt;
We have founded (litteraly) the association for our own pleasure and also to help universities and enthousiasts. Association bylaw protect members&#039; intellectual property by forbidding any commercial use of the work done for the association.&lt;br /&gt;
&lt;br /&gt;
The association works mostly on founders free time (we all work in embedded systems industry), which partly offsets the price of boards bought by members:&amp;lt;br/&amp;gt;&lt;br /&gt;
- Initial costs were entirely founded by the founders, and are not matched in the boards selling price.&amp;lt;br/&amp;gt;&lt;br /&gt;
- Tests, FPGA assembly and dispatching are made for no cost by volunteers.&amp;lt;br/&amp;gt;&lt;br /&gt;
- Warranty and dead boards are not accounted for in the association until break-even.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those costs are not accounted for in boards selling price, mostly because the price would have been prohibitive and the project could not have started with such a high selling price. We do not want however to give all these for free to a &#039;for profit&#039; project.&lt;br /&gt;
&lt;br /&gt;
We have been quite surprised by the board success - and therefore believe that a company could have an interest in the design. Many alternatives could then be found then - even if it would be unlikely to occur in the short term: partnering with the association, separate (yet to create) licensing company... &lt;br /&gt;
&lt;br /&gt;
==Hardware Questions==&lt;br /&gt;
&lt;br /&gt;
===What does an Armadeus APF9328 board contain ?===&lt;br /&gt;
The heart of the APF9328 board is a i.MXL processor from Freescale (ex Motorola) with an ARM920T core running at 200MHz. It has the following integrated peripherals:&lt;br /&gt;
* LCD controller (TFT, CSTN, STN)&lt;br /&gt;
* USB 1.1 device&lt;br /&gt;
* 2 x SPI &lt;br /&gt;
* I2C&lt;br /&gt;
* 2 x Serial&lt;br /&gt;
* MMC/SD controller&lt;br /&gt;
* Serial bootstrap mode (removing the need of JTAG interface)&lt;br /&gt;
* a lot of General Purpose Input/Output, depending on the configured peripherals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Around this processor, the board is equipped with:&lt;br /&gt;
* 16MBytes of high speed SDRAM&lt;br /&gt;
* 8MBytes of NOR Flash&lt;br /&gt;
* 10/100Mbits Ethernet controller&lt;br /&gt;
* Xilinx Spartan3 FPGA (optional)&lt;br /&gt;
* an ADC and a DAC (optional)&lt;br /&gt;
* level converters for serial, USB and Ethernet&lt;br /&gt;
* 2 connectors for accessing main signals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Have a look at this link for more informations: [http://www.armadeus.com/downloads/apf9328/documentation/dataSheet_APF9328.pdf]&lt;br /&gt;
&lt;br /&gt;
===What is the DevLight board ?===&lt;br /&gt;
APF9328 boards were designed to be as small as possible and ready to be embedded on any systems. So an APF9328 is not usable alone. You should see it much more like a module you can plug in everywhere.&lt;br /&gt;
To develop for APF9328 boards you can either develop your own &amp;quot;motherboard&amp;quot; and plug the APF9328 into it or use the one we develop for our needs.&lt;br /&gt;
Currently only the DevLight board is available. It contains:&lt;br /&gt;
* a serial connector&lt;br /&gt;
* an USB connector&lt;br /&gt;
* an Ethernet connector&lt;br /&gt;
* a prototype zone to test your developments&lt;br /&gt;
* a DC power regulator&lt;br /&gt;
&lt;br /&gt;
For more informations look at here:&lt;br /&gt;
[http://www.armadeus.com/downloads/apf9328DevLight/documentation/dataSheet_APF9328_DevLight.pdf]&lt;br /&gt;
&lt;br /&gt;
A DevFull board is currently in production and will contain:&lt;br /&gt;
* an AC97 + touchscreen chip&lt;br /&gt;
* 4 more serial ports&lt;br /&gt;
* a MMC connector&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===Are the Armadeus boards RoHS compliant ?===&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
==Software Questions==&lt;br /&gt;
===Where are the sources ?===&lt;br /&gt;
We have a project on SourceForge: http://sourceforge.net/projects/armadeus/ with a SVN repository&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What are the performances of your board ?===&lt;br /&gt;
[[Performances]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:FrenchFlag.png]][[Fr:FAQ | Cette page en Français]]&lt;/div&gt;</summary>
		<author><name>JeanBaptisteM</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=MemberList&amp;diff=2269</id>
		<title>MemberList</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=MemberList&amp;diff=2269"/>
		<updated>2007-04-01T20:47:49Z</updated>

		<summary type="html">&lt;p&gt;JeanBaptisteM: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Here is the list of the members and their skills==&lt;br /&gt;
&lt;br /&gt;
*0: Novice&lt;br /&gt;
*1: Notions. At least one successfull experiment&lt;br /&gt;
*2: Confirmed&lt;br /&gt;
&lt;br /&gt;
{|border=1 summary=&amp;quot;Member list&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039; || &#039;&#039;&#039;Linux Apps&#039;&#039;&#039;|| &#039;&#039;&#039;Linux Drivers&#039;&#039;&#039;|| &#039;&#039;&#039;FPGA&#039;&#039;&#039; || &#039;&#039;&#039;Board Design&#039;&#039;&#039; || &#039;&#039;&#039;Projet/Domain&#039;&#039;&#039;&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:Salocin68|Nicolas Colombain]] || 1 || 1 || 1 || 2 || domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienB|Julien Boibessot]] || 2 || 2 || 0 || 1 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanBaptisteM|Jean-Baptiste Mayer]] || 2 || 1 || 1 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>JeanBaptisteM</name></author>
	</entry>
</feed>