第 2 章:项目结构搭建
学习目标
- 搭建项目框架
- 组织代码结构
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;
}