AMD アダプティブ SoC エンベデッド ソフトウェア エコシステム

ソフトウェアを活用して、迅速なイノベーションとコネクティビティを実現

AMD のエンベデッド ソフトウェア エコシステムは、エンベデッド システムの開発をサポートし、構想段階から完成までのプロセスを効率化します。豊富なツール群、ランタイム、開発環境で構成されるこのエコシステムは、AMD のエンベデッド製品ポートフォリオ (AMD Zynq™ 7000 SoC、Zynq UltraScale+™ MPSoC、Versal™ アダプティブ SoC、AMD MicroBlaze™ プロセッサおよび MicroBlaze V プロセッサ コア) の性能を最大限に引き出すよう設計されています。また、AMD Zynq や Versal デバイスのファブリックに密接に統合された先進的なセキュリティ機能や仮想化対応ソフトウェア ドライバーなどを基盤とし、高度な機能を提供しています。このような相互作用によって、次世代エンベデッド アプリケーションの要求に応える革新的なシステムを構築する可能性が広がります。

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

ビルド/開発ツール

Linux

AMD Linux は、AMD 製品で使用される最も一般的なオペレーティング システムです。AMD は、Linux 開発を簡素化する PetaLinux ツールを提供するとともに、Git リポジトリ経由でソース コードや Yocto レシピ ファイルも公開しています。これにより、自社のビルド システムやサードパーティ製ツールを活用して、AMD シリコン向けの Linux サポートを柔軟に構築できます。AMD Linux プロジェクトは、Versal™ アダプティブ SoCZynq™ UltraScale™ MPSoCZynq 7000 SoC、および MicroBlaze™ プロセッサでの開発を目的とした、カスタマイズされた非商用 Linux 開発プロジェクトです。

AMD リリースの Linux カーネル サポートは次のとおりです。

  • 2023.x では v6.1
  • 2022.x では v5.15
  • 2021.x では v5.10

ビルド ツール

AMD は、エンベデッド Linux ソリューションの構築およびデプロイをサポートする 2 種類のツールを提供しています。AMD が提供する PetaLinux とオープンソース プロジェクトの Yocto です。PetaLinux は、エンベデッド Linux イメージを迅速に構築するための GUI を提供し、Yocto は経験豊富なユーザーがそれぞれのボードに Linux を最適にカスタマイズする際に使用できます。

AMD 製品は、広範なオープンソース リソースでサポートされているため、AMD SoC やエミュレーション プラットフォーム向けの Linux ベース アプリケーションを開発、ブート、実行、デバッグ、さらには維持することが可能です。これらを通して、アプリケーション例、カーネル構造、Yocto レシピ、マルチプロセシング/リアルタイム ソリューション、デバイス ドライバーなどを提供しています。Linux オープンソース開発者は、使い慣れたソースやツールを見つけることはもちろん、サポート フォーラムで同じ関心を持つ開発者と交流して意見を交換できます。

ソフトウェア開発ツール

Vitis™ 統合ソフトウェア プラットフォーム、AMD ソフトウェア開発キット (SDK)、エコシステム パートナーのツールなど、Zynq および Versal プラットフォームで SoC 同様の C/C++ プログラミングをサポートする複数の開発環境が用意されています。

AMD ソフトウェア環境

ザイリンクス エコシステムのソフトウェア開発環境およびツール

RTOS & ライブラリ パートナー

RTOS、ハイパーバイザー、ベアメタル

RTOS

「リアルタイム オペレーティング システム (RTOS) とは、通常はバッファーの遅延がなく、リアルタイムにデータを処理するリアルタイム アプリケーション向けのオペレーティング システム (OS) です。」(wikipedia.org より抜粋)

RTOS で最も重要な要素はシンプルさと軽量を維持することです。そのほかには、割り込み遅延やコンテキスト切り替えの遅延を最小限に抑えることが重要です。RTOS では、どれだけ膨大なデータを処理できるかではなく、迅速かつ確定的に応答できることが重要とされています。

FreeRTOS

