Recomendações

BookList para sistemas embarcados

Booklist recomendada para ler e se tornar um expert em sistemas embarcados.

Superman ícone
Técnica do Não Herói:
Não tente ser o herói lendo milhares de páginas de ponta a ponta como uma missão épica. Os livros abaixo somam uma carga monumental — e você não precisa enfrentar tudo de uma vez. Foque nos capítulos que se conectam ao seu momento atual de aprendizado. Direcionamento vale mais que volume.
Visão Geral

Mapa Estratégico de Estudos em Embedded Systems

Do alicerce teórico às competências avançadas: uma visão estruturada da jornada de aprendizado.

Roadmap de Sistemas Embarcados
Guia rápido

Nível de dificuldade dos livros

Use esta escala para escolher os livros de acordo com o seu momento nos estudos. Vários deles tem alternativas mais tranquilas ou mais avançadas, então fique à vontade para explorar conforme seu ritmo.

Bem iniciante LVL 1/5
Básico / Introdutório LVL 2/5
Intermediário LVL 3/5
Intermediário / Avançado LVL 4/5
Casca grossa 😅 LVL 5/5

Embedded Systems BOOKLIST

Fundamentos

Embedded Systems: Introduction to the MSP432 Microcontroller

The Art of Computer Programming

Donald E. Knuth


Para começo de conversa, a recomendação é dessa coleção indispensável em cursos de graduação e pós em Eng. da Computação e correlatos: a série The Art of Computer Programming, do grande Mestre Donald E. Knuth . Do Volume 1 ao Volume 4, ela forma uma das bases mais sólidas e profundas para qualquer engenheiro que trabalha com sistemas embarcados. O Volume 1 cobre análise rigorosa de complexidade e estruturas fundamentais; o Volume 2 traz algoritmos matemáticos aplicados a controle e DSP; o Volume 3 aprofunda ordenação, busca e estruturas eficientes para tempo real; e o Volume 4 explora algoritmos combinatórios, backtracking e técnicas avançadas essenciais em otimização e arquiteturas críticas. É uma fundação intelectual que treina a mentalidade matemática e analítica para projetar software embarcado eficiente, determinístico e de alto desempenho.


Nível de dificuldade:
👉 exige forte base matemática, abstração avançada e rigor teórico


Embedded Systems: Real-Time Interfacing to the MSP432 Microcontroller

Algoritmos: Teoria e Prática

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein


Ainda sobre estrutura de dados e complexidade de algoritmos (Conhecimento que distingue profissionais com domínio real em sistemas embarcados) Enquanto a série The Art of Computer Programming (Knuth) aprofunda algoritmos com rigor matemático extremo, enfatizando análise formal, técnicas combinatórias e raciocínio detalhado sobre o custo de cada operação, o Algoritmos: Teoria e Prática (CLRS) oferece uma abordagem mais didática, estruturada e aplicada. O CLRS organiza o conteúdo em capítulos modulares e progressivos, explica passo a passo o funcionamento de cada algoritmo, fornece pseudocódigo claro, demonstrações acessíveis e análises diretas que facilitam o aprendizado. Para quem estuda sistemas embarcados, o grande diferencial é que o CLRS permite dominar rapidamente as estruturas de dados essenciais (árvores, heaps, filas, tabelas hash) e entender como escolher o algoritmo certo com base em restrições de tempo, memória e previsibilidade — algo prático para firmware. Já Knuth aprofunda nuances e variações raras, úteis para quem quer se tornar um especialista em algoritmos ou resolver problemas altamente complexos. Assim, CLRS é mais pedagógico e aplicável, enquanto Knuth é enciclopédico e fundamental; juntos, eles formam uma base completa: CLRS para aprender, Knuth para se tornar excepcional.


Nível de dificuldade:
👉 Exige boa base matemática e lógica, mas apresenta algoritmos de forma didática e estruturada


Embedded Systems Design

Computer Systems: A Programmer’s Perspective

Randal Bryant & David O’Hallaron


Este livro explica conceitos de como o software interage com o hardware, este material é usado na Carnegie Mellon University (CMU) para formar programadores de sistemas. Ensina como programas em C realmente rodam no computador, cobrindo representação de dados, assembly x86, linking, stack, heap, chamadas de sistema, caches, memória virtual e exceções. Une organização de computadores com prática de programação, oferecendo uma compreensão profunda da execução em baixo nível. Essencial para quem quer escrever código eficiente, seguro e otimizado para sistemas embarcados. Livro para entender o que acontece por trás do código.


Nível de dificuldade:
👉 Apresenta conceitos de baixo nível de maneira acessível, progressiva e prática.

