Apresentando a STM32F429IDiscovery

Em uma parceria firmada entre a STMicroelectronics e o Embarcados, recebemos algumas placas para a realização de reviews e, posteriormente, apresentar exemplos, guias e tutoriais. E uma dessas placas é a STM32F429IDiscovery, uma placa bem completa, com todo um arsenal para testar os recursos do microcontrolador STM32F429ZI embutido.

 

Na página do kit, o mesmo está disponível por cerca de US$ 25,00 e o kit vem em uma embalagem plástica, contendo uma proteção para o display LCD TFT embutido, além de um folheto explicativo com detalhes do microcontrolador e primeiros passos para uso. Uma imagem do kit recebido é mostrada na Figura 1.

 

stm32f429idiscovery
Figura 1 - Placa STM32F429IDiscovery na embalagem plástica.

 

O processador presente neste kit é bem mais poderoso que o presente na tradicional STM32F4Discovery, ao passo que possui controlador de display LCD TFT integrado, pode operar à frequência de até 180 MHz, além de outros detalhes a mais. Vamos dar uma olhada nos componentes que acompanham o kit Discovery?

 

 

Componentes presentes na STM32F429IDiscovery

 

Abaixo segue uma listagem dos componetes que a STMicroelectronics colocou no kit, de modo a criar um ecossistema base inicial, suficiente para extrair o máximo de recursos do microcontrolador apresentado. Vejam:

  • Microcontrolador STM32F429ZIT6, operando a 180 MHz, com 2 MB de memória Flash, 256 KB de memória RAM, em um encapsulamento LQFP144;
  • ST-LINK/V2, com seleção de modo, que permite programar e depurar programas no microcontrolador, ou simplesmente executar a aplicação;
  • Alimentação elétrica pelo barramento USB ou por alimentação externa com fontes de 3 V ou 5 V;
  • Display LCD 2.4" QVGA TFT com Touch resistivo;
  • Memória SDRAM de 64 Mbits;
  • Sensor de movimento MEMS ST L3GD20, um giroscópio digital de 3 eixos;
  • 6 LEDs:
    • LD1 (vermelho/verde) para comunicação USB;
    • LD2 (vermelho) para ligação em 3,3 V ;
    • 2 LEDs para aplicação de usuário: LD3 (verde), LD4 (vermelho);
    • 2 LEDs para USB OTG: LD5 (verde) para VBUS e LD6 (vermelho) OC (sobrecorrente);
  • Um pushbutton de reset e um pushbutton para aplicação de usuário;
  • Conector USB OTG padrão micro-AB;
  • Cabeçalhos de extensão para as IOs do chip LQFP144 para rápida conexão em placas de prototipagem e análise de sinais.

 

Ou seja, o kit já fornece uma memória SRAM a mais, que é muito útil em aplicações mais complexas que exigem mais memória (principalmente aplicações que usem interface gráfica - GUI), além de possuir um giroscópio digital de 3 eixos, interessantíssimo para aplicações de controle de posição. Sem esquecer é claro do "discreto" display LCD TFT de 2.4" com touch resistivo, que pode ser usado para aplicações com interface gráfica, conforme citado logo atrás. Outro ponto que merece destaque é a grande quantidade de IOs disponíveis, e a presença de USB OTG, que permite ao microcontrolador fazer interface com dispositivos USB tais como pendrives, mouses, teclados, impressoras, e outros.

 

Adiante, seguem duas imagens com a placa já fora da embalagem plástica. Uma com a vista superior, e outra com a vista inferior, permitindo visualizar os componentes na placa.

 

Na parte superior estão o display LCD TFT, o botão de usuário (em azul) e o botão de reset (de cor preta). Na parte esquerda da placa na Figura 2 está a região composta pelo ST-LINK/V2, componente responsável por programar/depurar o microcontrolador, além também do conector mini-USB usado para a conexão USB com o ST-LINK/V2.

 

stm32f429idiscovery-superior
Figura 2 - Vista superior da STM32F429IDiscovery

 

Na parte inferior da placa estão o microcontrolador STM32F429ZIT6, que é o chip maior ao centro, e a memória SRAM de 64 Mbits, logo ao lado do microcontrolador, além do conector USB OTG padrão micro-AB, que pode ser visto à direita da placa na Figura 3. Na mesma imagem é possível também visualizar a quantidade de pinos disponíveis para interface com o microcontrolador.

 

stm32f429idiscovery-inferior
Figura 3 - Vista inferior da STM32F429IDiscovery

 

Agora... Quais documentos podem nos fornecer um norte para lidar com essa placa? Vamos ver o que temos!

 

 

