Conteúdo sugerido

uxQ5V2A.jpg

Esse conteúdo foi produzido Por Daniel Thiago Vasconcelos Pereira, Engenheiro de Sistemas do CESAR do time Sistemas Embarcados. Esse material foi utilizado em vários WorkShops conduzidos por ele. 

Oficina de Microcontroladores: Muito Além do Arduino


Roteiro:
1. Preparar ambiente de compilação
2. Preparar ambiente de upload
3. Baixar e explorar projetos prontos
4. Entender os documentos técnicos
5. Desenvolver um projeto mockup ou do zero

Todo o material referenciado aqui está disponibilizado nos links a seguir:
Programas e documentos:
http://goo.gl/oPzF7
Código:
https://github.com/dtvp


1. Preparar ambiente de compilação


Windows:

Para quem usa o Windows, uma boa opção é o compilador MDK-ARM da Keil, uma empresa da ARM. O
instalador é um executável simples. É só instalar.
Local: [oficina]/software/envWindows_Keil/mdk472_a.exe
Esse compilador é comercial, mas permite seu uso em aplicações não comerciais e com algumas
limitações, como tamanho máximo de código em 32 KB para ARM.
Outra opção, pouco amigável, é usar o Sourcery CodeBench versão Lite para Windows.
Local: [oficina]/software envWindowsSourcery/arm-2013.05-23-arm-none-eabi.exe

Linux:

Para ambientes GNU/Linux vamos usar um compilador ARM-none-EABI disponibilizado pela Mentor
Graphics chamado de Sourcery CodeBench Lite. Ele é disponibilizado em dois formatos para o Linux:
binário com instalador e tarball.
Local: [oficina]/software/envLinuxSourcery/arm-2012.09-63-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

Tarball:


sudo mkdir /usr/local/CodeSourcery
sudo cp arm-2013.05-23-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 /usr/local/CodeSourcery/
cd /usr/local/CodeSourcery/
sudo tar -xjvf arm-2013.05-23-arm-none-eabi-i686-pc-linux-gnu.tar.bz2


Resta apenas adicionar o PATH dos binários. Adicione a seguinte linha no final do seu arquivo ~/.bashrc:
export PATH=$PATH:/usr/local/CodeSourcery/arm-2013.05/bin

Se decidir pelo binário com instalador:

Para executar o binário de instalação no Linux com Shell dash, é necessário rodar o seguinte comando

antes:
sudo dpkg-reconfigure -plow dash
Depois selecione ‘NO’.

Em seguida, basta executar o binário:

sudo ./arm-2013.05-23-arm-none-eabi.bin
Sugiro modificar o path para /usr/local/CodeSourcery senão e vai instalar o toolchain em
/root/CodeSourcery.

Verificação dessa etapa:

Se você optou pelo Keil, basta abrir o programa. Já se você optou pelo Sourcery, uma sugestão é
verificar a versão do gcc:
arm-none-eabi-gcc -v


2. Preparar ambiente de upload


As placas possuem um circuito adaptador, chamado ST-Link, utilizado para upload de firmware e
depuração. Para instalar o software que implementa o protocolo de transferência de dados entre o PC e
a placa, utilize as opções abaixo:

Windows:

STM32 ST-Link Utility.
Disponibilizado pela própria ST Microelectronics. O executável para instalação está aqui:
Local: [oficina]/software/st-link/STM32 ST-LINK Utility_v3.1.0.exe
Lembre-se de instalar os drivers USB para Windows também.

Linux:

Vamos usar o Texane ST-Link
Baixar o repositório:
git clone https://github.com/texane/stlink stlink.git
Instalar pacotes requeridos:
sudo apt-get install
autoconf
libusb-1.0-0
libusb-1.0-0-dev
pkg-config
Compilar o pacote:
./autogen.sh
./configure.sh
make
Depois é necessário mover as descrições de USB para a pasta de rules:
sudo cp 49-stlinkv* /etc/udev/rules.d/

Verificação dessa etapa:

Se você chegou até aqui, basta então verificar se deu tudo certo. Plugue a placa no PC e siga os passos a
seguir:

Windows:

1. Abra o programa STM32 st-link utility;
2. Depois em Target -> Connect
3. As informações do microcontrolador devem estar preenchidas na tabela Device Information

Linux:

Verificando se o ST-Link foi reconhecido como dispositivo USB:
lsusb
...
Bus 002 Device 005: ID 0483:3748 SGS Thomson Microelectronics ST-LINK/V2
...
Verificando se o uControlador foi reconhecido pelo ST-Link:

./st-util –v
...
Device connected is: F4 device, id 0x20006411
...

Em documentos Você pode baixar o PDF completo que ainda mostra como Baixar e Explorar Projetos Prontos, Entender os documentos Técnicos e Compilar um projeto de mockup.