Lógica e Linguagem C para Sistemas Embarcados

C Programming for Modern Embedded Systems

C Programming - A Modern Approach

K. N. KING

Um dos livros mais completos e modernos para aprender C com profundidade e clareza. Cobre toda a linguagem — tipos, controle de fluxo, ponteiros, arrays, modularização e C99 — sempre com foco em boas práticas e entendimento real do comportamento do programa. Além da base técnica, o livro se destaca por abordar program design, writing large programs e error handling, preparando o leitor não apenas para escrever código em C, mas para construir software estruturado, robusto e escalável.


Nível de dificuldade:
👉 Pela abrangência da linguagem e ênfase em arquitetura de programas




Understanding and Using C Pointers — Richard Reese

Understanding and Using C Pointers

Richard Reese

Se ainda não está claro, parte essencial do C é lidar diretamente com a memória, compreender profundamente ponteiros é fundamental para escrever firmware seguro, eficiente e compatível com arquiteturas embarcadas. Este livro aprofunda o uso de ponteiros, arrays, structs e memória dinâmica, explicando como o C realmente acessa e organiza dados na memória. Ele mostra como interpretar endereços, manipular regiões da RAM, entender pointer arithmetic, criar estruturas eficientes e evitar erros clássicos como dangling pointers e corrupção de memória.


Nível de dificuldade:
👉 Exige base sólida de C e entendimento de memória

Arquiteturas de Microcontroladores e Instruction Set Architectures (ISA) — ARM Cortex-M e RISC-V

The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors

The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors Third Edition

Joseph Yiu

Referência clássica sobre arquitetura Cortex-M, registradores, exceções, memória e boas práticas de firmware bare-metal.


Nível de dificuldade:
👉 Livro extenso com muitos conceitos complexos




ARM Assembly Language

Computer Organization and Design — RISC-V Edition

David A. Patterson, John L. Hennessy

Livro referência mundial para aprender arquitetura de computadores usando a ISA RISC-V como base. Explica de forma clara como uma CPU funciona por dentro — desde instruções, registradores e assembly até datapath, pipeline, hazards, caches, memória virtual e multiprocessamento. Combina teoria sólida com exemplos práticos em RISC-V, permitindo ao leitor entender tanto a arquitetura quanto o impacto do hardware no desempenho do software. É a base moderna para quem quer dominar ISAs e design de processadores.


Nível de dificuldade:
👉 É interessante ter base sólida de lógica digital e programação de baixo nível

Build

C Programming for Modern Embedded Systems

Compiladores: princípios, técnicas e ferramentas

Alfred V. Aho, Monica S. Lam, Ravi Sethi Jeffrey

Este livro é fundamental para quem trabalha com sistemas embarcados porque explica como o código C realmente se transforma em instruções de máquina, mostrando como o compilador decide otimizações, alocação de registradores, layout de memória, seleção de instruções e gerenciamento de tempo de execução — todos aspectos críticos para desempenho, consumo, determinismo e previsibilidade em sistemas de tempo real. O livro ensina a mecânica interna que permite entender por que o compilador gera certo assembly, como reduzir latências, como evitar construções ineficientes e como analisar profundamente o comportamento do binário resultante.


Nível de dificuldade:
👉 Forte base matemática e teórica e Linguagem técnica pesada




C Programming for Modern Embedded Systems

Capítulo 3, 4 e 5 - Bare-Metal Embedded C Programming Develop high-performance embedded systems with C for Arm microcontrollers

ISRAEL GBATI

Os capítulos 3 - Understanding the Build Process and Exploring the GNU Toolchain, 4 - Developing the Linker Script and Startup File e 5 - The “Make” Build System, apresentam todo o fluxo profissional de construção de um firmware bare-metal: primeiro, o livro explica o processo de build e o papel das ferramentas do GNU Toolchain (pré-processamento, compilação, assembly e linkagem), depois mostra como criar um linker script definindo regiões de memória e seções (.text, .data, .bss) e como escrever o startup file com vetor de interrupções e Reset_Handler. Por fim, ensina a estruturar um projeto usando Makefiles, automatizando dependências, geração de binários e organização do build system.


Nível de dificuldade:
👉 Exige entender memória, toolchain GNU, linker scripts e fluxo completo de build bare-metal




C Programming for Modern Embedded Systems

Capítulo 7 (Linkers) — Computer Systems: A Programmer’s Perspective

Randal Bryant & David O’Hallaron

O capítulo mostra como o linker combina arquivos objeto para formar um executável, resolvendo símbolos, ajustando endereços via realocação e organizando seções (.text, .data, .bss) no formato ELF. Também explica a diferença entre linkagem estática e dinâmica, como bibliotecas são carregadas e como ferramentas como nm e objdump ajudam na análise.


