学习目标

  • 搭建项目框架
  • 组织代码结构

2.1 目录结构

riscv-emu/
├── src/
│   ├── cpu/
│   │   ├── cpu.c
│   │   ├── decode.c
│   │   └── execute.c
│   ├── soc/
│   │   ├── uart.c
│   │   └── timer.c
│   ├── am/
│   │   ├── memory.c
│   │   └── io.c
│   ├── loader/
│   │   └── elf.c
│   └── main.c
├── include/
└── Makefile

2.2 主函数框架

int main(int argc, char *argv[]) {
    // 1. 加载 ELF
    load_elf(argv[1]);

    // 2. 初始化 CPU
    cpu_init();

    // 3. 初始化 SoC
    soc_init();

    // 4. 执行
    cpu_run();

    return 0;
}

下一步

第 3 章:ELF 文件解析

更新时间: