Escolha o seu idioma
Curso Básico de BSP e C Embebido
Mais de 2 milhões de estudantes em todo o mundo

Curso Básico de BSP e C Embebido

Domine as competências que alimentam produtos embebidos reais — desde C em metal nu e scripts de linker até à arquitetura BSP completa. Este curso leva-o desde a configuração do conjunto de ferramentas até aos drivers orientados por interrupções, comunicação série e depuração de hardware em microcontroladores reais. Esteja a entrar nos sistemas embebidos ou a aperfeiçoar as suas competências de firmware, esta é a base prática que o desenvolvimento profissional de BSP exige.

Dedika para empresas

O que vai aprender:

  • Configure os periféricos GPIO, temporizadores, UART, SPI e I2C ao nível dos registos sem utilizar bibliotecas do fabricante.

  • Escreva e modifique scripts de ligação GNU para colocar corretamente o código, os dados e a 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 de buffer circular e transferências DMA para uma comunicação embebida eficiente.

  • Aplique normas de codificação alinhadas com a MISRA e testes unitários baseados no anfitrião para produzir firmware fiável e consciente da segurança.

  • Depure firmware embebido utilizando sondas JTAG/SWD, analisadores lógicos e análise post-mortem de registos de falhas.

Como estuda de forma prática Curso Básico de BSP e C Embebido

Como pratica Curso Básico de BSP e C Embebido

Para si que é empresa e quer formar a sua equipa

Na Dedika para empresas, o curso inclui exercícios e exemplos adaptados ao seu próprio negócio e às necessidades da sua empresa.

Clique aqui

Conteúdo do curso

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

Capítulo 1Ver detalhes

Sistemas Embebidos e Fundamentos de BSP

  • Aula 1 • Primeiro Programa Bare-Metal

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

  • Aula 2 • Leitura de Documentação de Hardware

    Ensina a navegação sistemática de folhas de dados e manuais de referência. Apoia diretamente a programação ao nível dos registos em capítulos posteriores.

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

    Instala e configura um compilador cruzado, depurador e sistema de compilação. Os estudantes produzem um ambiente de compilação funcional antes de escrever qualquer código.

  • Aula 4 • O que um BSP É e Faz

    Define o âmbito do BSP: código de arranque, drivers e camadas HAL. Liga as responsabilidades do BSP às tarefas de inicialização de hardware.

  • Aula 5 • Anatomia de um Sistema Embebido

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

Capítulo 2Ver detalhes

Programação C Essencial para Embebidos

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

    Apresenta os tipos stdint.h e o seu significado para o hardware. Previne erros 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. Permite diretamente a manipulação de registos em capítulos subsequentes.

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

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

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

    Ensina mascaramento, definição, limpeza e inversão de bits individuais. Estas operações são o mecanismo principal para configurar registos de hardware.

  • Aula 5 • Normas de Codificação C para Embebidos

    Aplica regras estilo MISRA e análise estática a código C embebido. Cria hábitos que reduzem defeitos em código BSP crítico para a segurança.

Capítulo 3Ver detalhes

Arquitetura de Memória e Scripts do Ligador

  • Aula 1 • Sintaxe e Secções do Script do Ligador

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

  • Aula 2 • Configuração da Pilha e do Heap

    Configura o tamanho da pilha, os limites do heap e a deteção de overflow. Previne as falhas de memória em tempo de execução mais comuns em sistemas embebidos.

  • Aula 3 • Mapa de Memória do Microcontrolador

    Mapeia as 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 do ligador.

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

    Implementa a sequência de arranque que copia .data e coloca .bss a zeros antes de main. Liga os símbolos do ligador ao código de arranque em assembly e C.

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

    Aplica flags do compilador e do ligador para reduzir o tamanho do código e dos dados. Diretamente relevante quando se visa microcontroladores com recursos limitados.

Capítulo 4Ver detalhes

Configuração de GPIO e Interrupções

  • Aula 1 • Debouncing e Deteção de Flancos

    Implementa debouncing por software e configura interrupções acionadas por flanco. Produz deteção fiável de pressionamento de botão como exercício prático.

  • Aula 2 • Arquitetura de Registos GPIO

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

  • Aula 3 • Ativação do Relógio e Reset de Periféricos

    Explica porque é que os periféricos devem ter o relógio ativado antes do acesso aos registos. Previne o bloqueio silencioso causado pelo acesso a periféricos não ativados.

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

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

  • Aula 5 • Fundamentos do Controlador de Interrupções

    Configura o NVIC ou controlador de interrupções equivalente para prioridade e ativação. Liga as linhas de interrupção de hardware às funções tratadoras em C.

