XIAO STM32C5 Com STM32CubeIDE

Visão geral
STM32CubeIDE é o ambiente de desenvolvimento integrado oficial, gratuito e multiplataforma da STMicroelectronics para microcontroladores STM32. Ele também é adequado para desenvolver aplicações para o XIAO STM32C5.
O STM32CubeIDE fornece a toolchain GNU Arm e oferece suporte a fluxos de compilação baseados em CMake e Ninja, reduzindo a necessidade de configurações adicionais de ambiente. Ele cobre todo o fluxo de trabalho de desenvolvimento, incluindo criação de projeto, configuração de periféricos, edição de código, compilação, gravação de firmware e depuração em alvo.
Preparação de hardware
Antes de começar, prepare os seguintes itens:
- 1 × XIAO STM32C5
- PC e cabo USB Type‑C
- 1 × ST‑LINK/V2 (opcional)
| Seeed Studio XIAO STM32C5 |
|---|
![]() |
Instalando o STM32CubeIDE
- Baixe o pacote de instalação. Clique em STM32CubeIDE Software para ir para a página de download. Selecione Get Software na página inicial ou role até a parte inferior da página. Escolha o instalador correspondente ao sistema operacional do seu PC. Recomenda‑se usar a versão mais recente.

- Você pode baixar o instalador com uma conta registrada ou como convidado. São necessários e‑mail e outras informações relacionadas para esse processo.

- O link de download será enviado para o seu endereço de e‑mail. Clique no link para obter o instalador do software.

- Inicie o instalador, leia os contratos de licença relevantes e selecione I Agree.

- Selecione o diretório de instalação.

- Instale o driver para a sonda de depuração que você planeja usar. Os drivers da sonda não são necessários para as etapas de gravação UF2 abaixo.

Desenvolvendo com o XIAO STM32C5
- Como o XIAO STM32C5 oferece suporte nativo à gravação de firmware no formato UF2, é fornecido um projeto de exemplo de referência para simplificar o seu desenvolvimento. Clique no link abaixo para baixar o exemplo:
-
🗃️[Project] XIAO STM32C5 Blink Project
-
Extraia o arquivo compactado após o download. A estrutura resultante do projeto deve corresponder ao layout mostrado abaixo.

- Inicie o STM32CubeIDE; a interface mostrada abaixo aparecerá. O conteúdo desta seção é extraído do 📄[PDF] STM32CubeIDE User Guide
Na primeira inicialização, o STM32CubeIDE solicita a seleção de um workspace. O workspace padrão funciona bem e não afetará as etapas posteriores.

- Importe o projeto. Na barra de ferramentas superior direita, navegue até File → STM32 Project Create/Import e selecione Import STM32CubeMX / STM32CubeIDE Project.

- Selecione o diretório do projeto extraído xiao_c5_project e clique em Finish.

- Após a importação, a estrutura do projeto é mostrada na figura abaixo.

- SDK: Contém o pacote SDK STM32CubeC5. Este é um SDK reduzido que inclui apenas os arquivos essenciais para compilar o firmware do XIAO STM32C5; não é a versão completa do SDK.
- Source: Diretório de código‑fonte, contendo
main.ce arquivos de definição específicos da placa para o XIAO STM32C5. - Startup: Arquivos de inicialização obrigatórios para o XIAO STM32C5.
- tools: Contém o script
uf2conv.py, que converte os binários compilados em formato bin para UF2 após cada compilação.
Compilando e gravando o firmware
- Visão geral do programa. Abra Source → main.c. Este é um exemplo simples de piscar o LED on‑board para o XIAO STM32C5. Ele alterna o nível lógico do LED a cada 500 ms para obter o efeito de piscar.
/**
* @file main.c
* @brief Minimal LED application for the Seeed XIAO STM32C5.
*
* SPDX-License-Identifier: MIT
* Copyright (c) 2026 Seeed Technology Co., Ltd.
*/
#include "board.h"
#include "uart_io.h"
int main(void)
{
if (HAL_Init() != HAL_OK) {
Error_Handler();
}
board_clock_init();
board_uart_init();
board_led_init();
// uprintln("[LED] PB12 onboard LED is blinking (500 ms interval)");
uart_log_flush();
while (1) {
HAL_GPIO_TogglePin(LED_PORT, LED);
uprintln("[LED] PB12 onboard LED is blinking");
uart_log_flush();
HAL_Delay(500U);
}
}
board_clock_init();: Inicializa os clocks de periféricos necessários para o XIAO STM32C5.board_uart_init();: Inicializa a configuração de E/S UART para o XIAO STM32C5.board_led_init();: Inicializa a configuração de E/S para o LED de usuário on‑board do XIAO STM32C5.HAL_GPIO_TogglePin(LED_PORT, LED);: Função de alternância de GPIO da biblioteca STM32 HAL, que alterna o nível lógico de GPIO do LED de usuário.
- Na barra de ferramentas, selecione Release para acionar a compilação automática do projeto.

