LiteX実行時に自分の好きなプログラムをロードして実行するためには何をすればよいかというのを調査していた。
とりあえず、Demoファイルがあったので、これを試してみたいと思う。
- まず、単純に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... $@@$$@@$$$@@$ $$$$$###########$$$$$ $####**!!!!!!!!!!!**###$$ ####**!===============!**#### *##**!!!===;::::::::;;===!!!*###* !****!!===;:~--,,.,,-~~:;===!!***** =****!!==;;:-,........,--:;;=!!!****= !***!!!==;:--...........-~:;=!!!!***! !***!!!=;;:-,.. ..,-:;==!!!**!! ;!!**!!!==;:-,. ~;==!!!!**!!!=: =!!!****!*!!!== =!!********!!!= ;=!!!*****#*#####***########****!!==; -;=!!****####$$$$$@@@$$$$###****!!=;- ~:=!!****###$$$$@@@@$$$$###**!!==;- ,:;=!!**####$$$$$$$$$####**!!=;:- -:;=!!!**###########**!!!=;:- -:;;==!!!*******!!!==;::- .-~::;;=======;;::~-.
いいね。ちゃんと動いた。こうやって任意のアプリケーションを立ち上げるのか。