Escolha seu idioma
Curso Básico de BSP e C Embarcado
Mais de 2 milhões de alunos no mundo

Curso Básico de BSP e C Embarcado

Domine as habilidades que impulsionam produtos embarcados reais — desde C bare-metal e scripts de linker até a arquitetura completa de um BSP. Este curso leva você da configuração da toolchain até drivers orientados a interrupção, comunicação serial e depuração de hardware em microcontroladores reais. Seja para entrar em sistemas embarcados ou elevar suas habilidades em firmware, essa é a base prática que o desenvolvimento profissional de BSP exige.

Dedika para empresas

O que você vai aprender:

  • Configure periféricos GPIO, temporizadores, UART, SPI e I2C no nível de registradores, sem bibliotecas do fornecedor.

  • Escreva e modifique scripts de linker do GNU para posicionar corretamente código, dados e pilha na memória do microcontrolador.

  • Construa um BSP estruturado e portável com camadas HAL limpas que compilam em múltiplos alvos de hardware.

  • Implemente rotinas de serviço de interrupção, drivers com buffer em anel e transferências DMA para uma comunicação embarcada eficiente.

  • Aplique padrões de codificação alinhados ao MISRA e testes unitários baseados em host para produzir firmware confiável e focado em segurança.

  • Depure firmware embarcado usando sondas JTAG/SWD, analisadores lógicos e análise post-mortem de registradores de falha.

Como você estuda de forma prática Curso Básico de BSP e C Embarcado

Como você pratica Curso Básico de BSP e C Embarcado

Pra você que é empresa e quer treinar o time

Na Dedika para empresas, o curso vem com exercícios e exemplos do próprio negócio e do jeito que a sua empresa precisa.

Clique aqui

Conteúdo do curso

8 Capítulos • 40 AulasDuração entre 4 e 360 horas (você decide)

Capítulo 1Ver detalhes

Sistemas Embarcados e Fundamentos de BSP

  • Aula 1 • Primeiro Programa Bare-Metal

    Escreve e grava um programa C mínimo sem SO ou biblioteca. Demonstra o ciclo completo de compilação-gravação-depuração em hardware real.

  • Aula 2 • Lendo Documentação de Hardware

    Ensina a navegação sistemática de datasheets e manuais de referência. Apoia diretamente a programação em nível de registradores em capítulos posteriores.

  • Aula 3 • Configuração do Ambiente de Desenvolvimento e Toolchain

    Instala e configura um compilador cruzado, depurador e sistema de build. Os alunos produzem um ambiente de build funcional antes de escrever qualquer código.

  • Aula 4 • O que é um BSP e o que ele Faz

    Define o escopo do BSP: código de inicialização, drivers e camadas HAL. Conecta as responsabilidades do BSP às tarefas de bring-up de hardware.

  • Aula 5 • Anatomia de um Sistema Embarcado

    Abrange processadores, memória, periféricos e barramentos como um modelo de hardware unificado. Estabelece o vocabulário usado ao longo do curso.

Capítulo 2Ver detalhes

Fundamentos de Programação C para Embarcados

  • Aula 1 • Tipos de Largura Fixa e Representação de Dados

    Apresenta os tipos stdint.h e seu significado para o hardware. Previne bugs de suposição de tamanho que causam falhas silenciosas no hardware alvo.

  • Aula 2 • Ponteiros e Padrões de Acesso à Memória

    Abrange aritmética de ponteiros, ponteiros para funções e acesso a E/S mapeada em memória. Habilita diretamente a manipulação de registradores em capítulos subsequentes.

  • Aula 3 • Diretivas de Pré-processador e Compilador

    Abrange macros, compilação condicional e atributos de compilador. Permite a seleção portável de código específico de hardware entre alvos de BSP.

  • Aula 4 • Técnicas de Manipulação de Bits

    Ensina mascaramento, definição, limpeza e alternância de bits individuais. Essas operações são o mecanismo principal para configurar registradores de hardware.

  • Aula 5 • Padrões de Codificação C para Embarcados

    Aplica regras estilo MISRA e análise estática ao código C embarcado. Constrói hábitos que reduzem defeitos em código BSP de segurança crítica.

Capítulo 3Ver detalhes

