$$HEADER$$
Luminary Micro é a empresa que produziu a primeira implementação de silicone do mundo para o processador Cortex-M3. A relação de produtos da Luminary é bastante variada, que vão desde dispositivos relativamente simples até CPUs com recursos completos (com on-chip USB, EMAC, CAN, e muitos outros periféricos). O software que acompanha estes dispositivos também é muito bom, com drivers para todos os periféricos da CPU e aplicativos de terceiros. A algum tempo atrás, entramos em contato com a Luminary Micro, solicitando um apoio a este projeto através de um de seus kits de avaliação, a resposta foi excelente (obrigado mais uma vêz, Luminary!). Foi assim que uma EKx-LM3S8962K veio parar na minha mesa. Esta é a placa de desenvolvimento que eu vou usar neste tutorial. eLua também suporta a placa EKx-LM3S6965 da Luminary (que pode ser programada exatamente como a EKX-LM3S8962) e a placa Eagle 100 da Micromint, que usa um procedimento de instalação diferente.
Antes de começar a utilizar eLua com a CPU LM3S, certifique-se de que:
Felizmente, esta instalação está mais fácil do que nunca. Uma das coisas agradáveis sobre esses dois kits é que eles usam a porta USB on-board, tanto para baixar o firmware quanto para emular uma porta serial (através de um conversor USB/UART, sendo assim, você não precisa de nenhum software especial para a CPU ter acesso a essa porta UART). Além disso, a placa sabe automaticamente como (e quando) alternar entre o modo de download do firmware para o modo de emulação UART, assim você não precisa trocar jumpers de lá para cá, ou qualquer coisa assim. O esforço de atualização do firmware é nenhum mesmo. Então, vamos fazê-lo:
Vale a pena mencionar que uma vez que essas placas vem com um conversor USB JTAG, deve ser possível usar o OpenOCD (ou um pacote similar) em vez do programa da Luminary para gravar a imagem de eLua. Os fóruns da Luminary Micro são um bom lugar para procurar informações, se você está explorando a opção OpenOCD.
A placa Eagle 100 também pode ser programada via JTAG, mas não inclui um adaptador USB para JTAG onboard, assim você precisará de um adaptador externo, se você pretende utilizar JTAG para programação. Felizmente, ele também vem com um carregador Ethernet, assim você pode carregar a sua imagem através da Ethernet. O único requisito para utilizar o bootloader é para iniciar a sua imagem no endereço 0x2000 em vez do 0x0 de costume, já que é onde ficam os jumpers do bootloader. O sistema de geração do eLua faz isso automaticamente se a placa "= eagle-100" parâmetro é dado em tempo de compilação. Para uma descrição completa do bootloader Ethernet consulte o manual da placa Eagle 100 (procure pela seção 2.7, atualizações do firmware usando o gerenciador de inicialização Ethernet).
Você ainda precisa do programa Flash LM para usar o bootloader Ethernet, mas desde que a placa pode utilizar JTAG para fazer upload do firmware, deve ser possível usá-lo com OpenOCD (ou com um pacote similar) e um adaptador USB externo JTAG. Os fóruns da Luminary Micro são um bom lugar para procurar informações, se você está explorando a opção OpenOCD.