PCI / PCIe Linux ARM v16.6.0

WinDriver PCI for Linux ARM

Raspberry Pi・NVIDIA Jetson など ARM / ARM64 プラットフォーム向けの PCI / PCIe ドライバーをカーネル知識なしで開発。
組み込み Linux 対応。クロスコンパイル・CMake ビルドをサポートします。

ARM64
Cortex-A72/A76 対応
0
ノーコード診断
Jetson
Orin / Xavier 対応
¥0
ランタイム ロイヤリティ

製品概要

WinDriver PCI for Linux ARM は、PCIe / PCI-X / PCI-104 / CompactPCI の Linux デバイスドライバーを ARM および ARM64 プラットフォーム上でユーザーモードから自動的に開発できるツールキットです。 Linux カーネルの内部構造やカーネルモジュール開発の知識は一切不要です。

Raspberry Pi・NVIDIA Jetson シリーズをはじめとする組み込み ARM SoC ボードに対応。 DriverWizard による GUI のノーコード診断から始まり、ハードウェア仕様を読み取って C / C++ / Python 用ドライバースケルトンを自動生成します。 GCC クロスコンパイルおよび CMake によるビルドをサポートし、x86 開発ホストから ARM ターゲット向けドライバーのビルドができます。

動作確認済みボード / プラットフォーム

代表的な動作確認例です。これ以外の ARM / ARM64 ボードでも動作します。

Raspberry Pi シリーズ
  • Cortex-A72 — Raspberry Pi 4 Model B
    Kernel 6.1
  • Cortex-A76 — Raspberry Pi 5
    Kernel 6.6
NVIDIA Jetson シリーズ
  • Cortex-A57 — Jetson TX2
    Kernel 4.x-tegra
  • v8.2 — Jetson Xavier NX / AGX Xavier
    Kernel 4.9-tegra
  • v8.2 — Jetson Orin NX / AGX Orin
    Kernel 5.10-tegra
汎用 ARM SoC
  • Cortex-A9 — SolidRun i.MX6 MicroSoM
  • その他、Linux 対応 ARM SoC ボード全般

必要なシステム

対応 CPU ARM (32bit) / ARM64 (AArch64) — Cortex-A シリーズ以上
Linux カーネル Linux カーネル 2.6.x 以降(embedded Linux 含む)
最新対応: カーネル 7.0.1
※ カーネル 6.2 以降では CMA(Contiguous Memory Allocator)の検証が厳格化されています。 非 CMA 環境で WDC_DMAContigBufLock() を使用する場合は DMA_OVERRIDE_CMA_VALIDATION フラグの適用が必要です。 詳細はリリースノートを参照してください。
対応バス PCIe / PCI-X / PCI-104 / CompactPCI
開発言語・環境 C / C++ / Python(GCC クロスコンパイル / CMake によるクロスプラットフォームビルド対応)

主要機能

DriverWizard — ノーコード診断

ハードウェアを接続するだけで、GUI からレジスタの読み書き・DMA テスト・割り込みトリガーを即時確認。ARM ボード上でもカーネルモジュールの記述は不要です。

自動コード生成

診断完了後、ハードウェア仕様をもとに C / C++ / Python 用のドライバースケルトンをワンクリックで出力。GCC および CMake に対応しています。

Kernel PlugIn — カーネル特権処理

ユーザーモードで開発・デバッグし、DMA や割り込みなどクリティカルな処理のみ Kernel PlugIn でカーネル空間実行。パフォーマンス低下ゼロで安全性と速度を両立。

Debug Monitor — リアルタイム監視

Debug Monitor でドライバーの動作状況をリアルタイムに監視。組み込みシステムでのカーネルパニックリスクなく、ユーザーモードで安全にデバッグできます。

GCC クロスコンパイル対応

x86 開発ホストから ARM / ARM64 ターゲット向けにクロスコンパイルできます。CMake のクロスビルド設定をそのまま利用でき、既存のビルドインフラに自然に統合できます。

マルチ OS ソース互換

Windows / Linux (x86 / ARM) / macOS 間でソースコード互換。同一の WinDriver API コードを各 OS・アーキテクチャのランタイム上で共有できます。

組み込み Linux 対応

Yocto / Buildroot 等の組み込み Linux ディストリビューション対応。どの Linux flavor でも起動するようカスタマイズ可能で、産業用・医療用機器への組み込みに適しています。

同梱コンテンツ

C / C++ / Python のサンプルソースコード、日本語ユーザーマニュアル、2 か月間の技術サポートとバージョンアップグレード権、ロイヤリティフリーのランタイム再配布ライセンスを含みます。

対応チップベンダー / FPGA メーカー

WinDriver はシリコンベンダー非依存の汎用 PCIe ブリッジをサポートするほか、主要 FPGA メーカー向けの高速 DMA サンプルを標準提供しています。

AMD / XilinxXDMA / QDMA / AXIDMA Altera (Intel)mSGDMA / MCDMA LatticeSGDMA / CertusPro NX 汎用 PCIe ブリッジ
各ベンダーの DMA IP コアに対応した検証済みサンプルロジックとコード自動生成を提供。 詳細は FPGA DMA 転送実装ガイド を参照してください。

テクニカルノート

  • Plug-and-Play およびパワーマネージメントイベント対応
  • I/O、DMA、割り込み処理、メモリマップアクセスのサポート
  • マルチ CPU 対応

互換性

開発したアプリケーションは Windows・Linux (x86 / ARM)・macOS 間でソースコード互換性があります。 x86 開発環境で作成した WinDriver API コードを ARM ターゲット向けにクロスコンパイルしてそのまま利用できます。

Linux ARM で USB デバイスの開発をお探しですか?

WinDriver USB for Linux ARM へ