<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://www.openlabto.org/attivita/embedded/RSS">
  <title>Embedded</title>
  <link>http://www.openlabto.org</link>

  <description>
    
      Questa sezione vuole fare da cappello ai vari progetti open che riguardano l' embedded e che porteremo avanti come associazione
    
  </description>

  

  
            <syn:updatePeriod>hourly</syn:updatePeriod>
            <syn:updateFrequency>1</syn:updateFrequency>
            <syn:updateBase>2012-02-23T18:56:06Z</syn:updateBase>
        

  <image rdf:resource="http://www.openlabto.org/logo.png"/>

  <items>
    <rdf:Seq>
      
        <rdf:li rdf:resource="http://www.openlabto.org/attivita/embedded/pandaboard"/>
      
      
        <rdf:li rdf:resource="http://www.openlabto.org/attivita/embedded/raspberry-pi"/>
      
    </rdf:Seq>
  </items>

</channel>


  <item rdf:about="http://www.openlabto.org/attivita/embedded/pandaboard">
    <title>Pandaboard</title>
    <link>http://www.openlabto.org/attivita/embedded/pandaboard</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3><span class="mw-headline" id="Dati_tecnici_di_riferimento">Dati tecnici di riferimento</span></h3>
<p>La <a class="text external" href="http://www.pandaboard.org/" rel="nofollow">Pandaboard</a> è una scheda di sviluppo molto recente e potente. Le caratteristiche tecniche sono riportate in maniera esaustiva sul <a class="text external" href="http://pandaboard.org/content/platform" rel="nofollow">sito</a> della community. Esistono 2 tipi diversi di <strong class="selflink">Pandaboard</strong>.</p>
<ul style="list-style-type: square; ">
<li><a class="text external" href="http://pandaboard.org/node/300/#Panda" rel="nofollow">Pandaboard</a></li>
<li><a class="text external" href="http://pandaboard.org/node/300/#PandaES" rel="nofollow">Pandaboard ES</a></li>
</ul>
<p>La prima è un TI OMAP 4430 mentre la seconda è un TI OMAP 4460. Le due versioni hardware condividono molto del codice sorgente anche se alcune parti come la gestionde del power per ora non è inclusa nel kernel. Le informazioni successive sono in parte un sunto di quelle presenti a questo <a class="text external" href="http://omappedia.org/wiki/Bootloader_Project" rel="nofollow">link</a></p>
<h3><span class="mw-headline" id="La_toolchain_RedHat_per_ARM">La toolchain RedHat per ARM</span></h3>
<p>-</p>
<h2><span class="mw-headline" id="Il_sistema_di_Boot">Il sistema di Boot</span></h2>
<p>La Pandaboard non possiede memorie nand o di altro tipo e quindi il suo bootloader non risiede sulla scheda ma sulla sd insieme al kernel e al rootfs. E' possibile basarsi sul un kit di sviluppo fornito da<a class="text external" href="http://www.linaro.org/" rel="nofollow">Linaro</a> oppure uno degli innumerevoli semi lavorati delle varie distribuzioni più importanti. La Pandaboard utilizza per lo stage 1 del bootloader un sotfware chiamato x-loader (della TI ma rilasciato sotto licenza GPLv2) ed uno per lo stage 2 chiamato u-boot (GPLv2).</p>
<h3><span class="mw-headline" id="X-Loader">X-Loader</span></h3>
<p>Questo bootloader stage 1 è un loader per le board embedded basate su processori OMAP. La particolarità di questo loader è quella di poter firmare il boot. Evitiamo di fare commenti e saltiamo avanti questa "feature".</p>
<p>Eseguire il clone del repository di x-loader</p>
<pre>git clone git://git.omapzoom.org/repo/x-loader.git
cd x-loader
</pre>
<p>Agganciamo il repository di sviluppo omap4_dev su origin al nostro locale che chiameremo ugualmente omap4_dev.</p>
<pre>git checkout -b omap4_dev origin/omap4_dev
</pre>
<p>Eseguiamo la compialzione: Personalmente uso la toolchain di redhat che è compilata per creare binari che sfruttano l'hardware floating point</p>
<pre>./mkconfig mrproper
make omap4430sdp_config 
make ARCH=arm CROSS_COMPILE=armv7hl-redhat-linux-gnueabi- omap4430sdp_config
make ARCH=arm CROSS_COMPILE=armv7hl-redhat-linux-gnueabi- ift
</pre>
<p>Otteniamo il file MLO</p>
<h3><span class="mw-headline" id="U-Boot">U-Boot</span></h3>
<p>Entrambe le versioni della <strong class="selflink">Pandaboard</strong> possono usare u-boot per lanciare il kernel. L'unica accortezza che viene richiesta è la formattazione della scheda SD in 2 partizioni. Una prima VFAT dove risiederà il bootloader e il kernel ed una seconda la cui formattazione è lasciata libera all'utente dove risiederà il rootfs.</p>
<p>Eseguire il clone del repository di u-boot</p>
<pre>git clone git://git.omapzoom.org/repo/u-boot.git
cd u-boot
</pre>
<p>Agganciamo il repository di sviluppo omap4_dev su origin al nostro locale che chiameremo ugualmente omap4_dev.</p>
<pre>git checkout -b omap4_dev origin/omap4_dev
</pre>
<p>Eseguiamo la compialzione: Personalmente uso la toolchain di redhat che è compilata per creare binari che sfruttano l'hardware floating point</p>
<pre>./mkconfig mrproper
make omap4430panda_config 
make ARCH=arm CROSS_COMPILE=armv7hl-redhat-linux-gnueabi- omap4_panda_config
make ARCH=arm CROSS_COMPILE=armv7hl-redhat-linux-gnueabi-
</pre>
<p>otteniamo:</p>
<ul style="list-style-type: square; ">
<li>u-boot.bin is a raw binary image</li>
<li>u-boot is an image in ELF binary format</li>
<li>u-boot.srec is in Motorola S-Record format</li>
</ul>
<p>Vedremo successivamente a cosa servono.</p>
<h2><span class="mw-headline" id="Kernel">Kernel</span></h2>
<p>La compilazione del kernel per omap4 è forse una della cose più complesse perchè molte delle patch richieste sono non totalmente nel vanilla di Torvalds branch arm e non tutte servono per entrambe le versioni hardware della board.</p>
<h2><span class="mw-headline" id="Rootfs">Rootfs</span></h2>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>admin</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-02-21T12:57:39Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>


  <item rdf:about="http://www.openlabto.org/attivita/embedded/raspberry-pi">
    <title>Raspberry Pi</title>
    <link>http://www.openlabto.org/attivita/embedded/raspberry-pi</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3><span class="mw-headline" id="Dati_tecnici_di_riferimento">Dati tecnici di riferimento</span></h3>
