<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>.::Escovando Bits::. &#187; embedded</title>
	<atom:link href="http://escovandobits.wordpress.com/category/embedded/feed/" rel="self" type="application/rss+xml" />
	<link>http://escovandobits.wordpress.com</link>
	<description>Programação, Linux, tecnologia da informação, dicas, artigos</description>
	<lastBuildDate>Sun, 05 Jul 2009 15:42:47 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='escovandobits.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ac8d2c79730f1bc1a6ebab006a3670da?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>.::Escovando Bits::. &#187; embedded</title>
		<link>http://escovandobits.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://escovandobits.wordpress.com/osd.xml" title=".::Escovando Bits::." />
		<item>
		<title>Emulando o Maemo (Diablo) no N800 com o Qemu</title>
		<link>http://escovandobits.wordpress.com/2009/04/27/emulando-o-maemo-diablo-no-n800-com-o-qemu/</link>
		<comments>http://escovandobits.wordpress.com/2009/04/27/emulando-o-maemo-diablo-no-n800-com-o-qemu/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 16:45:09 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistemas Embarcados]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[maemo]]></category>
		<category><![CDATA[n800]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[qemu]]></category>

		<guid isPermaLink="false">http://escovandobits.wordpress.com/?p=418</guid>
		<description><![CDATA[Como descrito no post anterior, o suporte do Qemu ao hardware do N800 permite emulá-lo. Vamos dar uma olhada nisso… 




Como é necessário fazer algumas modificações no código do Qemu para rodar a última versão (Diablo) vamos fazer o download do Qemu no repositório do projeto (o mantenedores do projeto migraram para o &#8220;git&#8221; nesse [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=418&subd=escovandobits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Como descrito no <a>post</a> anterior, o suporte do Qemu ao hardware do N800 permite emulá-lo. Vamos dar uma olhada nisso… <img class="wp-smiley" src="http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /></p>
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><img class="size-full wp-image-419" title="Emulando o N800 e rodando o OS 2008 (Diablo)" src="http://escovandobits.files.wordpress.com/2009/04/full_boot6.png?w=468&#038;h=292" alt="Emulando o N800 e rodando o OS 2008 (Diablo)" width="468" height="292" /></dt>
</dl>
<p><span id="more-418"></span></p>
<p>Como é necessário fazer algumas modificações no código do Qemu para rodar a última versão (Diablo) vamos fazer o <em>download</em> do Qemu no repositório do projeto (o mantenedores do projeto migraram para o &#8220;git&#8221; nesse mês)</p>
<h2>1. Instalando o QEmu</h2>
<pre style="padding-left:30px;"># cd ~/qemu-n800
# git clone git://git.savannah.nongnu.org/qemu.git</pre>
<p>Para rodar a última versão do Maemo (Diablo) é necessário alterar a tabela de partições:</p>
<pre style="padding-left:30px;"># cd qemu
# git checkout -b n800-diablo
# wget http://tinyurl.com/cuyx4s
# git apply 0001-Resized-N800-partition-table.patch

# cd ~/qemu-n800
# mkdir build install
# cd build
# ../qemu/configure \
--target-list="arm-softmmu arm-linux-user armeb-linux-user" \
--prefix=$(cd ../install &amp;&amp; pwd)
# make
# make install

# ../install/bin/qemu-system-arm -h | head -n 1
QEMU PC emulator version 0.10.50, \
Copyright (c) 2003-2008 Fabrice Bellard</pre>
<h2>2. Download Nokia N800 Maemo Firmware</h2>
<ul>
<li>Vá até o endereço <a href="http://maemo.org/community/wiki/HOWTO_FlashLatestNokiaImageWithLinux/" target="_blank">http://maemo.org/community/wiki/HOWTO_FlashLatestNokiaImageWithLinux/</a></li>
<li>Faça o<em> download</em> selecionado a versão apropriada (<em>Software Edition 2008 version 5.2008.43-7 for Nokia N800</em>)<br />
Observação: <span style="color:#ff0000;">Isso é um ponto que me incomodou, infelizmente você irá precisar de um <em>serial number</em> do N800 &#8212; se você não tem um Nokia N800 agora é o momendo para adquirir um&#8230; </span><span style="color:#ff0000;">Como não investiguei as considerações legais a respeito (nem se é uma violação a GPL). E como não vi ninguém na internet disponibilizando, por enquanto não vou disponibilizar a minha.  <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /><br />
</span></li>
<li><em>Firmware</em> em <a href="http://tablets-dev.nokia.com/nokia_N800.php" target="_blank">http://tablets-dev.nokia.com/nokia_N800.php</a> (N800)
<ul>
<li>mkdir ~/qemu-n800/os2008/</li>
<li>Irei considerar o nome  RX-34_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin</li>
</ul>
</li>
<li>Faça o <em>download</em> do<em> Nokia Nseries Firmware Flashing Tool</em> <em>version 3</em>
<ul>
<li>Link em <a href="http://tablets-dev.nokia.com/d3.php" target="_blank">http://tablets-dev.nokia.com/d3.php</a></li>
<li>Salve em ~/qemu-n800</li>
<li>Esse ponto é importante, você irá precisar <strong>reinstalar</strong> (faça o backup dos seus dados!) o sistema no seu N800 para pegar alguns dados de configuração de uma partição do N800, o comando que utilizei para gravar a <em>flash</em> está descrito no item 3)</li>
</ul>
</li>
</ul>
<h2>3. Atualizando o <em>firmware</em> no dispositivo</h2>
<ul>
<li>Certifique-se que a bateria esteja carregada e deslige o N800.</li>
<li>Conecte o cabo USB (não ligue o aparelho)</li>
<li>Execute o comando abaixo,  para emular o N800 é preciso setar uma <em>flag</em> que os desenvolvedores utilizam quando estão desenvolvendo. (Leia o item [3] no final para maiores informações)</li>
</ul>
<pre style="padding-left:30px;"><strong># mkdir ~/qemu-n800/os2008/diablo/
# cd </strong><strong><strong>~/qemu-n800/os2008/diablo/
</strong></strong><strong># ../../flasher-3.0 --set-rd-flags=no-lifeguard-reset \
-u -R -f -F ../RX-34_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin</strong></pre>
<pre style="padding-left:30px;">SW version in image: RX-34_DIABLO_5.2008.43-7_PR_MR0

(...)

Unpacking kernel image to file \'zImage\'...
Unpacking initfs image to file \'initfs.jffs2\'...
Unpacking rootfs image to file \'rootfs.jffs2\'...

(...)
<span style="color:#ff0000;">
Suitable USB device not found, waiting</span></pre>
<ul>
<li>Pressione o botão <em>Power</em> e <em>Home</em> e <strong>mantenha-os até o fim do processo</strong>. Lembre-se que seu usuário irá precisar de ter permissão para escrever na USB ou então utilize o &#8220;root&#8221;.</li>
</ul>
<pre style="padding-left:30px;">USB device found found at bus 002, device address 007
Found device RX-34, hardware revision 1302
NOLO version 1.1.16
Version of \'sw-release\': RX-34_DIABLO_5.2008.43-7_PR_MR0
Sending xloader image (8 kB)...100% (8 of 8 kB, avg. 2218 kB/s)
Sending secondary image (96 kB)...
100% (96 of 96 kB, avg. 12093 kB/s)
Flashing bootloader... done.
Sending kernel image (1500 kB)...
100% (1500 of 1500 kB, avg. 17449 kB/s)
Flashing kernel... done.
Sending initfs image (2273 kB)...
100% (2273 of 2273 kB, avg. 19264 kB/s)
Flashing initfs... done.
Sending and flashing rootfs image (134912 kB)...
100% (134912 of 134912 kB, avg. 7369 kB/s)
Finishing flashing... done<strong>
Set R&amp;D flags: 0008</strong></pre>
<p>No meu caso ele não reiniciou automaticamente, precisei desconectar o cabo usb e desligá-lo/ligá-lo para funcionar.</p>
<h2>4. Preparando os arquivos</h2>
<p>Note que além do dispositivo gravado seu diretório conterá alguns arquivos  (~/qemu-n800/os2008/diablo):</p>
<pre style="padding-left:30px;">2nd.bin-RX-34:1301,1302,1501,1502,1503,1504,1601,1602
secondary.bin-RX-34:1301,1302,1501,1502,1503,1504,1601,1602
xloader.bin-RX-34:1301,1302,1501,1502,1503,1504,1601,1602
initfs.jffs2
rootfs.jffs2
zImage</pre>
<ul>
<li>Intale o  &#8220;Poky Linux&#8221; Project&#8217;s Flash Filesystem Tool
<ul>
<li># cd ~/qemu-n800</li>
<li><tt> # svn cat <a>http://svn.o-hand.com/repos/poky/trunk/scripts/poky-nokia800-flashutil</a> &gt; poky-nokia800-flashutil</tt></li>
<li><tt>chmod +x </tt><tt>poky-nokia800-flashutil</tt></li>
<li><tt>Edite o arquivo </tt><tt>poky-nokia800-flashutil e descomente a linha referente ao rootfs_offset<br />
</tt></li>
</ul>
</li>
</ul>
<pre><tt># This value should be selected for Diablo based firmwares
# It also require patching qemu to get proper size of flash partitions
# (by default qemu has Chinook split).
</tt>rootfs_offset=3328 # diablo</pre>
<ul>
<li>Extraia a partição de configuração do seu Nokia N800
<ul>
<li>Você irá precisar instalar algum servidor SSH, disponível pelo Gerenciador de aplicativos, com o catálogo <em>maemo Extras </em>ativado .</li>
<li>mkdir ~/qemu-n800/qemu-img</li>
<li><tt>ssh root@&lt;N800 IP&gt; cat /dev/mtd1ro &gt; config.mtd</tt>
<ul>
<li><tt>recomendo instalar também o aplicativo HomeIP para verificar seu endereço.</tt></li>
</ul>
</li>
</ul>
</li>
</ul>
<p><tt><br />
</tt></p>
<ul>
<li>Utilizaremos o<em> &#8220;Poky Linux&#8221; Project&#8217;s Flash Filesystem Tool</em> para criar um sistema de arquivos para o sistema emulado:</li>
</ul>
<pre style="padding-left:30px;"># <tt>cd ~/qemu-n800/qemu-img
</tt><tt>#../poky-nokia800-flashutil ../os2008/diablo/initfs.jffs2 \
qemu-n800.img initfs
</tt><tt>#../poky-nokia800-flashutil config.mtd qemu-n800.img config
#../poky-nokia800-flashutil ../os2008/diablo/rootfs.jffs2 \
qemu-n800.img rootfs</tt></pre>
<ul>
<li>Inicie o Qemu com as seguintes opções:</li>
</ul>
<pre style="padding-left:30px;"># <tt>cd ~/qemu-n800/qemu-img
#<strong> ~/qemu-n800/qemu/install/bin/qemu-system-arm \</strong></tt><strong><tt>
-kernel ../os2008/zImage </tt><tt>-M n800 \
-mtdblock qemu-n800.img \
-m 130 \
-append "root=/dev/mtdblock3 rootfstype=jffs2"

</tt></strong></pre>
<p><strong><tt></tt></strong><tt>Para fazer o teclado funcionar adicione no final do comando:</tt><strong><tt> -usb -usbdevice keyboard</tt></strong></p>
<div id="attachment_441" class="wp-caption aligncenter" style="width: 477px"><img class="size-full wp-image-441" title="Bootstrap do N800 no QEmu" src="http://escovandobits.files.wordpress.com/2009/04/boot2.png?w=467&#038;h=294" alt="Bootstrap do N800 no QEmu" width="467" height="294" /><p class="wp-caption-text">Bootstrap do N800 no QEmu</p></div>
<div id="attachment_452" class="wp-caption aligncenter" style="width: 477px"><img class="size-full wp-image-452" title="Imagem padrão da Nokia" src="http://escovandobits.files.wordpress.com/2009/04/boot3.png?w=467&#038;h=294" alt="Imagem padrão da Nokia" width="467" height="294" /><p class="wp-caption-text">Imagem padrão da Nokia</p></div>
<div id="attachment_453" class="wp-caption aligncenter" style="width: 477px"><img class="size-full wp-image-453" title="N800 no QEmu :-)" src="http://escovandobits.files.wordpress.com/2009/04/boot7.png?w=467&#038;h=294" alt="N800 no QEmu :-)" width="467" height="294" /><p class="wp-caption-text">N800 no QEmu <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p></div>
<h2>5. Considerações e Futuro</h2>
<ul>
<li>A emulação mostrou-se um pouco lenta. Na primeira vez que bootou senti meio devagar, mas nos outros <em>boots </em>achei até que razozável a velocidade.</li>
<li>Preciso arrumar uma forma de colocar um &#8220;&#8216;ponteiro&#8221; para a caneta <em>stylus</em>, pois embora o mouse funcione ele não mostra a posição  na tela.</li>
<li>A alteração no código do Qemu foi específica para a ultima versão do OS 2008 (Diablo), acredito que o Qemu irá incorporar um maneira para permitir multiplas versões do Maemo sem precisar alterar o código.</li>
<li>Configurar a rede.</li>
</ul>
<h2>6. Recomendo ler o que já foi publicado a respeito</h2>
<p>[1] <a href="http://www.rkeene.org/projects/info/wiki/106" target="_blank">http://www.rkeene.org/projects/info/wiki/106</a></p>
<p>[2] <a href="http://marcin.juszkiewicz.com.pl/2008/04/11/nokia-n800-emulation/" target="_blank">http://marcin.juszkiewicz.com.pl/2008/04/11/nokia-n800-emulation/</a></p>
<p>[3] <a href="http://marcin.juszkiewicz.com.pl/2008/08/01/nokia-n8x0-emulation-part-ii/" target="_blank">http://marcin.juszkiewicz.com.pl/2008/08/01/nokia-n8&#215;0-emulation-part-ii/</a></p>
Posted in embedded, Linux, Sistemas Embarcados Tagged: Linux, maemo, n800, nokia, qemu <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/escovandobits.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/escovandobits.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/escovandobits.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/escovandobits.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/escovandobits.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/escovandobits.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/escovandobits.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/escovandobits.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/escovandobits.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/escovandobits.wordpress.com/418/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=418&subd=escovandobits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://escovandobits.wordpress.com/2009/04/27/emulando-o-maemo-diablo-no-n800-com-o-qemu/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f615d34c675bc325d78631c8077f0187?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tiago Maluta</media:title>
		</media:content>

		<media:content url="http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif" medium="image">
			<media:title type="html">;-)</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/full_boot6.png" medium="image">
			<media:title type="html">Emulando o N800 e rodando o OS 2008 (Diablo)</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/boot2.png" medium="image">
			<media:title type="html">Bootstrap do N800 no QEmu</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/boot3.png" medium="image">
			<media:title type="html">Imagem padrão da Nokia</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/boot7.png" medium="image">
			<media:title type="html">N800 no QEmu :-)</media:title>
		</media:content>
	</item>
		<item>
		<title>Breve análise do N800</title>
		<link>http://escovandobits.wordpress.com/2009/04/25/breve-analise-n800/</link>
		<comments>http://escovandobits.wordpress.com/2009/04/25/breve-analise-n800/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 08:41:00 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistemas Embarcados]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[maemo]]></category>
		<category><![CDATA[n800]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://escovandobits.wordpress.com/?p=377</guid>
		<description><![CDATA[Resolvi comprar numa promoção do Submarino.com.br um N800 para dar de presente a minha mãe no dia das mães. Enquanto o dia &#8220;oficialmente&#8221; não chega, vou publicar algumas coisas que andei brincando.

 O N800 roda uma versão adaptada do GNU/Linux chamada Maemo (OS 2007). A primeira coisa que fiz depois de dar uma fuçada inicial [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=377&subd=escovandobits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Resolvi comprar numa promoção do Submarino.com.br um <a href="http://en.wikipedia.org/wiki/N800" target="_blank">N800</a> para dar de presente a minha mãe no <em>dia das mães</em>. Enquanto o dia &#8220;oficialmente&#8221; não chega, vou publicar algumas coisas que andei brincando.</p>
<p style="text-align:center;">
<div id="attachment_378" class="wp-caption aligncenter" style="width: 160px"><img class="size-thumbnail wp-image-378" title="screenshot01" src="http://escovandobits.files.wordpress.com/2009/04/screenshot01.png?w=150&#038;h=90" alt="Tela do Os 2008" width="150" height="90" /><p class="wp-caption-text">Tela do OS 2008</p></div>
<p style="text-align:justify;"><span id="more-377"></span> O N800 roda uma versão adaptada do GNU/Linux chamada <a href="http://en.wikipedia.org/wiki/Maemo_(operating_system)" target="_blank">Maemo</a> (OS 2007). A primeira coisa que fiz depois de dar uma <em>fuçada</em> inicial foi atualizar o <em>firmware </em>para a versão OS 2008.  No meu notebook rodando Gentoo esse processo foi praticamente direto seguindo os <a href="http://wiki.maemo.org/Updating_the_tablet_firmware" target="_blank">passos</a> do wiki do Maemo:</p>
<p style="text-align:justify;"><span style="color:#ff0000;">./flasher-3.0 -F RX-34_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin -f -R</span><br style="color:#ff0000;" /></p>
<pre style="padding-left:30px;"><span style="color:#000000;font-family:courier new,monospace;">flasher v0.8.7 (Oct 17 2006)</span></pre>
<pre style="padding-left:30px;"><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">SW version in image: RX-34_DIABLO_5.2008.43-7_PR_MR0</span></pre>
<pre style="text-align:justify;padding-left:30px;">(...)</pre>
<pre style="text-align:justify;padding-left:30px;"><span style="font-family:courier new,monospace;">Flashing bootloader... done.</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">Sending kernel image (1500 kB)...</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">100% (1500 of 1500 kB, avg. 10874 kB/s)</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">Flashing kernel... done.</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">Sending initfs image (2273 kB)...</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">100% (2273 of 2273 kB, avg. 22286 kB/s)</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">Flashing initfs... done.</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">Sending and flashing rootfs image (134912 kB)...</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">100% (134912 of 134912 kB, avg. 7367 kB/s)</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">Finishing flashing... done

</span></pre>
<p>Com a versão nova percebe-se imediatamente as melhorias comparadas a versão antiga. A interface gráfica está muito mais amigável e o suporte está mais refinado.</p>
<div id="attachment_381" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-381" title="screenshot02" src="http://escovandobits.files.wordpress.com/2009/04/screenshot02.png?w=300&#038;h=180" alt="Browser" width="300" height="180" /><p class="wp-caption-text">Browser</p></div>
<p style="text-align:justify;">O <em>browser</em> utiliza uma <a href="http://www.mozilla.org/newlayout/" target="_blank">engine</a> do Mozilla, consegui abrir sites que rodam <em>flash</em> bem como acessar sites de bancos. É difícil enquadrar o N800 em um grupo específico, pois ele <strong>não</strong> é um <em>smartphone</em>. Contudo, se compararmos com outros dispositivos atuais e similares (pelo menos em alguma funcionalidade) como o iPhone (Mac OSX) ou o HTC G1 (Android) percebe-se que ele é um dispositivo mais aberto aos entusiastas que desejam &#8220;fuçar&#8221;.  O site Ars Technica fez uma breve <a href="http://arstechnica.com/apple/news/2007/09/quick-comparison-n800-v-ipod-touch.ars" target="_blank">comparação</a> com o iPod Touch. O usuário de alguma distribuição GNU/Linux baseada no GNOME vai sentir-se familiarizado com os aplicativos disponíveis: pidgin, gnumeric, evince, x-chat, etc; todos previamente <a href="http://live.gnome.org/Hildon" target="_blank">hildonizados</a> (adequados ao tamanho e  integrado a para melhor usabilidade da tela). Fiquei impressionado com o suporte a outros aplicativos básicos como mplayer, skype, gizmo e <em>codecs</em> como ogg. Tecnicamente qualquer aplicativo que rode na sua distribuição pode ser portável para o N800.</p>
<p style="text-align:justify;">Também achei fácil a maneira de instalar a remover programas através do <em>Gerenciador de aplicativos</em>,  lá você pode selecionar numa lista, fazer o download e instalar/remover programas.</p>
<p style="text-align:justify;"><img class="aligncenter size-medium wp-image-386" title="Gerenciador de aplicativos" src="http://escovandobits.files.wordpress.com/2009/04/screenshot031.png?w=300&#038;h=180" alt="Gerenciador de aplicativos" width="300" height="180" /></p>
<p style="text-align:justify;">Um programa que achei interessante é o media center <a href="http://openbossa.indt.org/canola/" target="_blank">Canola2</a> que foi desenvolvido em Python com as <a href="http://en.wikipedia.org/wiki/Enlightenment_Foundation_Libraries" target="_blank">bibliotecas</a> gráficas do Enlightment.</p>
<p style="text-align:justify;"><img class="aligncenter size-medium wp-image-402" title="Canola2 com a extensão para videos no Youtube" src="http://escovandobits.files.wordpress.com/2009/04/screenshot07.png?w=300&#038;h=180" alt="Canola2 com a extensão para videos no Youtube" width="300" height="180" /></p>
<p style="text-align:justify;">
<p style="text-align:justify;">Após instalar alguns aplicativos como o ssh (<em>openssh server/client</em>) e testar o emulador de terminal (<em>osso_xterm</em>) chegou a hora de pegar algumas informações do sistema. Comecei pelas informações da CPU em /proc/cpuinfo.</p>
<p style="text-align:justify;">Primeiro com o emulador do terminal:</p>
<p style="text-align:justify;">
<p style="text-align:center;"><img class="size-medium wp-image-388 aligncenter" title="'cpuinfo' no X Terminal" src="http://escovandobits.files.wordpress.com/2009/04/screenshot04.png?w=300&#038;h=180" alt="'cpuinfo' no X Terminal" width="300" height="180" /></p>
<p style="text-align:center;">
<p style="text-align:justify;">Agora vejam a saída pelo SSH:</p>
<p style="text-align:center;">
<p style="text-align:center;"><img class="size-medium wp-image-389 aligncenter" title="'cpuinfo' via ssh" src="http://escovandobits.files.wordpress.com/2009/04/bat1.png?w=300&#038;h=210" alt="'cpuinfo' via ssh" width="300" height="210" /></p>
<p style="text-align:justify;">Reparem na diferença do valor dos <strong>BogoMIPS</strong> no ssh (164.36) e no X Terminal (397.46). Não pensei ainda o porquê dessa diferença, mas vou procurar.</p>
<p style="text-align:justify;">Peguei outras informações que bateram nas duas análises, como a memória <em>flash</em> está particionada:</p>
<p style="text-align:justify;padding-left:30px;"><span style="font-family:courier new,monospace;">dev:    size   erasesize  name</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">mtd0: 00020000 00020000 &#8220;bootloader&#8221;</span> <span style="color:#ff0000;">(128KB)</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">mtd1: 00060000 00020000 &#8220;config&#8221; <span style="color:#ff0000;">(</span></span><span style="color:#ff0000;">384KB)</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">mtd2: 00200000 00020000 &#8220;kernel&#8221;</span> <span style="color:#ff0000;">(2MB)</span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">mtd3: 00400000 00020000 &#8220;initfs&#8221; <span style="color:#ff0000;">(4MB)</span></span><br style="font-family:courier new,monospace;" /><span style="font-family:courier new,monospace;">mtd4: 0f980000 00020000 &#8220;rootfs&#8221; <span style="color:#ff0000;">(249.5MB)</span></span></p>
<p style="text-align:justify;">Fiz o <em>dump</em> mas ainda não analisei efetivamente há alguma informação útil. O sistema executa o kernel 2.6.21 (cmdline: root=1f03 rootfstype=jffs2 ro console=tty0 console=ttyMTD5) e o máximo que consegui de informações iniciais do<em> dmesg </em>foi a partir do instante 0.687500 (segundos), ou seja, não consegui aquelas informações realmente do começo (a partir do instante zero). Contudo dá para ter idéia de algumas coisas, como por exemplo, que os desenvolvedores utilizam o <a href="http://www.nongnu.org/qemu/" target="_blank">Qemu</a> para fazer os testes enquanto desenvolvem.</p>
<pre style="text-align:justify;"><span style="font-family:courier new,monospace;">[    0.687500]
/home/bifh4/diablo-uarm-prereleased.gcc34qemu/work/\
kernel-diablo-2.6.21/kernel-source-diablo/drivers/\
usb/input/hid-core.c: v2.6:USB HID core driver                                                                                                                                                       
[    0.687500]
/home/bifh4/diablo-uarm-prereleased.gcc34qemu/work/\
kernel-diablo-2.6.21/kernel-source-diablo/drivers/\
usb/net/rtl8150.c: rtl8150 based usb-ethernet driver v0.6.2                                                                                                                      
</span></pre>
<p style="text-align:justify;">Isso é fato pois o a última versão estável do Qemu (0.10.0) suporta a emulação do <em>hardware</em> do N8&#215;0. Reparem que é a mesma plataforma tanto no N800 como no N810.</p>
<p style="text-align:justify;padding-left:30px;"><span style="font-family:courier new,monospace;">#qemu-system-arm -M ? | grep Nokia</span></p>
<pre style="padding-left:30px;"><span style="font-family:courier new,monospace;">n800       Nokia N800 tablet aka. RX-34 (OMAP2420)
n810       Nokia N810 tablet aka. RX-44 (OMAP2420)</span></pre>
<p style="text-align:justify;">Há sites <a href="http://www.rkeene.org/projects/info/wiki/106" target="_blank">ensinando</a> como se faz isso e espero escrever alguma coisa a respeito no futuro haja visto que o N800 é um presente <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align:justify;">Essa foi uma análise breve, de um dia, no N800. Talvez um ponto crítico seja não ter o suporte a redes GSM (GPRS) mas isso hoje pode ser contornado utilizando um celular e fazendo a ponte via <em>bluetooth</em>. Além disso a plataforma <a href="http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?contentId=4671&amp;navigationId=11990&amp;templateId=6123" target="_blank">OMAP</a> da TI é poderosa o suficiente para  utilizar e desenvolver aplicativos que precisem de desempenho (dentro de certo limites é claro) e o preço das promoções no Brasil está fazendo valer a pena.</p>
<p style="text-align:justify;">
<div id="attachment_416" class="wp-caption aligncenter" style="width: 478px"><img class="size-full wp-image-416" title="N800 + Teclado bluetooth" src="http://escovandobits.files.wordpress.com/2009/04/26042009886.jpg?w=468&#038;h=351" alt="N800 + Teclado bluetooth" width="468" height="351" /><p class="wp-caption-text">N800 + Teclado bluetooth</p></div>
Posted in embedded, Linux, Sistemas Embarcados Tagged: Linux, maemo, n800, nokia <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/escovandobits.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/escovandobits.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/escovandobits.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/escovandobits.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/escovandobits.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/escovandobits.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/escovandobits.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/escovandobits.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/escovandobits.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/escovandobits.wordpress.com/377/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=377&subd=escovandobits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://escovandobits.wordpress.com/2009/04/25/breve-analise-n800/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f615d34c675bc325d78631c8077f0187?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tiago Maluta</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/screenshot01.png?w=150" medium="image">
			<media:title type="html">screenshot01</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/screenshot02.png?w=300" medium="image">
			<media:title type="html">screenshot02</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/screenshot031.png?w=300" medium="image">
			<media:title type="html">Gerenciador de aplicativos</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/screenshot07.png?w=300" medium="image">
			<media:title type="html">Canola2 com a extensão para videos no Youtube</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/screenshot04.png?w=300" medium="image">
			<media:title type="html">'cpuinfo' no X Terminal</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/bat1.png?w=300" medium="image">
			<media:title type="html">'cpuinfo' via ssh</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2009/04/26042009886.jpg" medium="image">
			<media:title type="html">N800 + Teclado bluetooth</media:title>
		</media:content>
	</item>
		<item>
		<title>ARM na UNIFEI</title>
		<link>http://escovandobits.wordpress.com/2008/09/20/arm-na-unifei/</link>
		<comments>http://escovandobits.wordpress.com/2008/09/20/arm-na-unifei/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 21:59:04 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[embedded]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[unifei]]></category>

		<guid isPermaLink="false">http://escovandobits.wordpress.com/?p=172</guid>
		<description><![CDATA[A ARM visitou a Universidade Federal de Itajubá no último dia 18 de Setembro. Eles ficaram apenas um dia, no qual dois funcionários &#8211; um engenheiro de aplicações e um engenheiro de design &#8211; falaram sobre alguns temas, tais como: características dos processadores ARM, grupo de instruções, design do sistema, pipelines e um apanhado das [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=172&subd=escovandobits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">A ARM visitou a Universidade Federal de Itajubá no último dia 18 de Setembro. Eles ficaram apenas um dia, no qual dois funcionários &#8211; um engenheiro de aplicações e um engenheiro de design &#8211; falaram sobre alguns temas, tais como: características dos processadores ARM, grupo de instruções, <em>design</em> do sistema, <em>pipelines</em> e um apanhado das ferramentas de desenvolvimento.</p>
<div id="attachment_167" class="wp-caption aligncenter" style="width: 310px"><a href="http://escovandobits.files.wordpress.com/2008/09/arm_legenda.jpg"><img class="size-medium wp-image-167" title="arm_legenda" src="http://escovandobits.files.wordpress.com/2008/09/arm_legenda.jpg?w=300&#038;h=226" alt="" width="300" height="226" /></a><p class="wp-caption-text">Joe Bungo</p></div>
<p><span id="more-172"></span></p>
<p style="text-align:justify;">O prof. Dr. Otávio Carpinteiro e eu fomos almoçar com eles. Nesse tempo eu pude fazer algumas perguntas, por exemplo, por que uma unidade JTAG é tão caro? Bill me respondeu que não é necessário utilizar um JTAG de um fabricante específicos. Eu posso usar um JTAG &#8220;<em>feito em casa</em>&#8220;. O alto preço é devido a eletrônica para acelerar a comunicação.</p>
<p style="text-align:justify;">Eu gostaria de enfatizar alguns pontos da apresentação:</p>
<ul>
<li><strong>Grupo de instruções 16-bit Thumb</strong>: uma grande conquista na briga por baixo consumo elétrico.</li>
<li><strong>Jazelle</strong>: permite rodar o bytecode Java direto no processador (todos o processadores ARM com<strong> J</strong> no seu nome utiliza essa característica)</li>
<li><strong>Barrel Shifter</strong>: uma técncia para aperfeiçoar a multiplicação por algumas constantes. (constantes 2^n +- 1 são multiplicadas com um ciclo de clock apenas)</li>
<li><strong>AMBA</strong> (Advanced Microcontroller Bus Architecture): Uma arquitetura de barramento para comunicação muito interessante.</li>
</ul>
<p style="text-align:justify;">Com o objetivo de fomentar outros pontos de vista, recomendo ler um artigo publicado no  site Embedded.com intitulado <a href="http://www.embedded.com/story/OEG20030610S0041" target="_blank">Ten lies about microprocessors</a> (Dez mentiras sobre os processadores) no qual o autor comenta assuntos como consumo de energia e o crescimento do processadores baseados em Java.</p>
<p style="text-align:justify;">O modelo de negócios da ARM é outro ponto interessante. Eles não fabricam os processadores apenas licenciam a propriedade intelectual para um cliente (parceiro ARM) que então produz o <em>chip</em>. Mais informações <span class="ccbnTxt"><a href="http://ir.arm.com/phoenix.zhtml?c=197211&amp;p=irol-homeprofile#business_model" target="_blank">aqui</a> (em inglês).<a href="http://ir.arm.com/phoenix.zhtml?c=197211&amp;p=irol-homeprofile#business_model" target="_blank"><br />
</a></span></p>
<p style="text-align:justify;">
<div id="attachment_164" class="wp-caption aligncenter" style="width: 310px"><a href="http://escovandobits.files.wordpress.com/2008/09/foto_arm_legenda.jpg"><img class="size-medium wp-image-164" title="foto_arm_legenda" src="http://escovandobits.files.wordpress.com/2008/09/foto_arm_legenda.jpg?w=300&#038;h=226" alt="" width="300" height="226" /></a><p class="wp-caption-text">Tiago Maluta, Joe Bungo, Bill, Otávio Carpinteiro</p></div>
<p style="text-align:justify;">Os processadores ARM rodam em muitos dispositivos atuais tais como celulares e dispositivos portáteis para <em>internet</em> (MIDs). Uma curiosidade: na apresentação Joe Bungo arriscou dizer que o <a href="http://www.apple.com/iphone/" target="_blank">iphone</a> roda onze processadores baseados em ARM (bluetooth, wi-fi, etc) <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align:justify;">Você pode fazer o download da apresentação <strong><a href="http://escovandobits.files.wordpress.com/2008/09/armwksp.pdf">aqui</a>.</strong></p>
Posted in embedded, eventos Tagged: arm, unifei <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/escovandobits.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/escovandobits.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/escovandobits.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/escovandobits.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/escovandobits.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/escovandobits.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/escovandobits.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/escovandobits.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/escovandobits.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/escovandobits.wordpress.com/172/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=172&subd=escovandobits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://escovandobits.wordpress.com/2008/09/20/arm-na-unifei/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f615d34c675bc325d78631c8077f0187?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tiago Maluta</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2008/09/arm_legenda.jpg?w=300" medium="image">
			<media:title type="html">arm_legenda</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2008/09/foto_arm_legenda.jpg?w=300" medium="image">
			<media:title type="html">foto_arm_legenda</media:title>
		</media:content>
	</item>
		<item>
		<title>ARM at UNIFEI</title>
		<link>http://escovandobits.wordpress.com/2008/09/20/arm-at-unifei/</link>
		<comments>http://escovandobits.wordpress.com/2008/09/20/arm-at-unifei/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 21:58:25 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[embedded]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[unifei]]></category>

		<guid isPermaLink="false">http://escovandobits.wordpress.com/?p=162</guid>
		<description><![CDATA[ARM visited Federal University of Itajuba last September 18th. They stayed only one day where two employees &#8211; one application engineer and other design engineer &#8211; talked about some topics such as: basics of ARM processors, the ARM Instruction Set Architecture, system design, pipelines, and an overview of the development tools.

Prof. Dr. Otavio Carpinteiro and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=162&subd=escovandobits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">ARM visited Federal University of Itajuba last September 18th. They stayed only one day where two employees &#8211; one application engineer and other design engineer &#8211; talked about some topics such as: basics of ARM processors, the ARM Instruction Set Architecture, system design, pipelines, and an overview of the development tools.</p>
<div id="attachment_167" class="wp-caption aligncenter" style="width: 310px"><a href="http://escovandobits.files.wordpress.com/2008/09/arm_legenda.jpg"><img class="size-medium wp-image-167" title="arm_legenda" src="http://escovandobits.files.wordpress.com/2008/09/arm_legenda.jpg?w=300&#038;h=226" alt="" width="300" height="226" /></a><p class="wp-caption-text">Joe Bungo</p></div>
<p><span id="more-162"></span></p>
<p style="text-align:justify;">Prof. Dr. Otavio Carpinteiro and I lunched with them. In this time I could ask some questions, for example, why JTAG unit is so expensive? Bill answered that the JTAG from a specific vendor isn&#8217;t really necessary. I can use a <a href="http://en.wikipedia.org/wiki/DIY" target="_blank"><em>home made</em></a> JTAG. The high price comes from electronic circuits to speed up communication.</p>
<p style="text-align:justify;">I&#8217;d like to emphasize some points on presentation:</p>
<ul>
<li><strong>16-bit Thumb Instruction Set</strong>: one great achievement on battle to low power consumptions. Running 16 bits instructions on a 32-bit processor.</li>
<li><strong>Jazelle Cores</strong>: running Java bytecode (all ARM processors with <strong>J</strong> on his name uses this feature)</li>
<li><strong>Barrel Shifter</strong>: to improve multiplication of some constants (constants      2^n +- 1 will be able to be executed in a single cycle guaranteed, some constants can use the barrel shifter and be executed in 2 or 3 cycles).</li>
<li><strong>AMBA</strong> (Advanced Microcontroller Bus Architecture)</li>
</ul>
<p style="text-align:justify;">In order to foment another points of view, I recommend and Embeeded.com article called <a href="http://www.embedded.com/story/OEG20030610S0041" target="_blank">Ten lies about microprocessors</a> where the author comments issues like power consumption and the rising of Java chips.</p>
<p style="text-align:justify;">The ARM business model is another interesting issue. They did not produce silicon but <span class="ccbnTxt">ARM license its <a href="http://en.wikipedia.org/wiki/Intellectual_property" target="_blank">IP</a> (</span><span class="ccbnTxt">intellectual property)</span><span class="ccbnTxt"> to a direct customer (ARM Partner) that produces it. More information <a href="http://ir.arm.com/phoenix.zhtml?c=197211&amp;p=irol-homeprofile#business_model" target="_blank">here</a>.</span></p>
<p style="text-align:justify;">
<div id="attachment_164" class="wp-caption aligncenter" style="width: 310px"><a href="http://escovandobits.files.wordpress.com/2008/09/foto_arm_legenda.jpg"><img class="size-medium wp-image-164" title="foto_arm_legenda" src="http://escovandobits.files.wordpress.com/2008/09/foto_arm_legenda.jpg?w=300&#038;h=226" alt="" width="300" height="226" /></a><p class="wp-caption-text">Tiago Maluta, Joe Bungo, Bill, Otávio Carpinteiro</p></div>
<p style="text-align:justify;">ARM processors runs on a lot of bleeding edge devices such as mobile phones and <a href="http://en.wikipedia.org/wiki/Mobile_Internet_Device" target="_blank">MIDs</a> (Mobile Internet Devices). One curiosity: on presentation Joe Bungo guess that iphone runs eleven ARM-based processor (bluetooth, wi-fi, etc) <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="text-align:justify;">You can <strong>download</strong> the presentation <strong><a href="http://escovandobits.files.wordpress.com/2008/09/armwksp.pdf">here.</a></strong></p>
Posted in embedded, eventos Tagged: arm, unifei <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/escovandobits.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/escovandobits.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/escovandobits.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/escovandobits.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/escovandobits.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/escovandobits.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/escovandobits.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/escovandobits.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/escovandobits.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/escovandobits.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=162&subd=escovandobits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://escovandobits.wordpress.com/2008/09/20/arm-at-unifei/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f615d34c675bc325d78631c8077f0187?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tiago Maluta</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2008/09/arm_legenda.jpg?w=300" medium="image">
			<media:title type="html">arm_legenda</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2008/09/foto_arm_legenda.jpg?w=300" medium="image">
			<media:title type="html">foto_arm_legenda</media:title>
		</media:content>
	</item>
		<item>
		<title>ARM Evaluator-7T</title>
		<link>http://escovandobits.wordpress.com/2008/07/24/arm-evaluator-7t/</link>
		<comments>http://escovandobits.wordpress.com/2008/07/24/arm-evaluator-7t/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 22:38:01 +0000</pubDate>
		<dc:creator>Tiago Maluta</dc:creator>
				<category><![CDATA[embedded]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[evaluator]]></category>
		<category><![CDATA[GNU]]></category>

		<guid isPermaLink="false">http://escovandobits.wordpress.com/?p=82</guid>
		<description><![CDATA[Ese post irá fazer um breve descrição da board Evaluator-7T da ARM. Apresentando uma toolchain (GNU) para construção/depuração dos programas. É uma abordagem bem introdutória, com alguns conceitos que aprendi nos últimos dias. Ainda espero escrever mais alguns posts com mais informações.

.
Introdução
.
Estou fazendo alguns testes na plataforma Evaluator-7T [1] baseado no core ARM (ARM7TDMI) [2]. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=82&subd=escovandobits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="western" style="margin-bottom:0;text-align:justify;">Ese <em>post</em> irá fazer um breve descrição da <em>board </em>Evaluator-7T da ARM. Apresentando uma <em>toolchain</em> (GNU) para construção/depuração dos programas. É uma abordagem bem introdutória, com alguns conceitos que aprendi nos últimos dias. Ainda espero escrever mais alguns <em>posts</em> com mais informações.</p>
<div id="attachment_95" class="wp-caption aligncenter" style="width: 310px"><a href="http://escovandobits.files.wordpress.com/2008/07/s3c4510x01.jpg"><img class="size-medium wp-image-95" src="http://escovandobits.files.wordpress.com/2008/07/s3c4510x01.jpg?w=300&#038;h=300" alt="ARM Samsung S3C4510X01" width="300" height="300" /></a><p class="wp-caption-text">Processador da Evaluator-7T </p></div>
<p class="western" style="margin-bottom:0;"><span id="more-82"></span></p>
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:justify;"><strong>Introdução</strong></p>
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:justify;">Estou fazendo alguns testes na plataforma Evaluator-7T [1] baseado no <em>core </em>ARM (ARM7TDMI) [2]. Minha primeira tentativa foi buscar referências para instalar o Linux nela [3]. Contudo a<span style="font-style:normal;"> ausência de uma Unidade de Gerenciamento de Memória (MMU) faz com que seja necessário buscar um </span><em>kernel</em><span style="font-style:normal;"> adaptado (ucLinux) [4]. </span>Não encontrei muita coisa que permitisse e vejo que um dos fatores mais cruciais é a limitação de memória (512KB) de <em>flash.</em><span style="font-style:normal;"> Nas listas de discussões há uma </span><em>thread</em><span style="font-style:normal;"> [5] a respeito da instalação do ucLinux em um roteador [6]. O </span><em>layout</em><span style="font-style:normal;"> da placa mostra não permite uma interação muito grande com o usuário, temos apenas um </span><em>display</em><span style="font-style:normal;"> de 7-segmentos e 4 LEDs além de um </span><em>push-button</em><span style="font-style:normal;"> que gera uma interrupção. Embora seja possível agregar mais periféricos ainda não fiz nenhum teste, a intenção é colocar um </span><em>display</em><span style="font-style:normal;"> LCD e alguns sensores. </span></p>
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<div class="mceTemp mceIEcenter" style="text-align:left;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://escovandobits.files.wordpress.com/2008/07/board_layout.png"><img class="size-medium wp-image-85" src="http://escovandobits.files.wordpress.com/2008/07/board_layout.png?w=300&#038;h=250" alt="Layout da Evaluator-7T" width="300" height="250" /></a></dt>
</dl>
</div>
<p class="western" style="margin-bottom:0;font-style:normal;text-align:left;">
<p class="western" style="margin-bottom:0;text-align:left;">
<p class="western" style="margin-bottom:0;text-align:left;">
<p class="western" style="margin-bottom:0;text-align:left;">
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p>Os componentes são:<span style="color:#ffffff;">.</span></p>
<ul>
<li> Samsung KS32C50100 microcontroller</li>
</ul>
<ul>
<li> 512KB flash EPROM</li>
</ul>
<ul>
<li> 512KB SRAM</li>
</ul>
<ul>
<li> two 9-pin D-type RS232 connectors</li>
</ul>
<ul>
<li> reset and interrupt push buttons</li>
</ul>
<ul>
<li> four user-programmable LEDs and a seven-segment LED display</li>
</ul>
<ul>
<li> 4-way user input DIP switch</li>
</ul>
<ul>
<li> Multi-ICE connector</li>
</ul>
<ul>
<li> 10MHz clock (the processor uses this to generate a 50MHz clock)</li>
</ul>
<ul>
<li> 3.3V voltage regulator</li>
</ul>
<p><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:justify;">
<p class="western" style="margin-bottom:0;text-align:justify;"><strong>Comunicação</strong></p>
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:justify;">Existem duas formas de comunicação com a placa. A primeira pelo cabo serial (RS-232) e a outra através de uma interface Multi-ICE (JTAG) que também não tive tempo de aprender para publicar algo.</p>
<p class="western" style="margin-bottom:0;text-align:justify;">
<div id="attachment_86" class="wp-caption aligncenter" style="width: 310px"><a href="http://escovandobits.files.wordpress.com/2008/07/bootstrap.png"><img class="size-medium wp-image-86" src="http://escovandobits.files.wordpress.com/2008/07/bootstrap.png?w=300&#038;h=278" alt="Comunicação com o computador" width="300" height="278" /></a><p class="wp-caption-text">Comunicação com o computador</p></div>
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:center;">
<p class="western" style="margin-bottom:0;text-align:left;">
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:justify;"><strong>Um exemplo</strong></p>
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:justify;">Não conesguir “bootar” Linux (<em>kernel</em>) não significa que não possamos executar programas. Para os exemplos desse <em>post</em> estou utilizando o <em>cross compiler </em><span style="font-style:normal;">fornecido pela GNU ARM [7]. A versão 3.4.3 do gcc e do gdb. Nesse exemplo, o depurador será muito importante, pois além de servir para analisar o fluxo de execução do programa este será utilizado para carregar o programa na placa. Para você verificar se seu depurador suporta tal recurso, entre no depurador e digite “help target”, uma lista será apresentada, sendo importante aparecer a target rdi, pois é através dela que efetuamos a comunicação:</span></p>
<p class="western" style="margin-bottom:0;text-align:justify;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;font-style:normal;text-align:left;">
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">(gdb) <strong>help target</strong></p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">Connect to a target machine or process.</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">The first argument is the type or protocol of the target machine.</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">Remaining arguments are interpreted by the target protocol.  For more</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">information on the arguments for a particular protocol, type</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">`help target &#8216; followed by the protocol name.</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">List of target subcommands:</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">target async &#8212; Use a remote computer via a serial line</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">target exec &#8212; Use an executable file as a target</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">target extended-async &#8212; Use a remote computer via a serial line</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">target extended-remote &#8212; Use a remote computer via a serial line</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;"><span style="color:#ff0000;">target rdi &#8212; Use a remote ARM-based computer; via the RDI library </span></p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">target rdp &#8212; Use a remote ARM system which uses the ARM Remote Debugging Protocol</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">target remote &#8212; Use a remote computer via a serial line</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">target sim &#8212; Use the compiled-in simulator</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;"><span style="font-style:normal;">(gdb) </span><span style="font-style:normal;"><strong>help target rdi </strong></span></p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;"><span style="color:#ff0000;">Use a remote ARM-based computer; via the RDI library.</span></p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;"><span style="color:#ff0000;">Specify the serial device it is connected to (e.g. /dev/ttya).</span></p>
<p class="western" style="margin-bottom:0;font-style:normal;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;font-style:normal;text-align:left;">
<p class="western" style="margin-bottom:0;text-align:left;"><span style="font-style:normal;">Se verificarmos no BSL (</span><em>Boot Strap Loader</em><span style="font-style:normal;">) da Evaluator-7T,  temos:</span></p>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;font-style:normal;text-align:left;">
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">ARM Evaluator7T Boot Strap Loader Release 1.01</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">Press ENTER within 2 seconds to stop autoboot</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">Type &#8216;Help&#8217; for help,	Type &#8216;Boot&#8217; to load modules.</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;"><span style="font-style:normal;">Boot: </span><span style="font-style:normal;"><strong>boot </strong></span></p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">Scanning ROM for modules &#8230;</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">Found module &#8216;BootStrapLoader&#8217; at 01805390</p>
<p class="western" style="margin-bottom:0;font-style:normal;padding-left:30px;text-align:left;">Found module &#8216;ProductionTest&#8217; at 01807288</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;"><span style="color:#ff0000;"><span style="font-style:normal;">Found module &#8216;Angel&#8217; at 0181a5d8 </span></span></p>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;font-style:normal;text-align:left;">
<p class="western" style="margin-bottom:0;text-align:justify;">Portanto quando você inicializa a placa ela “permanece” no último módulo definido, no caso o módulo Angel que utiliza a biblioteca rdi. Você pode testar qualquer programa, mas é interessante fazer alguma coisa que mexa com periféricos. O código abaixo coloca o número 6 no display de 7-segmentos:</p>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<pre style="padding-left:30px;text-align:left;">#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;

#include "segment.h"

// Mapemanto do microcontrolador

#define SYSCFG	     0x03ff0000
#define IOPMOD          ((volatile unsigned *)(SYSCFG+0x5000))
#define IOPDATA         ((volatile unsigned *)(SYSCFG+0x5008))

static unsigned int numeric_display [16] =
{
	DISP_0,	DISP_1,	DISP_2,	DISP_3,	DISP_4,	DISP_5,	DISP_6,	DISP_7,	DISP_8,	DISP_9,
    DISP_A,	DISP_B,	DISP_C,	DISP_D,	DISP_E,	DISP_F
};	

int main(void) {

	// inicalização
	*IOPMOD 	|= SEG_MASK;
	*IOPDATA 	|= SEG_MASK;

	unsigned numero = 0x6;

	if ( numero &gt;= 0 &amp; numero &lt;= 0xf )  {
		*IOPDATA 	&amp;= ~SEG_MASK;
		*IOPDATA 	|= (unsigned) numeric_display[numero];
 	}

    return 0;
}</pre>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:left;">Compilando:</p>
<p class="western" style="margin-bottom:0;text-align:left;"># <strong>arm-elf-gcc -g segment.c -o segment<br />
</strong></p>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:left;">Agora vamos inicalizar o depurador para carregar o programa:</p>
<p class="western" style="margin-bottom:0;text-align:left;"><strong># arm-elf-gdb segment </strong></p>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">GNU gdb 6.1</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Copyright 2004 Free Software Foundation, Inc.</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">GDB is free software, covered by the GNU General Public License, and you are</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">welcome to change it and/or distribute copies of it under certain conditions.</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Type &#8220;show copying&#8221; to see the conditions.</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">There is absolutely no warranty for GDB.  Type &#8220;show warranty&#8221; for details.</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">This GDB was configured as &#8220;&#8211;host=i686-pc-linux-gnu &#8211;target=arm-elf&#8221;&#8230;</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">(gdb) <strong>set remotebaud 57600 </strong></p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">(gdb) <strong>target rdi /dev/ttyS0 </strong></p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Angel Debug Monitor V1.31 (ARM, INC. Evaluator Release v1.01)</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Built for ARM7TDMI Serial, IRQ</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Built Sep 26 2000</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Serial Rate:  57600</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">RDI_info: internal error, unimplemented message</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Connected to ARM RDI target.</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">(gdb) <strong>load </strong></p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .init, size 0&#215;1c lma 0&#215;8000</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .text, size 0&#215;2184 lma 0&#215;801c</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .fini, size 0&#215;18 lma 0xa1a0</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .rodata, size 0&#215;8 lma 0xa1b8</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .data, size 0&#215;8e8 lma 0xa2c0</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .eh_frame, size 0&#215;4 lma 0xaba8</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .ctors, size 0&#215;8 lma 0xabac</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .dtors, size 0&#215;8 lma 0xabb4</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Loading section .jcr, size 0&#215;4 lma 0xabbc</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Start address 0&#215;8110, load size 10944</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">Transfer rate: 43776 bits/sec, 377 bytes/write.</p>
<p class="western" style="margin-bottom:0;padding-left:30px;text-align:left;">(gdb) <strong>continue </strong></p>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:justify;">Após o load você pode executar/depurar seu programa normalmente, inserir <em>breakpoints</em>, ver informações do registro. Apenas atenção para um detalhe: após o load, para executar o programa é utilizado o comando &#8216;continue&#8217; ao invés a instrução &#8216;run&#8217; (como alguns possam pensar). Esta deve ser utilizada apenas se estiver no simulador e não na placa real.</p>
<p><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:left;"><strong>Outras abordagens</strong><span style="color:#ffffff;">..</span></p>
<ul>
<li>Esta placa é suportada [8] pelo sistema operacional <strong>eCos</strong> [9] atualmente desenvolvido pela Red Hat. O eCos não está relacionado com o Linux</li>
<li>A Evalutator também é suportada pelo <strong>redboot</strong> [10], um gerenciador de <em>boot</em> para sistemas embarcados.</li>
</ul>
<p><span style="color:#ffffff;">.</span></p>
<p><strong>Conclusões</strong><span style="color:#ffffff;">.</span></p>
<ol>
<li>A Evaluator-7T é uma placa antiga mas acredito que com ela é possível aprender algums conceitos de sistemas embarcos.</li>
<li>A programação em C facilita a vida.</li>
<li>Cógidos em Assembly podem ser inseridos através da diretiva __asm__ (&#8220;&#8221;).</li>
</ol>
<p style="text-align:justify;">Se alguém tiver sugestões, idéias, criticas, etc; fiquem a vontade em deixá-las nos comentários. Espero fazer um texto mais completo acerca dessa placa, com mais exemplos, mas enquanto não sento para escrever vou colocando aqui no blog <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  <span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:left;"><strong>Referências:</strong></p>
<p class="western" style="margin-bottom:0;text-align:left;"><span style="color:#ffffff;">.</span></p>
<p class="western" style="margin-bottom:0;text-align:left;">[1] <a href="http://infocenter.arm.com/help/topic/com.arm.doc.dui0134a/DUI0134A_evaluator7t_ug.pdf" target="_blank">http://infocenter.arm.com/help/topic/com.arm.doc.dui0134a/DUI0134A_evaluator7t_ug.pdf</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[2] <a href="http://www.arm.com/products/CPUs/ARM7TDMI.html">http://www.arm.com/products/CPUs/ARM7TDMI.html</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[3] <a href="http://osdir.com/ml/linux.ports.arm.general/2002-04/msg00037.html">http://osdir.com/ml/linux.ports.arm.general/2002-04/msg00037.html</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[4] <a href="http://www.uclinux.org/">http://www.uclinux.org/</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[5] <a href="http://mailman.uclinux.org/pipermail/uclinux-dev/2004-November/029266.html" target="_blank">http://mailman.uclinux.org/pipermail/uclinux-dev/2004-November/029266.html</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[6] <a href="http://pages.sbcglobal.net/greghol/routers/compusa_router.html">http://pages.sbcglobal.net/greghol/routers/compusa_router.html</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[7] <a href="http://www.gnuarm.com/gcc-3.4.3.tar.bz2" target="_blank">http://www.gnuarm.com/gcc-3.4.3.tar.bz2</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[8] <a href="http://ecos.sourceware.org/boards/e7t.html" target="_blank">http://ecos.sourceware.org/boards/e7t.html</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[9] <a href="http://ecos.sourceware.org/about.html" target="_blank">http://ecos.sourceware.org/about.html</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">[10] <a href="http://sourceware.org/redboot/" target="_blank">http://sourceware.org/redboot/</a></p>
<p class="western" style="margin-bottom:0;text-align:left;">
<p class="western" style="margin-bottom:0;text-align:left;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/escovandobits.wordpress.com/82/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/escovandobits.wordpress.com/82/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/escovandobits.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/escovandobits.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/escovandobits.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/escovandobits.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/escovandobits.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/escovandobits.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/escovandobits.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/escovandobits.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/escovandobits.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/escovandobits.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=escovandobits.wordpress.com&blog=2186857&post=82&subd=escovandobits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://escovandobits.wordpress.com/2008/07/24/arm-evaluator-7t/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f615d34c675bc325d78631c8077f0187?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tiago Maluta</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2008/07/s3c4510x01.jpg?w=300" medium="image">
			<media:title type="html">ARM Samsung S3C4510X01</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2008/07/board_layout.png?w=300" medium="image">
			<media:title type="html">Layout da Evaluator-7T</media:title>
		</media:content>

		<media:content url="http://escovandobits.files.wordpress.com/2008/07/bootstrap.png?w=300" medium="image">
			<media:title type="html">Comunicação com o computador</media:title>
		</media:content>
	</item>
	</channel>
</rss>