Linux on LiteX-VexRiscv 项目教程
1. 项目的目录结构及介绍
linux-on-litex-vexriscv/
├── build/
│ ├── platform/
│ │ └── litex/
│ │ └── vexriscv/
│ │ ├── firmware/
│ │ │ └── fw_jump.bin
│ │ └── opensbi/
│ │ └── ...
│ └── ...
├── configs/
│ ├── default.config
│ └── ...
├── scripts/
│ ├── build.sh
│ └── ...
├── README.md
└── ...
目录结构介绍
- build/: 该目录用于存放构建过程中生成的文件,包括生成的二进制文件和中间文件。
- platform/litex/vexriscv/: 存放与 VexRiscv 平台相关的构建文件。
- firmware/: 存放生成的固件文件,如
fw_jump.bin
。 - opensbi/: 存放 OpenSBI 相关的构建文件。
- firmware/: 存放生成的固件文件,如
- platform/litex/vexriscv/: 存放与 VexRiscv 平台相关的构建文件。
- configs/: 存放项目的配置文件,如
default.config
。 - scripts/: 存放构建和运行项目的脚本文件,如
build.sh
。 - README.md: 项目的说明文档,包含项目的介绍、安装和使用说明。
2. 项目的启动文件介绍
启动文件
- fw_jump.bin: 这是 VexRiscv 平台的启动固件文件,位于
build/platform/litex/vexriscv/firmware/
目录下。该文件是 OpenSBI 生成的二进制文件,用于引导 Linux 内核的启动。
启动流程
- OpenSBI: 首先加载 OpenSBI 固件 (
fw_jump.bin
),它负责初始化硬件并引导 Linux 内核。 - Linux 内核: OpenSBI 加载并启动 Linux 内核,完成系统的初始化和启动过程。
3. 项目的配置文件介绍
配置文件
- default.config: 这是项目的默认配置文件,位于
configs/
目录下。该文件包含了项目的各种配置选项,如硬件平台、内存大小、时钟频率等。
配置选项
- PLATFORM: 指定使用的硬件平台,如
litex/vexriscv
。 - MEMORY: 配置内存大小。
- CLOCK_FREQUENCY: 配置最大测试时钟频率。
配置示例
PLATFORM=litex/vexriscv
MEMORY=128MB
CLOCK_FREQUENCY=50MHz
通过修改 default.config
文件,可以自定义项目的配置,以适应不同的硬件平台和需求。