Documentação

 

Dentre os documentos fornecidos pela STMicroelectronics, temos os seguintes:

  • Datasheet da linha de microcontroladores STM32F429 neste link;
  • Apresentação da placa para linha de microcontroladores STM32F429 neste link;
  • Iniciando com a placa STM32F429IDiscovery neste link;
  • Manual de usuário para a placa STM32F429IDiscovery neste link;
  • Iniciando com as ferramentas de desenvolvimento para o STM32F429IDiscovery neste link;
  • Esquemático da placa neste link;
  • Listagem de todos os componentes utilizados na placa neste link;
  • Arquivos gerber neste link.

 

Bem completo, não? A STMicroelectronics fornece manuais, guias, e até mesmo esquemático para quem quiser até mesmo fazer a sua própria placa, parecida com a STM32F429IDiscovery. Já é um bom ponto de partida para conhecer e aprender conceitos do microcontrolador, da placa e sobre ferramentas de desenvolvimento. 

 

 

Desenvolvimento

 

Dentre as ferramentas de desenvolimento compatíveis com o microcontrolador STM32F429ZI, presente no kit em questão, podemos citar os seguintes:

  • CoCox IDE - É uma ferramenta gratuita e aberta, baseada no Eclipse, cuja última versão é compatível com o microcontrolador STM32F429ZI. Pode funcionar em conjunto com a toolchain ARM GCC, também disponível gratuitamente para uso;
  • Keil MDK-ARM - É a suíte de desenvolvimento ARM da Keil. A versão "MDK-Lite", com menos recursos, é liberada para códigos com até 32 KB. Acima disso é necessário licenciar a ferramenta. Possui bibliotecas para USB, rede e demais elementos para suporte ao desenvolvimento;
  • IAR Embedded Workbench for ARM - É a suíte de desenvolvimento ARM da IAR. A versão completa é paga, mas há a versão "Kickstart", com limite de código de 32 KB para ARM Cortex-M4, sem recursos avançados de verificação de código e suporte limitado;
  • Atollic TrueSTUDIO - É a suíte de desenvolvimento ARM da Atollic. Também é paga, mas possui uma versão "Lite" com suporte limitado e limite de código para 32 KB para ARM Cortex-M4.

 

Oficialmente, a STMicroelectronics cita em sua documentação exemplos de suporte para as ferramentas Keil MDK-ARM, IAR Embedded Workbench for ARM e Atollic TrueSTUDIO, que são ferramentas mais voltadas para desenvolvimento profissional com microcontroladores ARM.

 

Para estas ferramentas, a STMicroelectronics fornece um pacote inicial de projetos com códigos de programa para exemplo, contendo também o código do programa pré-carregado na placa. Este pacote está disponível no STM32F429 Discovery Firmware Package

 

Não podemos também esquecer da ferramenta STM32CubeF4, que contém bibliotecas, exemplos de código e um configurador gráfico para auxiliar o desenvolvedor na criação de projetos para microcontroladores STM32.

 

Já a ferramenta CoCox IDE é opensource, gratuita, e conta com suporte de desenvolvedores e da comunidade de usuários. Juntamente com o fato de o compilador ARM-GCC também ser gratuito, não há limite de código compilado.

 

Também é possível encontrar diversas fontes com exemplos de projetos usando o CoCox IDE para a linha de microcontroladores STM32F429, dentre os quais eu cito o site STM32F4 Discovery e sua coletânia de bibliotecas voltadas para o microcontrolador do kit discovery. Do mesmo site, também há o repositório GitHub com uma ampla gama de projetos.

 

Outro site também muito interessante, porém em alemão, é o Mikrocontroller, que contém uma série de bibliotecas/exemplos neste link.

 

 

Primeiro uso da STM32F429IDiscovery

 

Ao ligar a placa pelo conector miniUSB, ela é ligada, e um programa exemplo pré-carregado na memória entrará em execução. Este programa lembra em muito os antigos "MP4", com ícones de Menu para selecionar opção de calendário, vídeo, imagens e jogos. Para usufruir mais dos recursos deste exemplo, é recomendável conectar um pendrive no conector micro-USB, contendo arquivos de vídeo em formato *.mpeg e imagens em formatos *.jpeg, por exemplo. A seleção de opções é feita via toque, já que a tela possui touch resistivo. Como exemplo, segue a imagem mostrada na Figura 4.

 

 
stm32f429idiscovery-exemplo
Figura 4 - STM32F429IDiscovery ligada com o firmware de fábrica. Lembra um MP4!