FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

LiteXによるSoC環境構築を試行する (9. VexRiscvにて、BIOS以外のdemoアプリをロードしてシミュレーションするためには)

https://raw.githubusercontent.com/enjoy-digital/litex/master/doc/litex.png

LiteX実行時に自分の好きなプログラムをロードして実行するためには何をすればよいかというのを調査していた。

とりあえず、Demoファイルがあったので、これを試してみたいと思う。

github.com

  1. まず、単純にVexRiscvのビルドを行う。これには以下のコマンドを実行する。
litex_sim --cpu-type=vexriscv --output vexriscv_build

次に、demoアプリをビルドする。これは./litex/litex/litex/soc/software/demoに移動してビルドを行う。

cd ./litex/litex/litex/soc/software/demo
./demo.py --build-path ../../../../../../vexriscv_build/

これでdemo.binが生成されるので、もう一度litex_simに戻ってBIOSの代わりにdemo.binをロードしよう。

litex_sim --cpu-type=vexriscv --output vexriscv_build --integrated-rom-init=./litex/litex/litex/soc/software/demo/demo.bin
LiteX minimal demo app built Apr 24 2023 16:06:51

Available commands:
help               - Show this command
reboot             - Reboot CPU
donut              - Spinning Donut demo
helloc             - Hello C
litex-demo-app>

ターミナルが立ち上がった。donutを使用してみる。

Donut demo...




                                 $@@$$@@$$$@@$
                             $$$$$###########$$$$$
                           $####**!!!!!!!!!!!**###$$
                         ####**!===============!**####
                       *##**!!!===;::::::::;;===!!!*###*
                      !****!!===;:~--,,.,,-~~:;===!!*****
                     =****!!==;;:-,........,--:;;=!!!****=
                     !***!!!==;:--...........-~:;=!!!!***!
                     !***!!!=;;:-,..       ..,-:;==!!!**!!
                    ;!!**!!!==;:-,.         ~;==!!!!**!!!=:
                     =!!!****!*!!!==       =!!********!!!=
                     ;=!!!*****#*#####***########****!!==;
                     -;=!!****####$$$$$@@@$$$$###****!!=;-
                      ~:=!!****###$$$$@@@@$$$$###**!!==;-
                       ,:;=!!**####$$$$$$$$$####**!!=;:-
                         -:;=!!!**###########**!!!=;:-
                           -:;;==!!!*******!!!==;::-
                             .-~::;;=======;;::~-.

いいね。ちゃんと動いた。こうやって任意のアプリケーションを立ち上げるのか。

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com