K210ボードでXV6-RISCVを実行します
英語| 中文
(`-') (`-') <-.(`-')
(OO )_.-> _(OO ) __( OO)
(_| _)--.,--.(_/,-. ,--. (`-') '-'. ,--. .----. .--. .----.
`.' / / (_/ / .' ( OO).-> | .' / _,-. | /_ | / ..
.') / / . / -. (,------. | /) .' .' | | | / .
.' _ /_)' .-. `------' | . ' .' /_ | | ' / '
/ .'. -' / `-' / | | | | | | `' /
`--' '--' `-' `----' `--' '--' `------' `--' `---''

k210 boardまたはqemu-system-riscv64git clone https://github.com/HUST-OS/xv6-k210まず、K210ボードをPCに接続する必要があります。
USB serial portを確認します(私の状況ではttyUSB0になります):
ls /dev/ | grep USBカーネルとユーザープログラムを構築します。
cd xv6-k210
make build元のファイルシステムの代わりに、XV6-K210はFAT32で実行されます。 FAT32形式のSDカードが必要になる場合があります。
SDカードはパーティションテーブルを保持しないでください。 shellやその他のユーザープログラムを開始するには、SDカードにコピーする必要があります。
まず、SDカードを接続してマウントします(SDカードリーダーが必要)。
ls /dev/ # To check your SD device
mount < your SD device name > < mount point >
make sdcard dst= " SD card mount point "
umount < mount point >次に、SDカードをK210ボードに挿入して実行します。
make run USB serial portを変更する場合があります。
make run k210-serialport= ` Your-USB-port ` (default by ttyUSB0)PS:LinuxのK210ポートのほとんどはTTYUSB0です。WindowsまたはMac OSを使用する場合、このドキュメントはあなたを助けるかもしれません:maixpy-doc
まず、 qemu-system-riscv64がシステムにインストールされていることを確認してください。
次に、FAT32ファイルシステムを備えたディスクイメージファイルを作成します。
make fsディスクイメージファイルfs.imgを生成し、 shellなどのユーザープログラムをコンパイルしてからfs.imgにコピーします。
fs.imgが存在する限り、更新したい場合を除き、実行する前に毎回これを行う必要はありません。
最後に、実行を開始します。
make run platform=qemuPS:ctrl + aを押してxを押してqemuを終了します。
シェルコマンドもユーザープログラムです。これらのプログラムは、SDカードまたはfs.imgの「/bin」ディレクトリに配置する必要があります。
これで、 cd 、 ls 、 catなど、いくつかの有用なコマンドをサポートしています。
さらに、 shell以下のようにいくつかのショートカットキーをサポートしています。
xv6-user/ wike myprog.cで新しいCソースファイルを作成し、コードを配置します。user.hを含めるには、 open 、 gets 、 printfなど、宣言された関数を使用できます。Makefileに「 $U/_myprog 」という行を追加します。 UPROGS =
$U/_init
$U/_sh
$U/_cat
...
$U/_myprog # Don't ignore the leading '_'make userprogsxv6-user/に_myprog表示される場合があります。最後に、SD(こちらを参照)またはFS画像(こちらを参照)にコピーする必要があります。 K210でUモード例外のバグを修正します。