Ecossistema de desenvolvimento
da STM
Prof. Marcelo Barros de Almeida
Prof. Márcio José da Cunha
COBEC-SEB 2017
Roteiro
● STMCube
● System Workbench for STM32 (SW4STM32)
● Drivers e periféricos
● Exemplo
● Descrição do kit STM32F767ZI Nucleo
STMCube
● Ferramenta para auxílio do projeto de
hardware, gratuita para
microcontroladores ST
● Tem por objetivo facilitar o ciclo do
projeto, reduzindo esforços, tempo e
custos
● Permite a configuração de todos os
dispositivos e criação de código base
de inicialização
● Possibilita estimar o consumo
energético do microcontrolador
STMCube
● O STM32Cube é uma ferramenta
geradora de código em linguagem C
● O código é gerado a partir das
configurações e opções escolhidas
pelo o usuário
● O código é gerado é disponibilizado
de acordo com a IDE utilizada
– IAR (ewarm)
– Keil (mdk-arm)
– TrueStudio (gcc-arm)
– SW4STM32 (gcc-arm)
STMCube
● Dentro do STM32Cube temos o suporte de firmware para o HAL
(Hardware Abstraction Layer)
● Inclui também um pacote de componentes middleware para RTOS,
USB, TCP/IP, FatFS, etc
STMCube
● O usuário será guiado por um
conjunto de ferramentas para uma
melhor configuração do software
embarcado
– Solucionador de conflitos de pinout
– Configurador de clock-tree
– Calculadora de consumo de
energia
– Utilitário de configuração de
periféricos do MCU (GPIO,
USART, etc)
– Pilhas de middleware (USB,
TCP/IP, FatFS, etc)
System Workbench
Ambiente de desenvolvimento, muti
plataforma, baseado no Eclipse, que
suporta todos os microcontroladores
da STM32 e suas placas associadas
● Features:
– Suporte para microcontroladores STM32, placas Nucleo, kits Discovery, firmwares (biblioteca
periférica padrão ou para STM32Cube HAL)
– GCC C/C++ compiler
– GDB-based debugger
– Eclipse IDE with team-work management
– Compatibilidade com plug-ins Eclipse
– Sem limite de tamanho de código (IAR e Keil possuem limites para versões gratuitas)
STM32F767ZI Nucleo
● A STM32 Nucleo Development Boards permite, de uma
maneira bem acessível e flexível, experimentar novas
ideias e criar protótipos com qualquer linha de
microcontroladores STM32, possibilitando a escolha de
várias combinações de desempenho, consumo de
energia e recursos
● Possibilidade de conectividade com Arduino™, possui
shields (ST Morpho), que facilitam a expansão da
funcionalidade da plataforma de desenvolvimento,
biblioteca HAL, além possuir vários exemplos que podem
ser implementados utilizando os recursos online do mbed
● Features:
– STM32 microcontroller with LQFP64 package
– Two types of extension resources
●
Arduino Uno Revision 3 connectivity
● STMicroelectronics Morpho extension pin headers for full access to all STM32 I/Os
– On-board ST-LINK/V2-1 debugger/programmer with SWD connector
– mbed-enabled (mbed.org)
– Three LEDs
● USB communication (LD1), user LED (LD2), power LED (LD3)
STM32F767ZI Nucleo
● A STM32 Nucleo Develipment Boards permite, de uma
maneira bem acessível e flexível, experimentar novas
ideias e criar protótipos com qualquer linha de
microcontroladores STM32, possibilitando a escolha de
várias combinações de desempenho, consumo de
energia e recursos
● Possibilidade de conectividade com Arduino™, possui
shields (ST Morpho), que facilitam a expansão da
funcionalidade da plataforma de desenvolvimento,
biblioteca HAL, além possuir vários exemplos que podem
ser implementados utilizando os recursos online do mbed
● Features:
– Two push buttons: USER and RESET
– USB re-enumeration capability: three different interfaces supported on USB
● Virtual Com port
● Mass storage
● Debug port
– Comprehensive free software HAL library including a variety of software examples
– Supported by wide choice of Integrated Development Environments (IDEs) including IAR, Keil, GCC-based IDEs
(fonte: http://br.mouser.com/new/stmicroelectronics/stm-nucleo-development-boards/)

[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento de sinais biomédicos - Plataformas ARM Cortex M e CMSIS-DSP

  • 1.
    Ecossistema de desenvolvimento daSTM Prof. Marcelo Barros de Almeida Prof. Márcio José da Cunha COBEC-SEB 2017
  • 2.
    Roteiro ● STMCube ● SystemWorkbench for STM32 (SW4STM32) ● Drivers e periféricos ● Exemplo ● Descrição do kit STM32F767ZI Nucleo
  • 3.
    STMCube ● Ferramenta paraauxílio do projeto de hardware, gratuita para microcontroladores ST ● Tem por objetivo facilitar o ciclo do projeto, reduzindo esforços, tempo e custos ● Permite a configuração de todos os dispositivos e criação de código base de inicialização ● Possibilita estimar o consumo energético do microcontrolador
  • 4.
    STMCube ● O STM32Cubeé uma ferramenta geradora de código em linguagem C ● O código é gerado a partir das configurações e opções escolhidas pelo o usuário ● O código é gerado é disponibilizado de acordo com a IDE utilizada – IAR (ewarm) – Keil (mdk-arm) – TrueStudio (gcc-arm) – SW4STM32 (gcc-arm)
  • 5.
    STMCube ● Dentro doSTM32Cube temos o suporte de firmware para o HAL (Hardware Abstraction Layer) ● Inclui também um pacote de componentes middleware para RTOS, USB, TCP/IP, FatFS, etc
  • 6.
    STMCube ● O usuárioserá guiado por um conjunto de ferramentas para uma melhor configuração do software embarcado – Solucionador de conflitos de pinout – Configurador de clock-tree – Calculadora de consumo de energia – Utilitário de configuração de periféricos do MCU (GPIO, USART, etc) – Pilhas de middleware (USB, TCP/IP, FatFS, etc)
  • 7.
    System Workbench Ambiente dedesenvolvimento, muti plataforma, baseado no Eclipse, que suporta todos os microcontroladores da STM32 e suas placas associadas ● Features: – Suporte para microcontroladores STM32, placas Nucleo, kits Discovery, firmwares (biblioteca periférica padrão ou para STM32Cube HAL) – GCC C/C++ compiler – GDB-based debugger – Eclipse IDE with team-work management – Compatibilidade com plug-ins Eclipse – Sem limite de tamanho de código (IAR e Keil possuem limites para versões gratuitas)
  • 8.
    STM32F767ZI Nucleo ● ASTM32 Nucleo Development Boards permite, de uma maneira bem acessível e flexível, experimentar novas ideias e criar protótipos com qualquer linha de microcontroladores STM32, possibilitando a escolha de várias combinações de desempenho, consumo de energia e recursos ● Possibilidade de conectividade com Arduino™, possui shields (ST Morpho), que facilitam a expansão da funcionalidade da plataforma de desenvolvimento, biblioteca HAL, além possuir vários exemplos que podem ser implementados utilizando os recursos online do mbed ● Features: – STM32 microcontroller with LQFP64 package – Two types of extension resources ● Arduino Uno Revision 3 connectivity ● STMicroelectronics Morpho extension pin headers for full access to all STM32 I/Os – On-board ST-LINK/V2-1 debugger/programmer with SWD connector – mbed-enabled (mbed.org) – Three LEDs ● USB communication (LD1), user LED (LD2), power LED (LD3)
  • 9.
    STM32F767ZI Nucleo ● ASTM32 Nucleo Develipment Boards permite, de uma maneira bem acessível e flexível, experimentar novas ideias e criar protótipos com qualquer linha de microcontroladores STM32, possibilitando a escolha de várias combinações de desempenho, consumo de energia e recursos ● Possibilidade de conectividade com Arduino™, possui shields (ST Morpho), que facilitam a expansão da funcionalidade da plataforma de desenvolvimento, biblioteca HAL, além possuir vários exemplos que podem ser implementados utilizando os recursos online do mbed ● Features: – Two push buttons: USER and RESET – USB re-enumeration capability: three different interfaces supported on USB ● Virtual Com port ● Mass storage ● Debug port – Comprehensive free software HAL library including a variety of software examples – Supported by wide choice of Integrated Development Environments (IDEs) including IAR, Keil, GCC-based IDEs (fonte: http://br.mouser.com/new/stmicroelectronics/stm-nucleo-development-boards/)