重要: このオプションはエンベデッド プロセッサ プラットフォームでは使用できません。
mem --write
コマンドは、定義したパターンを指定したメモリの位置のセットに書き込みます。
コマンド ライン形式は次のとおりです。
xbutil mem --write [-d card] [-a [0x]start_addr]
[-i size_bytes] [-e pattern_byte]
次の表に、使用可能なオプションを示します。
オプション | 説明 | 必須 |
---|---|---|
-d <card>
|
ターゲット カードを指定します。<card> は、card_id または Bus:Device:Function (BDF) のいずれかに指定できます。指定しない場合は、デフォルトの card_id = 0 になります。 注記:
xbutil scan コマンドを使用すると、インストールされたカードに対して card_id と BDF の両方が表示されます。 |
× |
-a
<start_addr>
|
有効な開始アドレスを 16 進数または 10 進数のいずれかのフォーマットに指定します。16 進数フォーマットは、0x100 など、0x で開始する必要があります。デフォルト アドレスは 0x0 です。有効なアドレスは、次に示すように、Linux の |
× |
-i
<size_bytes>
|
メモリ転送サイズ (バイト) を 16 進数または 10 進数のいずれかのフォーマットに指定します。16 進数フォーマットは、0x100 など、0x で開始する必要があります。 |
× |
-e <pattern>
|
すべての定義済みのバイト位置に書き込まれるバイト パターンを 16 進数または 10 進数のいずれかのフォーマットに指定します。16 進数フォーマットは、0xEF など、0x で開始する必要があります。 |
× |
次は、DDR バンク 0、1、2、および 3 を使用して、xclbin
を指定した場合のコマンド出力の例です。
xbutil mem --write -a 0x0 -d2 -i 0x10 -e 0xef
INFO: Found total 1 card(s), 1 are usable
INFO: Writing to single bank, 16 bytes from DDR/HBM/PLRAM address 0x0
INFO: Writing DDR/HBM/PLRAM with 16 bytes of pattern: 0xef from address 0x0
INFO: xbutil mem succeeded.
無効な開始アドレスが使用されると、次のようなエラー メッセージが表示されます。開始アドレスは、そのデバイスのアドレス空間内に含まれる必要があります。この例の場合、0x400
は無効な開始アドレスです。
ERROR: Start address 0x400 is not valid
Available memory banks:
ERROR: xbutil mem failed.
ヒント: grep を使用して、使用可能なアドレス空間を表示します。たとえば、次のコマンドでは、DDR メモリのベース アドレスが表示されます。
dmesg | grep -A 10 -i ddr
Linux の dmesg
出力には、さまざまな DDR メモリのベース アドレスが表示されます。次は、DDR[1] の出力の例です。
[23174.283512] xocl 0000:a6:00.1: xocl_init_mem: Memory Bank: DDR[1]
[23174.283514] xocl 0000:a6:00.1: xocl_init_mem: Base Address:0x8000000000
[23174.283515] xocl 0000:a6:00.1: xocl_init_mem: Size:0x400000000
上記の -i ddr
の検索用語を -i hbm
に置き換えると、HBM メモリのベース アドレスを検索できます。
メモリ アドレスの読み出し方法は、mem --read を参照してください。