Skip to content

AtomHeartCoder/xv6-k210

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XV6-RISCV On K210

Run xv6-riscv on k210 board

 (`-')           (`-')                   <-.(`-')                            
 (OO )_.->      _(OO )                    __( OO)                            
 (_| \_)--.,--.(_/,-.\  ,--.    (`-')    '-'. ,--.  .----.   .--.   .----.   
 \  `.'  / \   \ / (_/ /  .'    ( OO).-> |  .'   / \_,-.  | /_  |  /  ..  \  
  \    .')  \   /   / .  / -.  (,------. |      /)    .' .'  |  | |  /  \  . 
  .'    \  _ \     /_)'  .-. \  `------' |  .   '   .'  /_   |  | '  \  /  ' 
 /  .'.  \ \-'\   /   \  `-' /           |  |\   \ |      |  |  |  \  `'  /  
`--'   '--'    `-'     `----'            `--' '--' `------'  `--'   `---''   

run-k210

Dependencies

Installation

git clone https://github.com/SKTT1Ryze/xv6-k210

Build

First you need to connect your k210 board to your PC.
And check the USB serial port:

ls /dev/ | grep USB

In my situation it will be ttyUSB0

cd xv6-k210
make build

Run on k210 board

make run

Sometimes you should change the USB serial port:

make run k210-serialport=`Your-USB-port`(default by ttyUSB0)

Ps: Most of the k210-port in Linux is ttyUSB0, if you use Windows or Mac OS, this doc may help you: maixpy-doc

Run on qemu-system-riscv64

First make sure you have the qemu-system-riscv64 on your system.
Then run the command:

make run platform=qemu

Ps: Press Ctrl + A then X to quit qemu. Besides, file system and uesr programs are available on qemu. More details here.

Progress

  • Multicore boot
  • Bare-metal printf
  • Memory alloc
  • Page Table
  • Timer interrupt
  • S mode extern interrupt
  • Receive uarths message
  • SD card driver
  • Process management
  • File system
  • User program

TODO

The rest part of xv6-kernel and xv6-fs

About

Porting xv6-riscv on k210

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • C 61.9%
  • Python 22.2%
  • C++ 9.7%
  • Rust 4.5%
  • Assembly 1.0%
  • Makefile 0.6%
  • Other 0.1%