Glossário
Glossário
ABI: Application Binary Interface; regras de convenção de chamada, uso de registradores e layout de dados.
Bare-metal: Código rodando direto no hardware (ou emulador) sem sistema operacional.
BSS: Block Started by Symbol; segmento de dados não inicializados, zerado na inicialização.
CSR: Control and Status Register; registradores especiais de controle e estado do RISC-V.
ELF: Executable and Linkable Format; formato padrão de arquivo para binários compilados.
Entry point (_start): Primeiro ponto de execução; símbolo do linker onde a execução começa.
Freestanding: Modo de compilação C sem libc ou suposições de ambiente hospedado.
GCC: GNU Compiler Collection; toolchain usado para compilar os exemplos.
GDB: GNU Debugger; usado para inspecionar e controlar a execução.
ILP32: ABI em que int, long e ponteiros têm 32 bits.
ISA: Instruction Set Architecture; o conjunto de instruções que uma CPU entende.
Linker script: Arquivo que define o layout de memória e o posicionamento de seções no linker.
MMIO: Memory-Mapped I/O; registradores de dispositivo mapeados no espaço de endereços de memória.
QEMU: Quick Emulator; emulador de máquina usado aqui em modo sistema.
RV32I: A ISA base inteira RISC-V de 32 bits.
RV32IM: RV32I com a extensão M (multiplicação/divisão).
Toolchain: Conjunto de compilador, assembler, linker e ferramentas relacionadas.
UART: Universal Asynchronous Receiver/Transmitter; interface serial de saída.
VMA/LMA: Virtual/Load Memory Address; onde seções aparecem em execução vs no arquivo.