Petalinuxのmeta-adiレイヤで追加しているlibiioを使って、
AD9361を操作するアプリケーションを作成してみます。
サンプルとして、ADIが公開しているAD9361 IIO streaming exampleを使います。
https://github.com/analogdevicesinc/libiio/blob/master/examples/ad9361-iiostream.c
ライブラリを使うアプリケーションのビルドの手順は、こちらを参考にしました。
PetaLinux Yocto Tips: Creating Apps (which uses libraries) in PetaLinux Project
まずは、いつも通りにpetalinux-createでアプリケーションのプロジェクトを生成します。
次に、すでにビルドされているlibiioのフォルダから、libiio.soとlibiio.hをプロジェクトのfilesにコピーします。
さらに、Makefileを編集して、リンカがlibiioを探せるようにします。
-liioのオプションだけではリンカがlibiioを見つけられず、-Lでフォルダを指定してもダメでした。
DEPENDSにlibiioを追加する必要があります。
【訂正】DEPENDSのラインはMakefileではなく、.bbファイルに追加します。(2023/09/13)
これで準備完了です。petalinux-buildでアプリケーションをビルドします。
ビルドされたアプリケーションをSDカードのrootfsパーティションの/usr/bin/にコピーします。
SDカードをZedBoardのスロットに差し込み、Petalinuxを起動。
AD9361によるstreamingが確認できました。
これで一通りの開発フローが分かったので、測位信号の送受信機能を組み込んでいきます。
AD9361を操作するアプリケーションを作成してみます。
サンプルとして、ADIが公開しているAD9361 IIO streaming exampleを使います。
https://github.com/analogdevicesinc/libiio/blob/master/examples/ad9361-iiostream.c
ライブラリを使うアプリケーションのビルドの手順は、こちらを参考にしました。
PetaLinux Yocto Tips: Creating Apps (which uses libraries) in PetaLinux Project
まずは、いつも通りにpetalinux-createでアプリケーションのプロジェクトを生成します。
次に、すでにビルドされているlibiioのフォルダから、libiio.soとlibiio.hをプロジェクトのfilesにコピーします。
さらに、Makefileを編集して、リンカがlibiioを探せるようにします。
-liioのオプションだけではリンカがlibiioを見つけられず、-Lでフォルダを指定してもダメでした。
DEPENDSにlibiioを追加する必要があります。
【訂正】DEPENDSのラインはMakefileではなく、.bbファイルに追加します。(2023/09/13)
これで準備完了です。petalinux-buildでアプリケーションをビルドします。
ビルドされたアプリケーションをSDカードのrootfsパーティションの/usr/bin/にコピーします。
SDカードをZedBoardのスロットに差し込み、Petalinuxを起動。
AD9361によるstreamingが確認できました。
これで一通りの開発フローが分かったので、測位信号の送受信機能を組み込んでいきます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます