1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. 【Versal™ACAP】I2C Example Design【Vivado® ML 2021.1】

TECHブログ

【Versal™ACAP】I2C Example Design【Vivado® ML 2021.1】

【Versal™ACAP】I2C Example Design【Vivado® ML 2021.1】

みなさんこんにちは。

今回は、Versal AI コア シリーズ VCK190 評価キット上でI2C Example Designを動かしてみました。
動作が確認できるまでの過程や注意点をまとめたので紹介します。

それでは、始めましょう。

目次


今回は、以下の環境で実行します。

  • ・HostPC CentOS 7.6
  • ・Vivado® ML Edition 2021.1
  • ・PetaLinux 2021.1

Vivado® ML Edition

それではデザインを作成します。


今回は以下リンクの内容に沿って進めていきます。詳細はリンク先を参照ください[1]

PLとPS両方のI2Cインターフェースを確認するので、ps_i2cのページとaxi_i2cのページを参照します。

まず端末を起動し、以下コマンドでGitHubからファイル一式をダウンロードします。

$ git clone --recursive https://github.com/Xilinx/Embedded-Design-Tutorials

出典:Linuxコンソール画面

ダウンロードが完了したら、フォルダを移動し手順に従って、bd.tclを実行します。
axi_i2c/scriptにあるbd.tclを実行していますが、どれも同じのようです。
※ターゲットデバイスがプロダクト品向けになっていますが、今回使用するボードはes品のため、切り替えます。

以下のようなブロックデザインが生成されます。

※画像クリックで大きな画像が表示されます。

出典:Vivado® ML Edition

出典:Vivado® ML Edition


注意点①

本デザインでは他のインターフェースもテストできるようにI2C以外のIPも配置されていますが、今回は使用しないのと、canfdはライセンスを所持していないので、ブロックデザインから削除します。

以下のようなデザインになりました。

※画像クリックで大きな画像が表示されます。

出典:Vivado® ML Edition

出典:Vivado® ML Edition


Create HDL Wrapper⇒Generate Device Imageと実行します。
完了後、Export Hardwareを実行し、XSAファイルを生成します。
これでVivado側の作業は終了です。


PetaLinux

GitHubに書かれている手順には、VitisでBaremetalアプリケーションを実行する方法と、PetaLinuxで確認する手順がありますが、今回はPetaLinuxで実行します。

以下コマンドでPetaLinux Projectを作成します。

$ petalinux-create --type project --template versal --name <name_of_project>
$ cd <name_of_project>

出典:PetaLinuxコンソール画面


XSAファイルを構成します。

$ petalinux-config --get-hw-description=<PATH TO XSA>

出典:PetaLinuxコンソール画面

 

注意点②

PetaLinux 2021.1以前のユーザーはSD Bootファイルを作成する際に以下設定[2]が必要です。


petalinux-config ---> Image Packaging Configuration ---> Root filesystem type --->(INITRD)
petalinux-config ---> Image Packaging Configuration ---> INITRAMFS/INITRD Image Name (petalinux-image-minimal)

出典:PetaLinuxコンソール画面

出典:PetaLinux設定画面


あわせてYocto Setting → EnableBuildtools Extendedも有効にします。

出典:PetaLinux設定画面


注意点③

petalinux-buildを実行する前に以下コマンドを実行して設定を確認します。
設定が有効になっていない場合は、有効にして、Saveします。

$ petalinux-config -c kernel
Device Drivers ->I2C support -> Hardware Bus support ->enable Xilinx I2C Controller ->Save ->exit

出典:PetaLinuxコンソール画面


出典:Petalinux設定画面


$ petalinux-config -c rootfs
Filesystem Packages ->Base  ->i2c-tools ->enable i2c-tools ->save ->exit

出典:Petalinuxコンソール画面

出典:Petalinux設定画面


Buildします。

$ petalinux-build
Filesystem Packages ->Base  ->i2c-tools ->enable i2c-tools ->save ->exit

出典:Petalinuxコンソール画面


Build完了後、ブートイメージを作成します。

$ cd ./images/linux 
$ petalinux-package --boot --plm --psmfw --uboot --dtb --force

出典:Petalinuxコンソール画面

SDにBOOT.BIN, boot.scr, image.ubを移動します。
これでPetaLinuxの作業は終了です。


実行

SDカード取り付け後、Dipスイッチの設定を確認して、Versal AI コア シリーズ VCK190 評価キットを起動します。
シリアルコンソールにLinuxが立ち上がることを確認します。


出典:シリアルコンソール画面


PL、PS共に問題なくRead/Writeができました。

出典:シリアルコンソール画面


おわりに

今回は、Versal AI コア シリーズ VCK190 評価キットを使ってI2C Example Designの実機確認と実行までの注意点について解説しました。

別インターフェースのExampleデザインについても、ブログを通じてお伝えできればと思いますので、次回のブログもどうぞよろしくお願いいたします。

調査依頼や、設計検討などありましたら、お気軽にお問い合わせください。


お問い合わせはこちら

最後までお付き合いいただきありがとうございました。

 

参考文献

このブログのシリーズ

Example Design関連シリーズ

関連シリーズ

Versal™ AI コア シリーズ VCK190 評価キットシリーズ