Experimentando com RISC-V

Capítulos práticos explorando desenvolvimento bare-metal RV32, ferramentas e experimentos.

Prefácio

Introdução

Visão geral da arquitetura RISC-V

Configurando a toolchain e o QEMU

Instruções básicas de assembly RISC-V

Internals de ELF e Binutils: vendo o que o compilador produziu

Memória, Paginação e a Ilusão do Hardware

ABI do RV32 e Tipos de Dados em C: Tamanhos, Alinhamento e Layout

C → Assembly: Otimizações, Volatile e o que o compilador pode fazer

Fluxo de controle e acesso a dados em assembly RV32

Funções, convenção de chamada e stack frames

Scripts de linker, seções e mapas de memória

Ponto flutuante, endianness e bit-packing (verificando com Python)

Triage de firmware e fluxo de engenharia reversa

Análise dinâmica com tracing no QEMU

Interfaces no QEMU: UART e conceitos de MMIO

Capstones e próximos passos

Resumo da série

Solução de problemas

Glossário

Apêndice: Recursos

Contato