個人情報保護方針 お支払いについて お問い合わせ

RaspberryPiとLinuxのインストールとRefAppQtの設定


RaspberryPiを買ってきてLinuxマシンとして使うだけだったらそんなに難しいことではないとは思いますが、FPGA等と連携して組み込み器機として動作させるのにはいくつかの手順が必要です。ここでは、ターゲットのRaspberryPiのセットアップ方法だけでなく、Windows PC上に仮想PCでQtアプリケーションの開発環境などを構築し、プライムシステムズ社製をFPGAボードにUSB経由でコントロールするためのアプリケーションを設定するまでの手順をまとめておきます。RaspberryPi4は3にくらべて3倍以上高速なため、複雑なクロス開発を行うより、実際のターゲットデバイス上でコンパイルするのが現実的なようです。RaspberryPi4BはストレージとしてマイクロSDカードを使用しますが、ComputeModle4はeMMCが搭載されていないLite版のみキャリアボード上のマイクロSDカードにアクセスでき、eMMC搭載版はアクセスできないようです。OSのインストール方法も異なります。

Compte Module 4LiteへのRaspberryPiOS(bullseye)インストール
Compte Module 4 eMMCへのRaspberryPiOS(bullseye)のインストール
Rock3 Compute Module CM3へのBullseyeのインストール
Rock3 Compute Module CM3へのUnuntu 20.04 LTEのインストール
VMware(仮想PC)へのRaspberryPiOS Desktop(bullseye)のインストール
VMware(仮想PC)へのUbuntu20.04 (64bit)のインストール
RefAppQtのダウンロードとインストール
バイナリビューアと等幅の設定
USBデバイスへのアクセス権限
Raspberry Pi/Rock ComputeModuleにアルテラ製FPGAをPCIe接続
イーサネットボード(PCIe x1)の動作確認
Rock Compute Module CM3でHATのSPI/GPIOを使用
Rock Compute Module CM3でI2Cを使用(RTCとPWMファンコントローラ)


RaspberryPi4B および Compte Module 4LiteへのRaspberryPiOS(bullseye)インストール
マイクロSDカードへのOSの書き込みはRaspberry Pi Imagerと呼ばれるプログラムで行います。 WindowsPC/macOS/Ubunthで実行できるようです。必要なものをマイクロSDカードとSDカードを挿入できるPCです。 SDカードスロットがある場合にはマイクロSDアダプタで、無い場合にはUSB経由のSDカードリーダーでも構いません。 RaspberryPi公式サイトからダウンロードできます。

インストール手順の詳細はこちら



Compte Module 4 eMMCへのRaspberryPiOS(bullseye)のインストール
eMMCへの書き込みは、rpiboot https://github.com/raspberrypi/usbboot/releases/tag/v2021.07.01を使用します。このプログラムを使うと、キャリアボード上のUSB SLAVEコネクタとPCをマイクロUSBケーブルで接続することで、ComputeModule4上のeMMCをUSB外部ストレージとしてPCから見えるようにできます。外部ストレージとして見えさえすればあとは基本的にマイクロSDカードの時と同じです。

インストール手順の詳細はこちら



Rock3 Compute Module CM3へのBullseyeのインストール

Raspberry Pi Compute Module 4は人気ですが品薄状態がつづいています。ここでは代替として Radxa社 https://wiki.radxa.com/Rock/ja_JPのRock Compute Module3が使用できます。CM3は RS-ONLINE で購入できるようです。2023/7/6現在で在庫も281個と十分にあります。CM3はRaspberryPiCM4と互換の2つのコネクタを持ち、さらに拡張機能として3つ目のコネクタを備えていいます。3つ目のコネクタを使用するとUSB3.0やSATA等のRock3独自の拡張された機能を使用できますが、このコネクタは使用しなくてもCM4と同様の機能は動作します。ここではRaspberry Pi CM4用のCM4 IO Boardを用いてRock CM3を動作させてみます。

インストール手順の詳細はこちら



Rock3 Compute Module CM3へのUnuntu 20.04 LTEのインストール

CM3用のOSイメージとしてUbuntu 20.04 serverが用意されていますが、こちらはCUI環境で、Ubuntu Desktop (GUI)がインストールされていません。Ubuntu Desktopをインストールして、Bullseyeと同様のGUI環境をインストールする手順を説明します。

インストール手順の詳細はこちら



