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 SoCZynq UltraScale+ MPSoCVersal アダプティブ SoCMicroBlaze
Cortex-A9Cortex-A53Cortex-R5VCUMali-400Cortex-A72Cortex-R5FAIE
AMDベアメタル1
AMDFreeRTOS1
AMDZephyr644  44  
BlackBerryQNX Neutrino
QNX OS for Safety
Wind RiverVxWorks
Green HillsINTEGRITY-178
INTEGRITY
u-velOsity3
SiemensNucleus4
PX5PX5 RTOS
MicrosoftAzure RTOS
ETASETAS RTA-OS
SysgoPikeOS
PikeOS for MPU
LynxLynxOS-178
Weston EmbeddedCesium Cs/OS2、OS3
DDC-IDeos

RTEMSRTEMS
eForceuC311

ENEAOSE

イーソル株式会社eT-kernel
Silicon LabsMicrium uc/OS-II/OS-III51
ScioptaSciopta RTOS11
WittensteinSafeRTOS1
SeggeremBOS1

ほとんどの 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 エコシステムが提供する製品は次のとおりです。

  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 アダプティブ SoCZynq UltraScale+ MPSoCZynq 7000 SoCMicroBlaze
AMDAMD EDFYocto○* *MicroBlaze V のみ
PetaLinuxYocto
YoctoYocto
CanonicalUbuntuDebian1
Wind RiverWind River LinuxYocto
Foundies.ioFoundriesFactoryYocto
SiemensSokol Flex OSYocto
Sokol Omni OSDebian
TimeSysLinux ServicesYocto
MontaVistaCGX/CGEYocto
ArchLinuxARMArchLinuxARMN/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 で公開されています。

サポートとリソース

UltraFast™ エンベデッド設計手法ガイド

このガイドは、開発チームの特定スキルに対応する主な機能ごとに構成されています。

ダウンロード

最新の PetaLinux ツールをダウンロード。

Wiki

Linux、Yocto、Xen、RTOS、Ubuntu などの詳細。

ビデオ ライブラリ

エンベデッド ソフトウェアのビデオ プレイリスト