xv6-k210/README.md

73 lines
1.9 KiB
Markdown
Raw Normal View History

2020-10-21 19:18:46 +08:00
# XV6-RISCV On K210
2020-11-24 18:35:55 +08:00
Run xv6-riscv on k210 board
```
(`-') (`-') <-.(`-')
(OO )_.-> _(OO ) __( OO)
(_| \_)--.,--.(_/,-.\ ,--. (`-') '-'. ,--. .----. .--. .----.
\ `.' / \ \ / (_/ / .' ( OO).-> | .' / \_,-. | /_ | / .. \
\ .') \ / / . / -. (,------. | /) .' .' | | | / \ .
.' \ _ \ /_)' .-. \ `------' | . ' .' /_ | | ' \ / '
/ .'. \ \-'\ / \ `-' / | |\ \ | | | | \ `' /
`--' '--' `-' `----' `--' '--' `------' `--' `---''
```
2020-11-18 22:18:15 +08:00
![run-k210](./img/xv6_k210_run_proc.png)
2020-10-19 00:53:22 +08:00
2020-10-21 19:18:46 +08:00
## Dependencies
2020-12-13 07:05:52 +08:00
+ `k210 board` or `qemu-system-riscv64`
2020-12-13 18:33:18 +08:00
+ RISC-V Toolchain: [riscv-gnu-toolchain](https://github.com/riscv/riscv-gnu-toolchain.git)
2020-10-19 00:53:22 +08:00
2020-10-21 19:18:46 +08:00
## Installation
2020-11-07 03:13:59 +08:00
```bash
git clone https://github.com/SKTT1Ryze/xv6-k210
```
2020-10-19 00:53:22 +08:00
2020-10-21 19:18:46 +08:00
## Build
2020-10-22 03:54:05 +08:00
First you need to connect your k210 board to your PC.
2020-12-13 07:05:52 +08:00
And check the `USB serial port`:
2020-11-07 03:12:44 +08:00
```bash
ls /dev/ | grep USB
```
2020-11-04 06:43:08 +08:00
In my situation it will be `ttyUSB0`
2020-10-22 03:54:05 +08:00
2020-11-07 03:12:44 +08:00
```bash
cd xv6-k210
make build
```
2020-10-19 00:53:22 +08:00
2020-12-13 07:05:52 +08:00
## Run on k210 board
2020-11-07 03:12:44 +08:00
```bash
2020-12-13 07:05:52 +08:00
make run
```
Sometimes you should change the `USB serial port`:
```bash
make run k210-serialport=`Your-USB-port`(default by ttyUSB0)
2020-11-07 03:12:44 +08:00
```
2020-10-23 08:00:43 +08:00
Ps: Most of the k210-port in Linux is ttyUSB0, if you use Windows or Mac OS, this doc
may help you: [maixpy-doc](https://maixpy.sipeed.com/zh/get_started/env_install_driver.html#)
2020-10-19 00:53:22 +08:00
2020-12-13 07:05:52 +08:00
## Run on qemu-system-riscv64
First make sure you have the `qemu-system-riscv64` on your system.
Then run the command:
```bash
make run platform=qemu
```
2020-11-07 03:12:44 +08:00
## Progress
- [x] Multicore boot
- [x] Bare-metal printf
- [x] Memory alloc
- [x] Page Table
- [x] Timer interrupt
- [x] S mode extern interrupt
- [x] Receive uarths message
- [x] SD card driver
2020-11-17 20:46:11 +08:00
- [x] Process management
2020-11-07 03:12:44 +08:00
- [ ] File system
- [ ] User program
2020-11-02 20:20:31 +08:00
2020-10-21 19:18:46 +08:00
## TODO
The rest part of xv6-kernel and xv6-fs