VMwareへのRaspberryPiOS Desktop(bullseye)のインストール
RaspberryPi用のアプリケーションを開発する際にターゲットデバイスを使用する代わりに、より高速なPCを使用する方法があります。USB経由でのFPGAボードへの接続アプリなら動作確認もPCあるいはPC上の仮想PC上で行うことができます。ホストPCにPCIeスロットがある場合にはPCIeデバイスを使用したボード開発も行えるはずです。ただし、ターゲットデバイスはx86ではなくARMなので、最終的にRasipberry Pi上でアプリケーションをコンパイルする必要があります。またドライバもPC用はx64/x86用、ターゲットはARM用を用意する必要があります。それでもPC上でおよその開発がおこなえるのは大変メリットがあります。ここではRaspberryPi公式サイトで公開されいてるx64/x86用のRasipberry Pi OS (bullseye)をWindowsPC上の仮想PCにインストールする手順を説明します

インストール手順の詳細はこちら



VMwareへのUbuntu20.04 (64bit)のインストール
Linuxのディストリビューションとして現在最も人気のあるUbunthも開発環境として有用です。RaspberryPiOS Desktopもインストールしてみましたが、こちらのほうが動作が安定している他、Ubunthに関するネット上の情報も豊富です。ここでは最新版ではなく、RaspberryPiと親和性が高く、Qt5等の開発環境も安定して動作している。Ubunth20.04をWindows上の仮想PCにインストールする手順を説明します。

インストール手順の詳細はこちら



RefAppQtのダウンロードとインストール

Windows用のRefApp7はプライムシステムズ社から無償で提供されいているアプリケーションで、Smart-USBシリーズのFPGAボードに基本的なアクセスを可能にしています。しかし、同社はLinux用にはCUI用のサンプルプログラムを提供しているだけです。そこで、Qt5を用いてlibusb1.0経由で同様の動作をするアプリケーションを作成しました。本アプリケーションを使用することで、LinuxPCやRaspberryPiからUSB経由でSmart-USBシリーズのFPGAにアクセスすることができます。PCレスのスタンドアロンシステムを構築したい場合には役に立つと思います。

インストール手順の詳細はこちら



バイナリビューアと等幅の設定

RefAppQtアプリの中で、バイナリファイルを表示するボタンがあります。このボタンを押すと外部プログラムを起動します。GHEXはバイナリファイルを表示・編集できるアプリです。RaspberryPiDesktopの標準フォントはプロポーショナルフォントになっていて、表示桁がそろわずとてもみにくいので、等幅フォントをインストールしてこのフォントを指定するととても見やすくなります。

インストール手順の詳細はこちら


USBデバイスへのアクセス権限

新しいUSBデバイスが接続された場合、通常はOSかドライバがそれらにアクセスして必要なサービスを提供しますので、特権ユーザーのみにアクセス権があります。しかし、FPGAボード等のユーザー独自のハードウェアが接続された場合にはアプリケーションから直接アクセスしたいことになります。この場合、プログラムはユーザー権限で実行されますので、そのままではユーザープログラムUSBデバイスにアクセスできません。ユーザー権限でもUSBデバイスにアクセスできるように設定をする必要があります。

設定手順の詳細はこちら


Raspberry Pi/Rock ComputeModuleにアルテラ製FPGAをPCIe接続

かなり前に入手した旧アルテラ製(Terasic製)のCycloneIV GX Starter KitをRock CM3に接続してみました。RaspberryPiCM4/RockCM3はPCIe Gen2x1(5Gbps)を搭載していることが通常のRaspberryPIとの大きな差になっていて、PCIeスロットを有するキャリアボードを使用することでPCIe接続のFPGAボードを使用することができます。

詳細はこちら



イーサネットボード(PCIe x1)の動作確認

RaspberryPi CM4/Rock CM3にキャリアボードを介して玄人志向 Realtek社製 RTL8168搭載 1000Base-Tイーサネットボード(PCI-Express x1接続) GbE-PCIeを接続してみます。キャリアボードにはすでにRJ45コネクタがあってオンボードのイーサーネットは使えるのですが、オリジナルのキャリアボードを作成する場合の参考として動作確認してみます。

詳細はこちら



Rock Compute Module CM3でHATのSPI/GPIOを使用

Raspberry Piといえば、HAT(GPIO)です。HATにはSPI,I2C,I2S,PWM,GPIO等の拡張機能があり、デフォルトでは未使用になっていますが、設定によって有効にできます。接続する器機に応じて設定を行ってから使用します。ここではSPI接続の電子ペーパーを使って動作確認をしていきます。

詳細はこちら



Rock Compute Module CM3でI2Cを使用(RTCとPWMファンコントローラ)

Raspberry Piといえば、HAT(GPIO)です。HATにはSPI,I2C,I2S,PWM,GPIO等の拡張機能があり、RockCM3+CM4I/Oボードのdtbを適用している場合、/dev/i2c-0と/dev/i2c-6が有効になっています。オーバーレイは使用していません。I2Cバスに接続されているデバイスの動作確認を行っていきます

詳細はこちら