Capstones e próximos passos

TL;DR


Capstone 1: RV32 “binaryISC” - um mini monitor de firmware no QEMU

Objetivo

Construir um programa bare-metal RV32 mínimo que:

Entregáveis

Esboço sugerido de implementação

Plano de teste

Stretch goals


Capstone 2: “C → Assembly” pack de explicação (entregável didático)

Objetivo

Criar um conjunto de materiais didáticos que explicam como 5 funções C pequenas compilam para assembly em -O0 e -O2.

Escolha funções que cubram:

Entregáveis

Plano de teste


Capstone 3: Relatório de triagem de firmware (estático primeiro)

Objetivo

Pegar uma imagem de firmware (sua ou de treinamento) e produzir um relatório estruturado de triagem.

Entregáveis

Um relatório contendo:

Plano de teste


Capstone 4: Mini-lab de análise dinâmica (Frida)

Objetivo

Hookar um ponto de decisão em um programa userland:

Entregáveis

Stretch goals


Capstone 5: Planilha de validação de hardware (UART/SPI/I2C)

Objetivo

Criar uma “planilha de campo” que alunos possam usar em qualquer placa.

Entregáveis

Um template que inclua:

Plano de teste


Plano de ensino: como rodar esta série para uma turma

Ritmo recomendado

Como avaliar alunos


Exercícios

  1. Escolha um capstone e escreva um plano de projeto de 1 página com marcos.
  2. Crie uma rubrica para corrigir o Capstone 2 (pack de explicação C→assembly).
  3. Escreva 10 “micro-perguntas” que alunos possam responder a partir de output do objdump.

Como testar suas respostas


Resumo

Agora você tem um conjunto de projetos realistas que combinam toda a toolchain: compilação, leitura de ELF, raciocínio em assembly, entendimento de stack/ABI, depuração, triagem de firmware e validação de interfaces de hardware.

Se você quiser expandir este livro depois, as adições mais valiosas são: