オペレーティング システム - 2023.2 日本語

Versal アダプティブ SoC システム統合および検証設計手法ガイド (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 日本語

オペレーティング システムのタイプにより、ソフトウェア デバッグ手順は異なります。アプリケーションがベアメタル OS に基づいている場合は、アプリケーションから特定のペリフェラル アドレスを簡単に読み出すことができます。たとえば、アプリケーションが特定のカーネルをイネーブルにしており、カーネル データフローが発生していない場合、アプリケーションから制御レジスタ、カーネルの長さレジスタを読み出し、プログラムされた値が正しいかどうかを確認できます。

ベアメタル アプリケーションでは、カーネルの入力/出力バッファーを物理アドレスに基づいてダンプでき、ソフトウェアの観点からのデバッグに役立ちます。入力バッファーが予測される入力と一致しない場合は、アプリケーションから同じ DDR バッファーへの書き込み/リードバックを実行することにより、さらに優先順位を決定できます。リードバック データが一致しない場合は、デバッグを DRAM インターフェイスに集中させることができます。

Linux ベースのアプリケーションでは、バッファーの内容をファイルにダンプするには、割り当てられたバッファーがメモリ マップドであり、物理アドレスを返すことが必要です。これにより、アプリケーションで入力バッファーと出力バッファーの内容を基準入力と比較できます。アプリケーションでデバイス メモリ マップ (/dev/mem) を使用してメモリ マップド カーネル レジスタ空間にアクセスし、カーネル制御、サイズ、およびアドレス値が正しくプログラムされているかを確認できます。値が正しくない場合は、アプリケーションからデバイス ドライバーへのインターフェイスでさらにデバッグを実行できます。