- Após uma compilação bem‑sucedida, uma pasta Release será gerada contendo vários artefatos de compilação. Entre essas saídas, o arquivo bin e o arquivo uf2 são os arquivos de que você precisa.

Você também pode compilar o projeto selecionando Build. Isso cria uma pasta Build que contém os arquivos de firmware gerados.
Gravando firmware em formato UF2
- Toque duas vezes rapidamente no botão de reset do XIAO STM32C5. A unidade de armazenamento em massa do XIAO STM32C5 será exibida. Copie o arquivo UF2 para essa unidade para concluir a gravação.

Gravando com ST-LINK/V2
ST-LINK/V2 é uma ferramenta oficial de depuração e programação lançada pela STMicroelectronics. Ela oferece suporte às famílias de microcontroladores STM8 e STM32 e permite download de programas, gravação de firmware e depuração em chip por meio das interfaces SWIM, JTAG ou SWD. A seção a seguir descreve como gravar firmware no XIAO STM32C5 usando o ST‑LINK/V2 juntamente com o STM32CubeIDE
- Conecte o ST‑LINK/V2 ao seu PC. No IDE, vá para Help → ST‑LINK Upgrade e atualize o firmware dele para a versão mais recente para garantir boa compatibilidade com dispositivos STM32C5.

- Conecte o ST‑LINK/V2 ao XIAO STM32C5. Veja abaixo as conexões dos pinos. É necessário soldar para esta etapa.

- Entre os pinos de conexão, RST é uma interface opcional e pode ser deixada desconectada.
- Você também pode usar o XIAO Debug Mate para conectar à ferramenta ST‑LINK/V2, o que elimina a necessidade de soldagem manual.

- Clique em Run na barra de ferramentas para concluir a gravação. O STM32CubeIDE detectará automaticamente o programador ST‑LINK/V2.

Resumo
- Após gravar o firmware correspondente no XIAO STM32C5 usando os métodos acima, o LED de usuário on‑board irá alternar e piscar a cada 500 ms.

Você também pode conectar D6 e D7 a um adaptador TTL‑para‑UART. Abra qualquer monitor serial; a porta serial imprimirá a string [LED] PB12 onboard LED is blinking a cada 500 ms.

Arquivos dentro da pasta Source
-
board.c / board.h
Define o mapeamento de pinos e os recursos específicos da placa para o XIAO STM32C5. Fornece configurações de inicialização para periféricos incluindo clock, GPIO, CAN e ADC, e pode servir como base para o desenvolvimento de aplicações.
-
test.c / test.h
Fornece rotinas de verificação para periféricos on‑board como IMU e LED, bem como interfaces incluindo CAN, SPI, I2C e ADC. Essas rotinas podem ser usadas para validação das funções de hardware e como referência de código.
-
uart_io.c / uart_io.h
Lida com o processamento de caracteres e a análise de comandos para os dados UART recebidos, oferecendo um ponto de entrada interativo para as rotinas de teste. As interfaces de comunicação de baixo nível são implementadas por outros módulos.
Recursos de referência
- 🗃️[Project] XIAO STM32C5 Blink Project
- 📄[Document] STM32CubeIDE User Guide
- 📄[Datasheet] STM32C5A3CGX
- 📄[Examples] STM32 Example Library
Suporte técnico e discussão sobre o produto
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.