Nível de dificuldade:
👉 Exige entender memória e o pipeline de compilação

Drives, Periféricos, Protocolos & Comunicação Industrial

Real-Time Concepts for Embedded Systems

Embedded Systems: Real-Time Interfacing to ARM Cortex-M Microcontrollers

Jonathan W. Valvano


Este livro é uma das referências mais completas para quem deseja aprender drivers de baixo nível em ARM Cortex-M. Ele explica, de forma prática e orientada a registradores, como implementar GPIO, timers, PWM, ADC, DAC, interrupções, UART, SPI, I²C e DMA — sempre conectando teoria elétrica com firmware real. Inclui exemplos detalhados de aplicações, técnicas de depuração e exercícios que simulam desafios de sistemas embarcados industriais. É um guia essencial para dominar hardware na prática.


Nível de dificuldade:
👉 Exige boa base de C e compreensão de registradores, elétrica digital e tempo real.

Debug, Testes & Qualidade de Software Embarcado

Real-Time Concepts for Embedded Systems

Software Verification and Validation for Practitioners and Managers, Second Edition

Steven R. Rakitin


Software Verification and Validation for Practitioners and Managers é uma leitura fundamental para quem quer dominar sistemas embarcados porque reúne as principais técnicas usadas em softwares de alta criticidade — como análise estática e dinâmica, revisão estruturada, validação baseada em requisitos, coverage e estratégias, botton up e topdown e formais. Além de ensinar como testar, o livro mostra como projetar o software desde o início para ser testável, guiando um desenvolvimento mais disciplinado, modular, previsível e voltado a testes. Embora seja voltado para ambientes rigorosos como aeroespacial, automotivo e médico, suas metodologias podem ser aplicadas parcialmente em projetos de menor criticidade, permitindo elevar a qualidade, reduzir riscos e detectar falhas cedo mesmo em firmware comum. É uma obra que forma a mentalidade de engenharia necessária para construir sistemas embarcados robustos e verificáveis.


Nível de dificuldade:
👉 Exige base em engenharia de software, requisitos e qualidade



Real-Time Concepts for Embedded Systems

Test Driven Development for Embedded C (Pragmatic Programmers) 4th ed. 2024

James W. Grenning


Livro que ensina como aplicar TDD especificamente em firmware C, mostrando como escrever testes antes do código, criar módulos desacoplados, simular periféricos e estruturar um ambiente de testes repetível. Explica como transformar firmware frágil em código previsível, testável e seguro, usando mocks, stubs e boas práticas de design voltadas ao embarcado. É um guia prático para elevar a qualidade e reduzir falhas em sistemas de tempo real.


Nível de dificuldade:
👉 Exige boa base em C



Real-Time Concepts for Embedded Systems

Hardware-in-the-Loop Simulation: A Scalable, Component-Based, Time-Triggered HIL Framework 4th ed. 2024

Martin Schlager


Apresenta uma arquitetura prática e escalável para criar ambientes de Hardware-in-the-Loop baseados em componentes, permitindo simulação determinística em tempo real e integração modular entre hardware e modelos. Explica como estruturar geração de estímulos, captura de respostas e sincronização precisa entre simulador e dispositivo testado. É uma referência sólida para quem precisa projetar ou entender plataformas HIL profissionais.


Nível de dificuldade:
👉 Exige conhecimento de sistemas em tempo real, simulação e arquitetura de testes

Tempo Real e Safety-Critical Software

Real-Time Concepts for Embedded Systems

Hard Real-Time Computing Systems Predictable Scheduling Algorithms and Applications 4th ed. 2024

Giorgio Buttazzo, Sant’Anna School of Advanced Studies, Pisa, Italy


O livro Hard Real-Time Computing Systems apresenta os princípios essenciais de sistemas de tempo real rígido, com foco absoluto em previsibilidade. Ele descreve em profundidade modelos temporais, deadlines, carga de processamento e análise de escalonabilidade. Traz um estudo abrangente de algoritmos clássicos e modernos de escalonamento, como RM, DM e EDF, além de variações práticas usadas na indústria. A obra também cobre temas críticos como gerenciamento de recursos, sincronização, overrun handling e execução em plataformas multicore. É uma referência definitiva para projetar sistemas embarcados críticos com garantias temporais formais.


Nível de dificuldade:
👉 Apresenta conceitos matemáticos avançados, análise formal e escalonamento, abordando profundamente teoria, modelos temporais e algoritmos avançados usados em sistemas críticos.


Real-Time Concepts for Embedded Systems

