2024年1月14日日曜日

自作CPUで遊ぶ 16

あっという間に年が明けて2024年になってしまった。 
昨年は定年を迎えたり実父が亡くなったりと自分にとっては色々と節目の年だった。
2024年はどんな年になるだろうか。 
今年は何とかブログの更新頻度を上げていければと考えている。

前回はロジック部の実装を行った。
今回はZyboのpetalinux上でzumi32用のプログラムをコンパイルし、zumi32側にダウンロードして動作させるまでの実装と確認をした。zumi32側の命令メモリとデータメモリは下図のようにAXI I/F経由でARMからもアクセスできるようにしている。
petalinuxではこの空間をuioでアクセス出来るようにした。以下はプログラムローダのuioでマッピングしている部分だ。
C言語で書かれたzumi32用プログラムはコンパイルしてelfを生成後、objedumpでtextセグメントdataセグメントをそれぞれ抽出してダウンロード用のデータファイルに変換する。 Makefileで一連の処理を行う。
生成された.codeと.dataをプログラムローダでzumi32側のメモリにロードする。
以下のようなLチカプログラムを書いて、コンパイル〜ダウンロード&実行してみた。
無事動作した。

0 件のコメント:

コメントを投稿

ERROR: Failed to spawn fakeroot worker to run ...

なにかと忙しくてなかなか趣味の時間を確保できない。 ...orz  家の開発機のOSはLinux Mintなのだが、最近バージョンを22に更新したところ、myCNC用のpetalinuxをビルドできなくなってしまった。ビルドの途中で ERROR: Failed to spawn ...