<p><a class="text external" href="http://www.raspberrypi.org/" rel="nofollow">RaspberryPi</a> è un progetto opensource per un minipc basato su ARM delle dimensioni di una carta di credito, orientato alla didattica e creato dall'università di Cambridge. Il RaspberryPi esiste in 2 modelli chiamati A e B. Il modello A è quello base, senza scheda di rete e con 128MB di RAM, il modello B dispone di una scheda di rete 10/100 e di 256MB di RAM. Entrambi i modelli sono basati su un SOC Broadcom BCM2835 a 700MHZ (basato sulla piattaforma ARM11).</p>
<p>Le schede dispongono di un connettore micro usb per l'alimentazione, di una porta USB per le periferiche, di un uscita HDMI, di un jack audio (solo uscita) di un uscita RCA video, di uno slot per SD come periferica di massa e di un connettore GPIO per future espansioni.</p>
<p>Broadcom ha rilasciato un <a class="text external" href="http://dmkenr5gtnd8f.cloudfront.net/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf" rel="nofollow">PDF</a> di oltre 200 pagine con con le specifiche del chipset utilizzato.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Giuseppe Treccarichi</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-02-21T12:55:00Z</dc:date>
    <dc:type>Pagina</dc:type>
  </item>





</rdf:RDF>
