$$HEADER$$
Usando eLua com as CPUs AT91SAM7X da Atmel
A Atmel é 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 AT91SAM7X256
e AT91SAM7X512.
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 eLua.
Para este tutorial, vamos usar a placa de desenvolvimento SAM7-EX256
da Olimex.
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.
Pré-requisitos
Antes de você usar eLua com a CPU AT91SAM7X256, certifique-se que:
- 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 OpenOCD, 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 página da Olimex, 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.
- o aplicativo AT91 In-system Programmer (ISP) da Atmel.
- você já tem sua imagem de eLua para a CPU AT91SAM7X256 CPU (gerada ou baixada).
Programando eLua na placa SAM7-EX256
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 NÃO a um chamado "CAN", que está mais próximo da borda direita da placa).
- Ligue sua placa a um PC usando um cabo USB.
- Se você tem um programa de emulação de terminal conectado à placa, feche-o (ou, pelo menos, desconecte-o da porta).
- 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".
- Certifique-se que o conector "USB/EXT" esteja configurado como "USB" (posição 1-2) e que o jumper "ERASE" está desconectado.
- Ligue o jumper "ERASE" e esperar um segundo ou mais.
- Desligue o jumper "USB/EXT" completamente, em seguida, desligue o jumper "ERASE" também.
- Ligue o jumper "USB/EXT" novamente na posição "USB" (1-2).
- Inicie a aplicação da Atmel. Caso, você não tinha instalado a sua placa ainda, você será solicitado a fazê-lo neste momento.
- Selecione "\usb\ARMx", como sua conexão (para mim é \usb\ARM0) e "AT91SAM7X256-EK", como a placa.
- Selecione a guia "Flash" do meio da janela.
- No campo "Send File Name" selecione o arquivo binário de eLua (.bin), que você gerou a partir da compilação e clique no botão "Send File".
- Aguarde o arquivo ser enviado e responda "No" para a solicitação de "Lock region(s)".
- Abaixo de ("Scripts"), selecione o "Boot from Flash (GPNVM2)" e pressione "Execute".
- Saia da aplicação.
Pronto! Um pouco complicado, mas eLua está agora programada na
CPU. Agora você pode iniciar o seu emulador de terminal e se divertir, conforme descrito em usandp eLua.
$$FOOTER$$