mirror of
https://github.com/elua/elua.git
synced 2025-01-08 20:56:17 +08:00
49 lines
5.1 KiB
HTML
49 lines
5.1 KiB
HTML
$$HEADER$$
|
|
<h3>Usando <b>eLua</b> com as CPUs AT91SAM7X da Atmel</h3>
|
|
|
|
<p>A <a href="http://www.atmel.com">Atmel</a> é uma empresa que não precisa de nenhum tipo de apresentação:)
|
|
Sua enorme variedade de produtos, inclui algumas implementações do núcleo do ARM7TDMI.
|
|
Entre elas estão as CPUs <a href="http://www.atmel.com/dyn/products/Product_card.asp?part_id=3755">AT91SAM7X256</a>
|
|
e <a href="http://www.atmel.com/dyn/products/Product_card.asp?part_id=4104">AT91SAM7X512</a>.
|
|
A única diferença entre elas é a quantidade de memória interna (256k Flash RAM + 64k para a AT91SAM7X256 e 512k Flash RAM + 128k para a AT91SAM7X512).
|
|
Com muitos periféricos e acompanhada por um aplicativo de apoio ao
|
|
desenvolvimento, elas oferecem um ótimo hardware para <b>eLua</b>.
|
|
Para este tutorial, vamos usar a placa de desenvolvimento <a href="http://www.olimex.com/dev/sam7-ex256.html">SAM7-EX256</a>
|
|
da <a href="http://www.olimex.com">Olimex</a>.
|
|
Em nossa opinião, está é realmente uma boa placa, com um preço razoável, mas que carece de um pacote de documentação
|
|
adequada.
|
|
É equipada com uma CPU AT91SAM7X256. Gostariamos de colocar as mãos numa placa com a CPU
|
|
AT91SAM7X512 mas, como não produziram uma ainda, vamos ficar com a AT91SAM7X256
|
|
por enquanto :)
|
|
Certamente você ainda poderá usar este tutorial com uma placa diferente da AT91SAM7X256.
|
|
Além disso, as instruções devem ser bastante semelhantes para CPUs AT91SAM7X512.</p>
|
|
<h3>Pré-requisitos</h3>
|
|
<p>Antes de você usar <b>eLua</b> com a CPU AT91SAM7X256, certifique-se que:</p>
|
|
<ul>
|
|
<li>esteja usando Linux ou Windows. Na realidade não é um pré-requisito, só faz com que a vida fique mais fácil. Já que a CPU é suportada pelo aplicativo <a href="http://openocd.berlios.de/web/">OpenOCD</a>, programá-la com o Linux é perfeitamente possível, já que o OpenOCD roda tanto no Windows quanto no Linux. No entanto, devido a restrições de algumas das minhas placas de desenvolvimento, aproveito a situação e fico com a ferramenta de programação da Atmel, ao invés do OpenOCD. A vantagem é que você não precisa de um JTAG "dongle" para programar sua placa (que seria o caso se você estivesse usando o OpenOCD). A desvantagem, claro, é que a ferramenta Atmel é executada apenas no Windows. Além disso, eu pessoalmente acho o OpenOCD tedioso. Mesmo assim, se você ainda quiser usá-lo, veja a <a href="http://www.olimex.com/dev/sam7-ex256.html">página da Olimex</a>, existem alguns links relacionados ao OpenOCD. Dito isto, a partir de agora assumo que você está usando o Windows. Uso o XP, o Vista deve funcionar também.</li>
|
|
<li>o aplicativo <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3883">AT91 In-system Programmer (ISP)</a> da Atmel.</li>
|
|
<li>você já tem sua imagem de <b>eLua</b> para a CPU AT91SAM7X256 CPU (<a href="building.html">gerada</a> ou <a href="downloads.html">baixada</a>).</li>
|
|
</ul>
|
|
<h3>Programando eLua na placa SAM7-EX256</h3>
|
|
<p>Isto envolve alguns truques com jumpers, mas ainda assim, é muito fácil de fazer. Usaremos quatro jumpers: o jumper "USB/EXT" (localizado à direita do conector USB na parte inferior esquerda da placa), o jumper "ERASE" (localizado no lado direito do conector "cabeçalho Uext" na parte superior esquerda da mesa, em frente a quartzo), e uma dupla de jumpers "RS232" (localizados ao lado do conector Ethernet em seu lado direito, e <b>NÃO</b> a um chamado "CAN", que está mais próximo da borda direita da placa).</p>
|
|
<ul>
|
|
<li>Ligue sua placa a um PC usando um cabo USB.</li>
|
|
<li>Se você tem um programa de emulação de terminal conectado à placa, feche-o (ou, pelo menos, desconecte-o da porta).</li>
|
|
<li>Certifique-se que o conjumto de dois jumpers mencionados antes estão configurados nas posições "RXD0" e "TXD0", respectivamente, não "DRXD" e "DTXD".</li>
|
|
<li>Certifique-se que o conector "USB/EXT" esteja configurado como "USB" (posição 1-2) e que o jumper "ERASE" está desconectado.</li>
|
|
<li>Ligue o jumper "ERASE" e esperar um segundo ou mais.</li>
|
|
<li>Desligue o jumper "USB/EXT" completamente, em seguida, desligue o jumper "ERASE" também.</li>
|
|
<li>Ligue o jumper "USB/EXT" novamente na posição "USB" (1-2).</li>
|
|
<li>Inicie a aplicação da Atmel. Caso, você não tinha instalado a sua placa ainda, você será solicitado a fazê-lo neste momento.</li>
|
|
<li>Selecione "\usb\ARMx", como sua conexão (para mim é \usb\ARM0) e "AT91SAM7X256-EK", como a placa.</li>
|
|
<li>Selecione a guia "Flash" do meio da janela.</li>
|
|
<li>No campo "Send File Name" selecione o arquivo binário de <b>eLua</b> (.bin), que você gerou a partir da compilação e clique no botão "Send File".</li>
|
|
<li>Aguarde o arquivo ser enviado e responda "No" para a solicitação de "Lock region(s)".</li>
|
|
<li>Abaixo de ("Scripts"), selecione o "Boot from Flash (GPNVM2)" e pressione "Execute".</li>
|
|
<li>Saia da aplicação.</li>
|
|
</ul>
|
|
<p>Pronto! Um pouco complicado, mas <b>eLua</b> está agora programada na
|
|
CPU. Agora você pode iniciar o seu emulador de terminal e se divertir, conforme descrito em <a href="using.html">usandp eLua</a>.</p>
|
|
$$FOOTER$$
|
|
|