Arquitetura de Memória e Scripts de Linker

  • Aula 1 • Sintaxe do Script de Linker e Seções

    Explica MEMORY, SECTIONS e definições de símbolo em scripts GNU LD. Os alunos posicionam .text, .data e .bss nas regiões corretas.

  • Aula 2 • Configuração de Pilha e Heap

    Configura tamanho da pilha, limites do heap e detecção de estouro. Previne as falhas de memória em tempo de execução mais comuns em sistemas embarcados.

  • Aula 3 • Mapa de Memória do Microcontrolador

    Mapeia regiões de Flash, SRAM e periféricos para endereços físicos. Fornece o modelo espacial necessário para a criação de scripts de linker.

  • Aula 4 • Código de Inicialização e Inicialização do Runtime C

    Implementa a sequência de inicialização que copia .data e zera .bss antes da main. Conecta símbolos do linker ao código de inicialização em assembly e C.

  • Aula 5 • Estratégias de Otimização de Memória

    Aplica flags do compilador e do linker para reduzir o tamanho de código e dados. Diretamente relevante ao visar microcontroladores com recursos limitados.

Capítulo 4Ver detalhes

Configuração de GPIO e Interrupções

  • Aula 1 • Debouncing e Detecção de Borda

    Implementa debouncing por software e configura interrupções disparadas por borda. Produz detecção confiável de pressionamento de botão como exercício prático.

  • Aula 2 • Arquitetura de Registradores GPIO

    Abrange registradores de direção, saída, entrada e função alternativa. Estabelece o modelo em nível de registrador aplicado a todos os drivers de periféricos.

  • Aula 3 • Ativação de Clock e Reset de Periféricos

    Explica por que periféricos precisam ter o clock ativado antes do acesso aos registradores. Previne o travamento silencioso causado pelo acesso a periféricos sem clock.

  • Aula 4 • Escrevendo Rotinas de Serviço de Interrupção

    Implementa ISRs com nomenclatura correta, latência mínima e limpeza segura de flags. Introduz riscos de dados compartilhados entre o contexto da ISR e da main.

  • Aula 5 • Fundamentos do Controlador de Interrupção

    Configura o NVIC ou controlador de interrupção equivalente para prioridade e habilitação. Conecta linhas de interrupção de hardware a funções handler em C.

Capítulo 5Ver detalhes

Temporizadores, PWM e Temporização do Sistema

  • Aula 1 • Arquitetura de Hardware do Temporizador

    Explica prescaler, registrador de recarga automática e modos do contador. Fornece o modelo conceitual para todos os recursos baseados em temporizadores.

  • Aula 2 • Captura de Entrada e Medição de Frequência

    Usa captura de entrada para medir largura de pulso e frequência de sinal. Demonstra o uso bidirecional do mesmo periférico temporizador.

  • Aula 3 • Geração de Sinal PWM

    Configura canais de compare de saída para PWM com ciclo de trabalho ajustável. Habilita controle de motor e dimerização de LED como aplicações práticas.

  • Aula 4 • Temporizadores Watchdog e Segurança do Sistema

    Configura temporizadores watchdog independentes e com janela para recuperação de falhas. Introduz o conceito de monitoramento de vivacidade do sistema no projeto de BSP.

  • Aula 5 • Gerando Atrasos de Tempo Precisos

    Implementa atrasos bloqueantes e não bloqueantes usando interrupções de estouro do temporizador. Substitui atrasos baseados em loops não confiáveis por temporização precisa de hardware.

Capítulo 6Ver detalhes

Drivers de Comunicação Serial

  • Aula 1 • Implementação do Driver UART

    Configura taxa de transmissão, formato do quadro e registradores de transmissão/recepção. Constrói um driver UART por polling como base para atualizações orientadas a interrupção.

  • Aula 2 • Implementação do Driver SPI

    Configura polaridade e fase do clock SPI e controle do chip-select. Implementa transferências full-duplex para um sensor externo ou dispositivo de memória.

  • Aula 3 • UART Orientada a Interrupção com Buffers Circulares

    Atualiza o driver por polling para usar interrupções de TX/RX e buffers circulares. Elimina o bloqueio da CPU durante transferências seriais.

  • Aula 4 • Implementação do Driver I2C

    Implementa sequências de start, endereço, dados e stop do I2C em nível de registrador. Trata corretamente erros de ACK/NACK e arbitragem de barramento.

  • Aula 5 • Transferências Aceleradas por DMA

    Descarrega transferências UART e SPI para o controlador DMA, liberando a CPU. Apresenta configuração de canal DMA e interrupções de transferência concluída.