Developing Safety-Critical Software: A Practical Guide for Aviation Software and Do-178c Compliance 4th ed. 2024

Leanna Rierson


Developing Safety-Critical Software, de Leanna Rierson, é um guia prático e completo para quem precisa entender como desenvolver software embarcado crítico conforme o DO-178C e padrões associados de certificação aérea. A autora, com ampla experiência na indústria e em autoridades regulatórias, traduz os requisitos formais em práticas claras para planejamento, engenharia de requisitos, design, codificação, verificação, gestão de configuração e garantia da qualidade. O livro mostra como aplicar o processo de ciclo de vida completo para produzir software seguro, rastreável e auditável, oferecendo orientações realistas, exemplos e recomendações que vão muito além do texto da norma. É uma referência indispensável para quem deseja atuar em sistemas embarcados de alta confiabilidade, especialmente em aviação e outros domínios safety-critical.


Nível de dificuldade:
👉 Exige domínio prévio de engenharia de software, requisitos, verificação e processos formais, aplicando rigor extremo necessário para certificação em sistemas críticos como aviação.



Real-Time Concepts for Embedded Systems

MISRA-C:2004 — Guidelines for the Use of the C Language in Critical Systems 4th ed. 2024

MISRA-C


Este documento estabelece um conjunto rigoroso de regras para escrever software em C seguro, previsível e adequado a sistemas críticos, como automotivo, aeroespacial e médico. As diretrizes focam em eliminar comportamentos indefinidos, reduzir ambiguidade da linguagem, evitar construções perigosas, garantir portabilidade e fortalecer verificabilidade — aspectos essenciais quando falhas podem causar danos sérios ou risco à vida. A norma define regras obrigatórias e recomendadas, cobrindo tipos, escopo, fluxo de controle, ponteiros, inicialização, manipulação de memória e práticas formais de codificação, formando a base de muitos processos industriais de qualidade.


Nível de dificuldade:
👉 Exige domínio de C

Processamento de sinais

Real-Time Concepts for Embedded Systems

Digital Signal Processing: A Practical Guide for Engineers and Scientists

Steven W. Smith


Um guia prático que oferece uma introdução acessível ao DSP, com muitos exemplos e explicações detalhadas. O livro é focado em engenheiros e cientistas que precisam de soluções práticas e implementações de DSP, com exemplos de código em C para implementação em sistemas embarcados.


Nível de dificuldade:
👉 Exige conhecimento prévio de sinais, álgebra linear e programação em C



Real-Time Concepts for Embedded Systems

Understanding Digital Signal Processing

Richard G. Lyons


Se a intenção for realmente ir a fundo em DSP, este livro vai muito mais a fundo, Lyons é famoso por explicar DSP de um jeito que ninguém mais explica destrinchando assuntos complexos como técnicas de manipulação de fase, truques algébricos para otimizar cálculos, análise de ganho, oversampling, interpolação, técnicas avançadas coisas que engenheiros usam na prática mas poucos livros explicam com essa profundidade.


Nível de dificuldade:
👉 Vai a fundo em assuntos complexos e utiliza conceitos avançados de matemática aplicada

Segurança, Criptografia & Secure Boot em Embarcados

Real-Time Concepts for Embedded Systems

The Hardware Hacking Handbook

Jasper Van Woudenberg, Colin O'Flynn


The Hardware Hacking Handbook é o guia definitivo para entender ataques físicos e invasões no nível mais baixo possíveis em sistemas embarcados. O livro cobre glitching, fault injection, ataques de side-channel, engenharia reversa de microcontroladores, extração física de memória e comprometimento de bootloaders. Ele mostra como ferramentas e técnicas reais são usadas por pesquisadores e atacantes para quebrar proteções de hardware.


Nível de dificuldade:
👉 Exige forte base em eletrônica, microcontroladores


Real-Time Concepts for Embedded Systems

Security Engineering: A Guide to Building Dependable Distributed Systems 3rd Edition

Ross Anderson


Security Engineering apresenta uma visão completa da segurança de sistemas: criptografia aplicada, protocolos, autenticação, modelagem de ameaças, segurança de software, redes, hardware e sistemas distribuídos. Diferente do Hardware Hacking Handbook, que foca em ataques físicos low-level, este livro cobre o ecossistema inteiro — incluindo falhas humanas, engenharia social, fraudes, sistemas industriais, IoT e políticas de segurança. É a referência que explica como projetar sistemas realmente confiáveis frente a atacantes sofisticados.


Nível de dificuldade:
👉 Extenso e multidisciplinar, exigindo conhecimentos variados de software, redes e hardware
Gostou das recomendações?