V-scale chip でも kozos が動いた(条件付き!!)

だいぶ放置しちゃったけど、ついに V-scale chip on Arty でも kozos が動きました。
なんとなく AHB のアービタがダメなのは分かっていたのですが、よく見ると、そのダメなところを CPU でカバーしていました。おかげで1サイクル余分にストールするし、ディレイも増大していました。この時 に CPU を直したのが根本的に間違っているのですが、その直し方も不十分だったみたい。CPU を追加修正したら、一応動くようになりました。しかし、ISA テストのパタンでも Fail するのに、なんでちゃんと解析してなかったんだろうか?
ちなみに間違いの内容は、競合があったときに負けた方のマスタを待たせるんだけど、肝心のリクエストは消えちゃって再発行されないって感じです。
やはりここは、ちゃんと vscale-xbar を直すべきだとは思うのですが、ちゃんと動くように直せない。ディレイもどんどん増加していきます。
とりあえず現状で妥協して、vscalevscale-chip を更新しました。

プロンプトが出てきたら、load[改行]と打ってから、XMODEM でファイルを転送します。ここで ELF ファイルを転送すると、次の run コマンドでプログラムを実行できます。
kzload (kozos boot loader) started.
kzload> load
XMODEM receive succeeded.
dump[改行]と打つと、転送したファイルの HEXDUMP が表示されます。
run[改行]で、転送したファイル(ELF形式)を展開して実行します。
kzload> run
starting from entry point: 1900
Hello World!
>
サンプルプログラムは src/main/c/os/ 以下にあります。サンプルプログラムでは echo コマンドが使えます。転送するファイルは ELF をストリップした kozos です。ライブラリはすべて自作で、lib.c の物しか使えません。また、オリジナルでは 8kB 位までしか動かないそうです。vscale-chip ではアドレスマップを大幅変更しているのでよく分かりませんが、大体同じくらいの制限かと思います(^^;
なんか、いつまでたっても解放されない気持ちです。遊びなのに、遊びなのに…

[PR]
トラックバックURL : http://tom01h.exblog.jp/tb/27446418
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by tom01h | 2017-01-14 23:00 | PCとか | Trackback | Comments(0)