STM32F0discovery |
Placa STM32F0Discovery conectada |
O microcontrolador é acessível pela interface ST-LINK/V2 através dessa conexão USB. Para programar, depurar ou mesmo visualizar registradores e áreas de memória do microcontrolador, é necessário o software STM32 ST-LINK utility. Ele pode ser encontrado aqui ou, caso seja necessário, procure por STSW-LINK004. Só há as versão para MS-WINDOWS. Sua instalação é simples e ele pode ser visto na figura seguinte.
Utilitário STM32 ST-LINK |
Conectado ao microcontrolador |
Algumas informações do microcontrolador |
Alguns recursos e estados do microcontrolador alem da memória flash podem ser observados na tela MCU Core onde temos registradores e estado do microcontrolador. Esse painel possui ainda botões de comandos que usaremos mais adiante.
Finalmente, vamos às documentações obrigatórias para se trabalhar com esse microcontrolador. O manual de usuário da placa já mostrado acima é o primeiro documento útil. Nele temos a disposição dos pinos, LEDs, botões, jumpers e suas funções.
O próximo manual indicado é o datasheet desse microcontrolador que pode ser encontrado aqui. Da mesma forma, caso não esteja disponível, procurar por DM00039193. Junto com esse, o manual de referência desse microcontrolador é de uso obrigatório e pode ser encontrado aqui ou procurando por RM0091.
Primeira informação relevante que obtemos é o mapeamento de memória como visto na figura abaixo:
Mapeamento de memória do microcontrolador STM32F05xx |
Nota-se que a memória flash, que é a disponível para o programa residir, está mapeada na faixa de endereços 0x08000000 a 0x0800ffff no caso desse microcontrolador que possui 64 KBytes de memória flash. Também nota-se que a memória RAM está mapeada na faixa de 0x20000000 a 0x20001fff para esse microcontrolador (4 KBytes de RAM).
O espaço inicial de memória (0x0000000) possui um mapeamento dependente da configuração de boot. Algumas implementações do processador AMR Cortex M0 possuem um pequeno programa chamado boot-loader. Esse programa é preparado com a fabricação do microcontrolador e possui algumas funções dentre as quais a possibilidade de remapeamento de memória. No caso da placa STM32F0Discovery o pino BOOT0 vem de fábrica com valor zero o que, segundo o manual de referência no capítulo 2.5, a memória flash é remapeada como área de boot. Dessa forma, a memória flash é vista pelo microcontrolador tanto no endereço 0x08000000 original como no endereço 0x00000000. Isto pode ser comprovado pela figura abaixo onde observa-se o conteúdo do endereço 0x00000000 idêntico ao mostrado anteriormente no endereço 0x08000000.
Como curiosidade, segundo o documento AN2606 do fabricante, a versão do boot loader para esse microcontrolador está presente na posição de memória 0x1ffff7a6 e tem o valor 0x21 que representa versão 1 e com uso de 2 interfaces USART para a carga de programa.
REFERÊNCIAS:
"The Definitive Guide to the ARM Cortex-M0",Joseph Yiu
UM1525 - "User manual STM32F0DISCOVERY Discovery kit for STM32 F0 microcontrollers"
http://www.arm.com/products/system-ip/debug-trace/coresight-soc-components/serial-wire-debug.php
STM32F051xx microcontrollers datasheet
AN2606-Application note-"STM32 microcontroller system memory boot mode"
Como curiosidade, segundo o documento AN2606 do fabricante, a versão do boot loader para esse microcontrolador está presente na posição de memória 0x1ffff7a6 e tem o valor 0x21 que representa versão 1 e com uso de 2 interfaces USART para a carga de programa.
REFERÊNCIAS:
"The Definitive Guide to the ARM Cortex-M0",Joseph Yiu
UM1525 - "User manual STM32F0DISCOVERY Discovery kit for STM32 F0 microcontrollers"
http://www.arm.com/products/system-ip/debug-trace/coresight-soc-components/serial-wire-debug.php
STM32F051xx microcontrollers datasheet
AN2606-Application note-"STM32 microcontroller system memory boot mode"
Nenhum comentário:
Postar um comentário