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

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

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

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

ビルド/開発ツール

Linux

Linux® は、AMD 製品で使用される最も一般的なオペレーティング システムです。AMD は、Yocto Project™ ベースの環境と Linux ディストリビューションである EDF Linux OS とエンベデッド開発フレームワーク (EDF) を提供しています。これには、GIT リポジトリからのソース コードと Yocto レシピ ファイルが含まれており、社内のビルド システムやサードパーティ ツールを介して AMD シリコンを Linux でサポートできます。EDF Linux OS は、AMD Versal™ アダプティブ SoCZynq™ UltraScale™ MPSoCZynq 7000 SoC、および MicroBlaze™ プロセッサでの開発を目的とした、カスタマイズされた非商用 Linux 開発プロジェクトです。

AMD EDF リリースの Linux カーネル サポートは LTS カーネルを追跡します。 

ビルド ツール

AMD は現在、組み込み Linux ソリューションのビルドおよび運用をサポートする 2 種類のツールを提供しています。1 つは、オープンソースの Yocto Project™ をベースとして構築された AMD EDF で、もう 1 つは AMD EDF に置き換えられる PetaLinux です。どちらのツールも、組み込み Linux イメージを迅速に構築する方法を提供し、EDF はより高度なユース ケースにも対応します。 

ソフトウェア開発ツール

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

AMD ソフトウェア環境

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

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

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

Zephyr Project RTOS

Zephyr Project は、複数のハードウェア アーキテクチャをサポートするスケーラブルなリアルタイム オペレーティング システム (RTOS) で、リソースに制約のあるデバイスに最適化されており、セキュリティを考慮して構築されています。

Zephyr OS は、シンプルな組み込み環境センサーや LED ウェアラブルから、洗練されたスマート ウォッチや IoT ワイヤレス ゲートウェイまで、リソースに制約のあるシステムで使用するように設計された、フットプリントの小さいカーネルをベースにしています。

Zephyr Project の詳細については、次のサイトを参照してください:  https://www.zephyrproject.org/

AMD の Zephyr Project のリポジトリは次の場所にあります:  https://github.com/Xilinx/zephyr-amd

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
AMD Zephyr6 4 4     4 4    
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 社にお問い合わせください。
  6. AMD Arm ベースの組み込みハードウェア プラットフォーム向けの Zephyr OS の概要


詳細情報およびサポート リソースは、AMD Wiki のエンベデッド ソフトウェア エコシステム ページをご覧ください。

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

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 のエンベデッド ソフトウェア エコシステム ページをご覧ください。

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

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

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

ライブラリ

  • 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 デバイスをターゲットにしたサードパーティ ベンダーによる商用サポートも提供しています。

AMD エンベデッド開発フレームワーク (EDF) と Yocto Project™

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

AMD EDF および PetaLinux

どちらのフローも、AMD のプロセッシング システム上で組み込み Linux ソリューションをカスタマイズ、ビルド、および評価するために必要なものをすべて提供します。設計生産性の加速を目的とするこのソリューションは、AMD のハードウェア デザイン ツールと連動し、Versal アダプティブ SoC、Zynq UltraScale+ MPSoC、Zynq 7000 SoC、および MicroBlaze プロセッサ向けの Linux システム開発を容易にします。なお、PetaLinux ツールは既に AMD EDF に移行しています。詳細については、AMD PetaLinux Tools ページを参照してください。 

Linux

プロバイダー 製品 配信 Versal アダプティブ SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC MicroBlaze
AMD AMD EDF Yocto ○* *MicroBlaze V のみ
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 のエンベデッド ソフトウェア エコシステム ページをご覧ください。

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

QEMU

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

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

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

Xen ハイパーバイザー

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

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 で公開されています。

サポートとリソース