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

ビルド/開発ツール
Linux
AMD Linux は、AMD 製品で使用される最も一般的なオペレーティング システムです。AMD は、Linux 開発を簡素化する PetaLinux ツールを提供するとともに、Git リポジトリ経由でソース コードや Yocto レシピ ファイルも公開しています。これにより、自社のビルド システムやサードパーティ製ツールを活用して、AMD シリコン向けの Linux サポートを柔軟に構築できます。AMD Linux プロジェクトは、Versal™ アダプティブ SoC、Zynq™ UltraScale™ MPSoC、Zynq 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 オープンソース開発者は、使い慣れたソースやツールを見つけることはもちろん、サポート フォーラムで同じ関心を持つ開発者と交流して意見を交換できます。
構築済み/オープンソース イメージ
カーネルおよびブート イメージの構築
リアルタイム Linux
エミュレーション モデルおよびドライバー
ソフトウェア開発ツール
Vitis™ 統合ソフトウェア プラットフォーム、AMD ソフトウェア開発キット (SDK)、エコシステム パートナーのツールなど、Zynq および Versal プラットフォームで SoC 同様の C/C++ プログラミングをサポートする複数の開発環境が用意されています。
AMD ソフトウェア環境
- Vitis 統合ソフトウェア プラットフォーム - Zynq UltraScale+™ MPSoC/RFSoC および Versal アダプティブ SoC 向けのエンベデッド ソフトウェア開発を支援。
- ソフトウェア開発キット (SDK) - Zynq 7000 SoC、Zynq UltraScale+ MPSoC、MicroBlaze プロセッサ向けの設計およびデバッグを支援。
(注記: 2019.1 以降、SDK はレガシ ツールとして分類され、更新予定なし)
ザイリンクス エコシステムのソフトウェア開発環境およびツール
- AdviceLUNAⅡ (DTS INSIGHT 社)
- DYPLO (Dynamic Process Loader) (TOPIC 社)
- C/C++ コンパイラ「IAR Embedded Workbench for ARM」 (機能安全版) (IAR Systems 社)
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 ページをご覧ください。
エンベデッド 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 で公開されています。