Terasic DE1-SoCを動かす

ヤフオクでTerasic DE1-SoCを安価で入手できた。AlteraのCyclone V SoCを搭載したボードだ。

まずLinuxを動かす

付属CDのLinuxイメージをマイクロSDカードに書き込み、ブート選択のDIPSWを適切にセットすれば、あっさりLinuxは起動できた。

FPGAを動かす

  • quartus primeのplatform designerでHPSとFPGAロジックを繋ぐ。HPS-FPGA間でデータのやり取りができた。
  • 昔に作成したISDNデフレーマ、HDLCデフレーマモジュールをぶち込み、ISDNのD.CHモニタをやっつけで作成した。ISDN I/F部だけは別回路を手組した。DE1-SoCにSSHで接続することでリモートのISDN回線をモニタすることができる。

u-bootのビルド

最新のソースからビルドした。設定を記したテキストファイルに従って動作するようにカスタマイズした。

カーネルのビルド

最新のltsからビルドした。以下の機能を追加した。

  • ROM化
    • マイクロSDカードの劣化防止やシャットダウンシーケンスの省略のためにROM化した。
  • CPU周波数可変
    • 常に最高クロックで動作するのは無駄である。400MHz,600MHz,800MHzの3ステップのオンデマンドポリシーで運用中。

uioを使う

アプリケーション起動前にuioのデバイスツリーオーバーレイを適用するシェルスクリプトを作成し使用している。

LinuxからFPGAをコンフィグレーションする

バイスツリーオーバーレイを利用することで実現できる。シェルスクリプトを作成し使用している。