特定のプロジェクトに最も適したハードウェアを選択することは簡単ではありませんが、セキュリティライブラリは選択する必要はありません。wolfSSLは幅広いプラットフォームサポートを提供し、ベアメタル環境から本格的なオペレーティングシステムまで、あらゆる環境でシームレスに動作します。この投稿では、wolfSSLが2つの広く使用されている組み込みプラットフォーム、XilinxとSTMとどのように統合されるかを比較します。どちらも人気のある選択肢ですが、アーキテクチャ、開発ツール、統合ワークフローには明確な違いが存在します。
概要
Xilinx
- 主にFPGAベース(Zynq、Zynq Ultrascale+、Versal)
- プログラマブルロジックと並んでARM Cortex-Aコアを提供
- 開発環境:Xilinx Vitis / Petalinux
- OS:しばしばLinux(YoctoまたはPetalinux)、FreeRTOS、またはベアメタルを使用
STM(STMicroelectronics)
- マイクロコントローラー重視(例:STM32ファミリー)
- ほとんどがARM Cortex-Mコアベースで、一部のシリーズはCortex-Aコアを使用
- 開発環境:STM32CubeIDE、Makefiles、またはベアメタルツールチェーン
- OS:しばしばベアメタルまたはFreeRTOS
wolfSSLビルドプロセス
Xilinx
- ユーザースペースでwolfSSLをビルドするためのAutotoolsまたはCMake
- Petalinux SDKまたはVitisツールチェーンでのクロスコンパイル
- Xilinxの暗号エンジン、ARMアセンブリ最適化、または暗号コールバックを使用したPLのカスタムロジックによるハードウェアアクセラレーション
STM(STMicroelectronics)
- wolfSSL/IDE/STM32Cubeで公開された定義済み設定例
- STM32CubeMXで生成されたプロジェクトとの統合
- HAL/LLドライバーとFreeRTOS(該当する場合)のサポート
ハードウェアアクセラレーション
Xilinx
- 先進的なFPGAでは暗号プリミティブのハードウェアアクセラレーションを利用可能
- カスタムIPコアまたは外部暗号アクセラレーターを使用可能
- wolfSSLのARMアセンブリ最適化を使用可能
- 極端なパフォーマンス向上の可能性があるが、複雑さのコストがかかる
STM(STMicroelectronics)
- 一部のSTM32パーツはハードウェアECC、AES、SHA、RNGをサポート
- wolfSSLはHALドライバーへの直接呼び出しを介してこれらを使用可能
- 設定と使用が簡単だが、FPGAと比較して柔軟性は低く、平均的には強力でないCPUを有する
- wolfSSLのARMアセンブリ最適化を使用可能
よくあるユースケース
このような場合には、Xilinxが適しています。
- プログラマブルロジックとカスタマイズ可能な暗号アクセラレーションが必要
- アプリケーションがLinuxを実行し、高いスループットが必要
- 複雑なセキュリティアーキテクチャを持つ
このような場合には、STMが適しています。
- ベアメタルまたはFreeRTOSベースのプロジェクトの迅速な統合を実現したい
- 低電力と最小フットプリントに焦点を当てている
- エッジマイクロコントローラーが必要
XilinxとSTMプラットフォームはどちらもwolfSSLによって十分にサポートしていますが、体験は大きく異なります。Xilinxは一般的にパワーと柔軟性を提供し、高性能セキュアシステムに理想的です。一方、STMはシンプルさと効率性に優れ、軽量でリソース制約のある設計に最適です。
LinuxベースのZynqアプリケーションやリアルタイムSTM32センサーノードのいずれをターゲットにしていても、wolfSSLは堅牢な組み込みセキュリティを実装するために必要な構成要素を提供します。
ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。
原文:https://www.wolfssl.com/xilinx-vs-stm-wolfssl-integration-and-build-experience-compared