Capítulo 5Ver detalhes

Temporizadores, PWM e Temporização do Sistema

  • Aula 1 • Arquitetura do Temporizador de Hardware

    Explica o pré-escalador, o registo de recarga automática e os modos de contagem. Fornece o modelo conceptual para todas as funcionalidades baseadas em temporizadores.

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

    Utiliza a captura de entrada para medir a largura de impulso e a frequência do sinal. Demonstra a utilização bidirecional do mesmo periférico temporizador.

  • Aula 3 • Geração de Sinal PWM

    Configura canais de comparação de saída para PWM com ciclo de trabalho ajustável. Permite o controlo de motores e a regulação de intensidade de LEDs 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 monitorização de vivacidade do sistema no projeto BSP.

  • Aula 5 • Geração de Atrasos de Tempo Precisos

    Implementa atrasos bloqueantes e não bloqueantes utilizando interrupções de overflow do temporizador. Substitui atrasos baseados em ciclos não fiáveis por temporização precisa de hardware.

Capítulo 6Ver detalhes

Drivers de Comunicação Série

  • Aula 1 • Implementação do Driver UART

    Configura a taxa de transmissão, o formato da trama e os registos de transmissão/receção. Constrói um driver UART por polling como base para atualizações orientadas por interrupção.

  • Aula 2 • Implementação do Driver SPI

    Configura a polaridade do relógio SPI, a fase e o controlo de seleção de chip. Implementa transferências full-duplex para um sensor ou dispositivo de memória externo.

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

    Atualiza o driver por polling para utilizar interrupções TX/RX e buffers circulares. Elimina o bloqueio da CPU durante transferências série.

  • Aula 4 • Implementação do Driver I2C

    Implementa as sequências de start, endereço, dados e stop do I2C ao nível dos registos. 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, libertando a CPU. Introduz a configuração de canais DMA e interrupções de conclusão de transferência.

Capítulo 7Ver detalhes

Arquitetura 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 um arranque determinístico e um encerramento limpo no BSP.

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

    Centraliza atribuições de pinos, frequências de relógio e flags de funcionalidades em cabeçalhos de placa. Isola as diferenças de hardware num único ficheiro por placa alvo.

  • Aula 4 • Portabilidade do BSP para um Novo Alvo

    Percorre os passos para portar um BSP existente para um microcontrolador diferente. Valida o projeto de abstração exercitando as interfaces específicas do hardware.

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

    Implementa callbacks de ponteiro para função e flags de evento para eventos assíncronos de drivers. Desacopla a lógica interna 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 a compilação, análise estática e testes unitários num pipeline CI. Garante que as gates de qualidade do BSP são executadas em cada alteração de código sem esforço manual.

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

    Implementa tratadores de hard fault que capturam tramas de pilha e estado da falha. Permite a análise post-mortem de falhas em firmware implantado.

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

    Aplica estruturas de teste unitário baseadas no hospedeiro à lógica de drivers BSP. Separa o código dependente de hardware da lógica pura testável.

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

    Utiliza um depurador de hardware para definir pontos de paragem, inspecionar registos e percorrer ISRs. Constrói confiança em fluxos de trabalho de depuração em hardware real.

  • Aula 5 • Osciloscópios

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

Certificação

Seu certificado válido de conclusão

Este curso é para si:

  • Engenheiros eletrotécnicos prontos para escrever firmware para os seus próprios projetos de hardware.

  • Licenciados em ciências informáticas a dar os primeiros passos no seu primeiro cargo em sistemas embebidos.

  • Entusiastas do Arduino que pretendem ir além das bibliotecas para a programação real de microcontroladores.

  • Programadores de firmware que dependem de HALs de fabricantes e querem compreender o que funciona por baixo.

  • Estudantes de mecatrónica a desenvolver projetos finais que exigem controlo de hardware de baixo nível.

  • Pessoas em mudança de carreira oriundas do desenvolvimento de software que visam posições em sistemas embebidos ou IoT.

O que os nossos formandos dizem

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 directas ao ponto e como eu consigo alterar capítulos e saltar 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 na aprendizagem.
André Felipe
André FelipeAluno de Engenharia de Prompt

Principais capacitações

Perguntas Frequentes

Quem é a Dedika?

O certificado é válido em Angola?

Os cursos são gratuitos?

Qual é a carga horária do curso?

Como são os cursos?

Como funcionam os cursos?

Qual é a duração dos cursos?

Qual é o custo ou preço dos cursos?

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

Curso em PDF