Capítulo 7Ver detalhes

Arquitetura de BSP e Padrões de Projeto de Drivers

  • Aula 1 • Camadas do BSP e Projeto de API

    Define as camadas HAL, driver e aplicação com contratos de interface claros. Permite a reutilização de drivers entre variantes de hardware sem modificar o código da aplicação.

  • Aula 2 • Inicialização e Ciclo de Vida do Driver

    Implementa transições de init, deinit e estado de potência para cada driver. Garante inicialização determinística e desligamento limpo no BSP.

  • Aula 3 • Arquivos de Cabeçalho de Configuração e Placa

    Centraliza atribuições de pinos, frequências de clock e flags de recursos em cabeçalhos de placa. Isola diferenças de hardware em um único arquivo por placa alvo.

  • Aula 4 • Portando o BSP para um Novo Alvo

    Percorre as etapas para portar um BSP existente para um microcontrolador diferente. Valida o projeto de abstração exercitando as costuras específicas de hardware.

  • Aula 5 • Padrões de Callback e Notificação de Eventos

    Implementa callbacks com ponteiros para funções e flags de eventos para eventos assíncronos de drivers. Desacopla os internos do driver da lógica de resposta da aplicação.

Capítulo 8Ver detalhes

Depuração, Teste e Validação

  • Aula 1 • Integração Contínua para Firmware

    Automatiza build, análise estática e testes unitários em um pipeline de CI. Garante que os portões de qualidade do BSP sejam executados em cada alteração de código sem esforço manual.

  • Aula 2 • Tratamento de Falhas e Recuperação de Erros

    Implementa handlers de falha grave que capturam quadros de pilha e status da falha. Permite análise post-mortem de travamentos em firmware implantado.

  • Aula 3 • Teste Unitário de Código C Embarcado

    Aplica frameworks de teste unitário baseados em host à lógica de drivers do BSP. Separa o código dependente de hardware da lógica pura testável.

  • Aula 4 • Técnicas de Depuração com JTAG e SWD

    Usa um depurador de hardware para definir breakpoints, inspecionar registradores e percorrer ISRs. Constrói confiança em fluxos de trabalho de depuração ao vivo em hardware.

  • Aula 5 • Analisadores Lógicos e Osciloscópios

    Captura e decodifica sinais UART, SPI e I2C em pinos físicos. Correlaciona o comportamento do software com sinais elétricos para depuração de protocolos.

Certificação

Seu certificado válido de conclusão

Este curso é para você:

  • Engenheiros eletricistas prontos para escrever firmware para seus próprios projetos de hardware.

  • Graduados em ciência da computação assumindo seu primeiro cargo em sistemas embarcados.

  • Hobbistas de Arduino que querem ir além das bibliotecas e aprender programação real de microcontroladores.

  • Desenvolvedores de firmware que dependem de HALs do fornecedor e querem entender o que roda por baixo.

  • Alunos de mecatrônica desenvolvendo projetos de conclusão de curso que exigem controle de hardware em baixo nível.

  • Profissionais em transição de carreira vindos do desenvolvimento de software e que estão mirando vagas em embarcados ou IoT.

O que nossos alunos falam

As suas aulas são perfeitas. Adquiri o pacote de um ano e, finalmente, tenho a oportunidade de acompanhar diversos temas do meu interesse sem precisar mudar de plataforma... agradeço por tudo o que fazem, já recomendei vocês a outras pessoas...
Giulio Carlo
Giulio CarloAluno de Marketing Digital
Eu gosto de como as lições são direto ao ponto e como eu consigo alterar capítulos e pular conteúdos que não preciso.
Mariana Ferres
Mariana FerresAluna de Fotografia
Gosto do conteúdo e do modo de apresentação e transcrição de vídeos, o que acelera o processo!
Luciana Alvarenga
Luciana AlvarengaAluna de Design de Unhas
A plataforma é rápida, simples de usar. A diversidade de conteúdo e os vídeos complementares ajudam muito no aprendizado.
André Felipe
André FelipeAluno de Engenharia de Prompt

Principais capacitações

FAQ

Quem é a Dedika?

O certificado é válido no Brasil?

Os cursos são gratuitos?

Qual a carga horária dos cursos?

Como são os cursos?

Como funcionam os cursos?

Qual é o tempo dos cursos?

Qual o valor ou preço dos cursos?

O que é um curso EAD ou online e como ele funciona?

Os cursos possuem PDF?