Fluxo básico de desenvolvimento |
Para iniciarmos o entendimento desse fluxo ao mesmo tempo que entendemos o funcionamento dos processadores ARM Cortex M0 e M4, precisamos de algumas ferramentas ou, no jargão da área: um toolchain. Muitas das ferramentas de desenvolvimento ARM Cortex são proprietárias o que dificulta o seu uso para aplicações não comerciais. Existe porém, um conjunto de ferramentas abertas desenvolvida para processadores ARM que é totalmente compatível com eles e plenamente utilizável.
O site GCC ARM Embedded (https://launchpad.net/gcc-arm-embedded) possui o conjunto completo de compiladores e ferramental necessário para compilar e gerar aplicações para carga, simulação e depuração desses processadores. Como a maioria dos fornecedores de microcontroladores que utilizam esses processadores possuem suas ferramentas baseadas em MS-Windows, utilizaremos o toolchain para esse SO.
Baixemos a versão executável para win32 conforme a figura acima e, após sua conclusão, instalemo-la.
Feche as janelas e abra uma nova janela de linha de comando e execute o comando arm-none-eabi-gcc -v. Se tudo correu bem, a resposta deve ser semelhante à mostrada abaixo:
Uma pausa aqui. O último comando retornou uma informação importante: Target: arm-none-eabi .
O compilador GCC pode gerar executáveis para diversas arquiteturas como: x86, ARM v4/v5/v6/v7 entre outras. Em computadores pessoais, GNU GCC é um compilador voltado para aplicações escritas para LINUX X86 para PC. Quando desenvolvemos em uma plataforma como por exemplo MS-Windows para uma plataforma destino distinta como, por exemplo, ARM Cortex, temos um ferramental denominado cross compiler. Devido à diversidade de arquiteturas diferentes toolchains existem. A convenção para a denominação desses ferramentais é a seguinte:
arch [-vendor] [-os] - eabi
- arch: corresponde à arquitetura destino (no caso aqui: ARM)
- vendor: corresponde ao fornecedor do ferramental
- os: refere-se ao sistema operacional destino
- eabi: significa Embedded Application Binary Interface ou Interface Binária de Aplicações Embarcadas
Dessa forma, estamos trabalhando com um toolchain de arquitetura destino ARM, sem fornecedor e sem sistema operacional e para aplicações binárias embarcadas: arm-none-eabi.
Finalmente, por estarmos em ambiente de desenvolvimento em MS-Windows, precisamos de algumas ferramentas auxiliares nativas do ambiente Linux. Uma publicação dessas ferramentas suficiente para o que precisamos é a Minimalist GNU for Windows cujo download está em http://sourceforge.net/projects/mingw/files/ . Baixemos o instalador e procedamos à instalação.
Certifique-se de selecionar as opções mingw-development-kit e msys-base na tela do MinGW Intallation Manager.
E novamente Apply.
Ao final da instalação, feche as janelas e abra uma nova janela de linha de comando. Direcione ao diretório de executáveis do MinGW através do comando: cd C:\MinGW\msys\1.0\bin.
Execute os comandos: make -v e dd --version. Uma resposta semelhante à abaixo deve aparecer:
Por último, acrescente o diretório C:\MinGW\msys\1.0\bin à variável PATH do Windows.
REFERÊNCIAS:
"The Definitive Guide to the ARM Cortex-M0",Joseph Yiu
https://launchpad.net/gcc-arm-embedded
https://en.wikipedia.org/wiki/Application_binary_interface
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html
http://www.mingw.org/
REFERÊNCIAS:
"The Definitive Guide to the ARM Cortex-M0",Joseph Yiu
https://launchpad.net/gcc-arm-embedded
https://en.wikipedia.org/wiki/Application_binary_interface
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html
http://www.mingw.org/
Nenhum comentário:
Postar um comentário