Raspberry Pi・NVIDIA Jetson など ARM / ARM64 プラットフォーム向けの PCI / PCIe ドライバーをカーネル知識なしで開発。
組み込み Linux 対応。クロスコンパイル・CMake ビルドをサポートします。
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 ボードでも動作します。
| 対応 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 によるクロスプラットフォームビルド対応) |
ハードウェアを接続するだけで、GUI からレジスタの読み書き・DMA テスト・割り込みトリガーを即時確認。ARM ボード上でもカーネルモジュールの記述は不要です。
診断完了後、ハードウェア仕様をもとに C / C++ / Python 用のドライバースケルトンをワンクリックで出力。GCC および CMake に対応しています。
ユーザーモードで開発・デバッグし、DMA や割り込みなどクリティカルな処理のみ Kernel PlugIn でカーネル空間実行。パフォーマンス低下ゼロで安全性と速度を両立。
Debug Monitor でドライバーの動作状況をリアルタイムに監視。組み込みシステムでのカーネルパニックリスクなく、ユーザーモードで安全にデバッグできます。
x86 開発ホストから ARM / ARM64 ターゲット向けにクロスコンパイルできます。CMake のクロスビルド設定をそのまま利用でき、既存のビルドインフラに自然に統合できます。
Windows / Linux (x86 / ARM) / macOS 間でソースコード互換。同一の WinDriver API コードを各 OS・アーキテクチャのランタイム上で共有できます。
Yocto / Buildroot 等の組み込み Linux ディストリビューション対応。どの Linux flavor でも起動するようカスタマイズ可能で、産業用・医療用機器への組み込みに適しています。
C / C++ / Python のサンプルソースコード、日本語ユーザーマニュアル、2 か月間の技術サポートとバージョンアップグレード権、ロイヤリティフリーのランタイム再配布ライセンスを含みます。
WinDriver はシリコンベンダー非依存の汎用 PCIe ブリッジをサポートするほか、主要 FPGA メーカー向けの高速 DMA サンプルを標準提供しています。
開発したアプリケーションは Windows・Linux (x86 / ARM)・macOS 間でソースコード互換性があります。 x86 開発環境で作成した WinDriver API コードを ARM ターゲット向けにクロスコンパイルしてそのまま利用できます。
Linux ARM で USB デバイスの開発をお探しですか?
WinDriver USB for Linux ARM へ