1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. PetaLinuxへのユーザーアプリの実装方法

TECHブログ

PetaLinuxへのユーザーアプリの実装方法

PetaLinuxへのユーザーアプリの実装方法

目次

本記事では、AMD社のZynq™ UltraScale+™ MPSoC のPetaLinuxにユーザーアプリを実装する方法を、Vivado™でのXSA生成からSDブート確認までステップごとに解説します。はじめてPetaLinuxにアプリを実装するエンジニア必見です。

はじめに

この記事でわかること

  • PetaLinuxプロジェクトへのユーザーアプリの追加手順
  • petalinux-createコマンドによるユーザーアプリの追加
  • petalinux-buildおよびpetalinux-packageによるSDブートファイルの生成
  • SDカードブートでのユーザーアプリ動作確認手順

前提条件・使用環境

  • 使用ツール:Vivado 2022.2、PetaLinux 2022.2
  • 対象デバイス:Zynq™ UltraScale+™ MPSoC(ZynqMP)
  • ブート方式:SDカードブート

対象読者

  • VivadoとPetaLinuxの基本操作ができる方
  • PetaLinuxへのアプリ追加をはじめて試みるエンジニア

1.VivadoでZynqMPを含めたデザインを作成し、XSAファイルを生成

1-1
PetaLinux起動用Vivadoプロジェクトを作成します。
1-2

Generate Bitstreamでコンパイルした後、File → Export → Export HardwareでXSAファイルを生成します。

出典:AMD Vivado™

1-3

PetaLinuxの環境で下記のコマンドを実行しXSAファイルを使用してPetaLinuxプロジェクトを作成します。

PetaLinuxの環境で下記のコマンドを実行しXSAファイルを使用してPetaLinuxプロジェクトを作成します。

1-4

必要に応じて作成したPetaLinuxプロジェクトのデバイスツリーを編集します。
/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsiを開いて、(SDカードを使用してテストするので、)下記の内容を追加します。

必要に応じて作成したPetaLinuxプロジェクトのデバイスツリーを編集します。

1-5

必要に応じてboot.scrオフセットとQSPIのパーティションを調整します。

左右にスクロールしてご覧ください
$ petalinux-config -c u-boot ---> ARM architecture ---> (0x1E40000) Boot script offset

必要に応じてboot.scrオフセットとQSPIのパーティションを調整します。

出典:AMD PetaLinux

 

左右にスクロールしてご覧ください
$ petalinux-config ---> u-boot Configuration ---> u-boot script configuration ---> QSPI/OSPI image offsets

出典:AMD PetaLinux

1-6

下記のコマンドでユーザーアプリを追加します。

左右にスクロールしてご覧ください
$ petalinux-create -t apps --template c --name userapp --enable

下記のコマンドでユーザーアプリを追加します。

 

\project-spec\meta-user\recipes-apps\にuserappが追加されます。
サンプルコードは下記のように

サンプルコード

“Hello World” を出力します。

1-7

$ petalinux-buildコマンドでビルドします。

出典:AMD PetaLinux

1-8

コマンドでSDブートファイルを生成します。

左右にスクロールしてご覧ください
$ petalinux-package --boot --fsbl ./images/linux/zynqmp_fsbl.elf --u-boot ./images/linux/u-boot.elf --pmufw ./images/linux/pmufw.elf --fpga ./images/linux/system.bit --force

出典:AMD PetaLinux

1-9

下記のファイルをSDにコピーし、ブートSDの用意が完了です。

下記のファイルをSDにコピーし、ブートSDの用意が完了です。

出典:AMD PetaLinux

2.SDからブートして、ユーザーアプリを実行

2-1

基板をSD BOOTモードに設定し、SDからブートします。
Login:ログイン名はpetalinuxです。ログイン時にパスワードの設定が必要です。

2-2

コマンド$ userappを入力し、サンプルプログラムが実行され、下記のように“Hello World”が出力されます。

Hello World

出典:AMD PetaLinux

おわりに

いかがでしたでしょうか?

これで、PetaLinuxに簡単なユーザーアプリを追加することができました。

弊社ではFPGA設計や回路図設計、レイアウト設計、ソフトウェア設計、筐体設計などを受託開発しています。
サービス内容をWEBサイトに掲載していますので、ぜひご覧ください。

設計受託・ODMの概要については
こちら

FPGAの活用に際して設計検討などありましたら、お気軽にお問い合わせください。

FPGAの活用・設計検討の
お問い合わせはこちら

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

関連ブログ