
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.
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.
Conteúdo do curso
8 Capítulos • 40 AulasDuração entre 4 e 360 horas (você decide)
Capítulo 1EsconderEsconder detalhesVer detalhesSistemas Embebidos e Fundamentos de BSP
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 2EsconderEsconder detalhesVer detalhesProgramação C Essencial para Embebidos
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 3EsconderEsconder detalhesVer detalhesArquitetura de Memória e Scripts do Ligador
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 4EsconderEsconder detalhesVer detalhesConfiguração de GPIO e Interrupções
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 5EsconderEsconder detalhesVer detalhesTemporizadores, PWM e Temporização do Sistema
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 6EsconderEsconder detalhesVer detalhesDrivers de Comunicação Série
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 7EsconderEsconder detalhesVer detalhesArquitetura BSP e Padrões de Projeto de Drivers
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 8EsconderEsconder detalhesVer detalhesDepuração, Teste e Validação
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.
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...

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.

Gosto do conteúdo e do modo de apresentação e transcrição de vídeos, o que acelera o processo!

A plataforma é rápida, simples de usar. A diversidade de conteúdo e os vídeos complementares ajudam muito na aprendizagem.

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




