FreeRTOS は、AWS の 35 以上のアーキテクチャをサポートする、市場を牽引する RTOS であり、2017 年には 3 分に 1 回ダウンロードされていました。FreeRTOS カーネルは、専門的な開発、厳密な品質管理、堅牢性、充実したサポートを特徴とし、専有のソース コードの公開要件なしで、商用アプリケーションで自由に使用できます (参照: https://www.freertos.org/RTOS.html)。

FreeRTOS の詳細は、https://www.freertos.org/RTOS.html をご覧ください。

FreeRTOS カーネル ポートは、次の AMD アダプティブ SoC、FPGA、および SOM で使用できます。

AMD 製品における FreeRTOS に関する詳細およびサポート リソースは、AMD の FreeRTOS ページをご覧ください。

プロセッサ デバイス
64 ビット Arm® Cortex®-A72 アプリケーション プロセッサ ユニット (APU) & 32 ビット Cortex-R5 リアルタイム プロセッサ ユニット (RPU) Versal™ アダプティブ SoC デバイス  
64 ビット Arm Cortex-A53 アプリケーション プロセッサ ユニット (APU) & 32 ビット Cortex-R5 リアルタイム プロセッサ ユニット (RPU) Zynq™ UltraScale+™ MPSoC デバイスおよび Kria™ SOM
32 ビット Arm Cortex-A9 アプリケーション プロセッサ ユニット (APU) Zynq 7000 SoC デバイス
32 ビット MicroBlaze™ プロセッサ すべての AMD デバイス ファミリ

AMD およびエコシステム パートナーの RTOS サポート

プロバイダー 製品 Zynq 7000 SoC Zynq UltraScale+ MPSoC Versal アダプティブ SoC MicroBlaze
Cortex-A9 Cortex-A53 Cortex-R5 VCU Mali-400 Cortex-A72 Cortex-R5F AIE
AMD ベアメタル 1
AMD FreeRTOS 1
BlackBerry QNX Neutrino
QNX OS for Safety
Wind River VxWorks
Green Hills INTEGRITY-178
INTEGRITY
u-velOsity 3
Siemens 社 Nucleus 4
PX5 PX5 RTOS
Microsoft Azure RTOS
ETAS ETAS RTA-OS
Sysgo PikeOS
PikeOS for MPU
Lynx LynxOS-178
Weston Embedded Cesium Cs/OS2、OS3
DDC-I Deos

RTEMS RTEMS
eForce uC3 1 1

ENEA OSE

イーソル株式会社 eT-kernel
Silicon Labs Micrium uc/OS-II/OS-III5 1
Sciopta Sciopta RTOS 1 1
Wittenstein SafeRTOS 1
Segger emBOS 1

ほとんどの RTOS は、異なる安全規格に対してある程度の認証に対応しています。安全性に関する特定の要件がある場合は、OS ベンダーにお問い合わせください。
 

1.SMP には非対応

2.Micrium は現在メンテナンス モードのみで提供。現在は、Weston Embedded 社が「Cesium」というブランド名で OS を提供。

3.アーキテクチャ サポート パッケージ

4.開発中

5.レガシ製品のみ。サポートについては、Weston Embedded 社にお問い合わせください。


詳細情報およびサポート リソースは、AMD Wiki の Embedded Software Ecosystem ページをご覧ください。

仮想化とハイパーバイザー

AMD は、顧客とパートナーが製品での高度なマルチ OS システム デザインを完成させるために必要な技術、資料、およびサポートを提供しています。AMD エコシステムが提供する製品は次のとおりです。

ベンダー 製品 Versal アダプティブ SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC
AMD Xen ハイパーバイザー
BlackBerry QNX Hypervisor
Wind River Helix Virtualization Platform
Sysgo PikeOS Hypervisor
Green Hills Integrity Multivisor 1 1
Lynx LynxSecure Separation Kernel Hypervisor
Dornerworks SEL4
Siemens 社 Nucleus Hypervisor
General Dynamics Mission Systems OKL4 Microvisor

1.サービス契約が必要

詳細情報およびサポート リソースは、AMD Wiki の Embedded Software Ecosystem ページをご覧ください。

ベアメタルおよびライブラリ

AMD は、その他のライブラリおよびベアメタル ドライバーも提供しています。このライブラリは、AMD のデバイス専用に開発されています。

ベアメタル ドライバーおよびライブラリに関する詳細およびサポート リソースは、AMD Wiki の Baremetal and Libraries ページをご覧ください。

  • ライブラリ

    Iwip

    ネットワーク TCP/IP スタック

    xilisf

    フラッシュ

    スタンドアロン BSP

    ボード サポート パッケージ

    xilffs

    FAT ファイル システム

    xilfpga

    PL/FPGA 管理 (ビットストリームの読み込み)

    xilskey

    セキュリティ xilsecu

    xilsecure

    セキュリティ

    xilrsa

    セキュリティ

エンベデッド Linux

オープンソースの Linux は、エンベデッド ハードウェアで最も一般的に使用されるオペレーティング システムであり、AMD は 2001 年の AMD Virtex™-II Pro FPGA リリース以来、自社の FPGA およびアダプティブ SoC デバイス向けに Linux サポートを提供しています。また、AMD は、PetaLinux や Yocto などのビルド環境に加えて、 Canonical 社認定の Ubuntu など AMD デバイスをターゲットにしたサードパーティ ベンダーによる商用サポートも提供しています。

Yocto

Yocto プロジェクトのページで説明されているとおり、「Yocto プロジェクトとは、ハードウェア アーキテクチャに関係なく、エンベデッド製品用の Linux ベースのカスタム システムを作成できるようサポートするオープンソースの共同プロジェクトです。このプロジェクトは、世界中の開発者がエンベデッド デバイス向けのカスタム Linux イメージを作成する際に利用できる技術、ソフトウェア スタック、コンフィギュレーション、またベスト プラクティスを共有するための手段を提供しています。」

PetaLinux

PetaLinux ツールは、AMD のプロセッシング システム上でエンベデッド Linux ソリューションをカスタマイズ、ビルド、および評価するために必要なものをすべて提供します。設計生産性の加速を目的とするこのソリューションは、AMD のハードウェア デザイン ツールと連動し、Versal™ アダプティブ SoC、Zynq™ UltraScale+™ MPSoC、Zynq 7000 SoC、および MicroBlaze™ プロセッサ向けの Linux システム開発をサポートします。

Linux

プロバイダー 製品 配信 Versal アダプティブ SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC MicroBlaze
AMD PetaLinux Yocto
Yocto Yocto
Canonical Ubuntu Debian 1
Wind River Wind River Linux Yocto
Foundies.io FoundriesFactory Yocto
Siemens 社 Sokol Flex OS Yocto
Sokol Omni OS Debian
TimeSys Linux Services Yocto
MontaVista CGX/CGE Yocto
ArchLinuxARM ArchLinuxARM N/A

1.VCK190 向けベータ リリース

詳細情報およびサポート リソースは、AMD Wiki の Embedded Software Ecosystem ページをご覧ください。

オープンソース プロジェクト

QEMU

QEMU (Quick EMUlator) はオープンソースで、クロスプラットフォームのシステム エミュレーターです。主に x86 アーキテクチャの Linux オペレーティング システム上で実行され、AMD ZCU102 や VCK190 ボードなどフルシステム (一般的にゲストと呼ばれるもの) をエミュレートできます。

エミュレーションの対象となるのは、プロセッサ、ペリフェラル、開発ボード上のその他のハードウェアが含まれ、仮想化されたハードウェア上で実際のオペレーティング システムやアプリケーションを起動できます。

また、QEMU は CAN、Ethernet、USB などのインターフェイスを介してホスト マシンと通信できるため、ゲスト マシンはホストから実世界のデータをリアルタイムで受け取り、利用することが可能になります。

Xen ハイパーバイザー

Xen は、Xen プロジェクトによって開発および管理され、オープンソース コミュニティに提供されているタイプ 1 ハイパーバイザーです。Xen を使用することで、AMD Zynq™ UltraScale+™ MPSoC 上で複数のオペレーティング システムのインスタンスやベアメタル アプリケーションを実行できるようになります。Xen ハイパーバイザーの詳細は、Xen プロジェクト開始ページをご覧ください。

U-Boot

U-Boot は、Linux コミュニティで最も使用されているオープンソースの汎用ブートローダーです。AMD 製ボードで動作する U-Boot を含む Git リポジトリを https://github.com/Xilinx/u-boot-xlnx で提供しています。

Arm トラステッド ファームウェア

Arm® Trusted Firmware は ARMv8-A アーキテクチャ向けのセキュア ソフトウェア リファレンスを提供します。また、PSCI (Power State Coordination Interface) などのさまざまなインターフェイス規格やセキュア モニター コードを実装できるため、非セキュアなソフトウェアとの連携を実現できます。AMD Arm トラステッド ファームウェアのポートは、https://github.com/Xilinx/arm-trusted-firmware で公開されています。

サポートとリソース