• 検索結果がありません。

BPC-0821 Help for Windows

N/A
N/A
Protected

Academic year: 2021

シェア "BPC-0821 Help for Windows"

Copied!
50
0
0

読み込み中.... (全文を見る)

全文

(1)

www.interface.co.jp

BPC-0821

Windows 用メモリアクセスツール

(2)

© 2005, 2015 Interface Corporation. All rights reserved. 1 目 次

第 1 章 はじめに

2

1.1 概要 ...2 1.2 特長 ...2

第 2 章 製品仕様

3

2.1 基本仕様 ...3 2.2 製品構成 ...3

第 3 章 導入方法

4

3.1 インストール手順 ...4 3.2 実行手順 ...4

第 4 章 リファレンス

6

4.1 関数一覧 ...6 4.2 関数個別説明 ...7 4.3 構造体 ...40

第 5 章 サンプルプログラム

43

5.1 IoReadWrite ...43 5.2 MemReadWrite ...44

第 6 章 ユーティリティ

45

6.1 メモリダンプユーティリティプログラム ...45

第 7 章 重要な情報

48

(3)

© 2005, 2015 Interface Corporation. All rights reserved. 2

第1章 はじめに

1.1 概要

BPC-0821 は、Windows 上から I/O ポート、メモリへ直接アクセスを行えるツールです。 Windows 上のアプリケーションから DLL をダイナミックリンクし、API をコールすることにより I/O ポート、メモリへ直接アクセスすることが出来ます。 また分散処理コンピュータに搭載されているメモリ共有インタフェース(以降メモリ共有インタ フェース)制御用の API も提供しています。 本ドキュメントは、Windows 上で BPC-0821 を使用するための情報を掲載しています。

1.2 特長

●Windows 上から I/O ポート、メモリへ直接アクセスすることが出来る為、Windows 上からでも、 パフォーマンスの高いハードウェア制御を行うことができます。 通常、Windows 上から I/O ポート、メモリへのアクセスを行う場合、ドライバ呼び出しに時間が かかりますが、本ソフトウェアを使用することにより、ソフトウェアのオーバーヘッドを最小に することができます。 ●PCI コンフィグレーションアクセス用関数を提供していますので、PCI デバイスのリソース情報 を取得することができます。 ●メモリ共有インタフェースの割り込み発生時、コールバックルーチンを呼び出すことができます。 ●メモリ共有インタフェースのメモリアクセスを高速にする API を提供しています。

(4)

© 2005, 2015 Interface Corporation. All rights reserved. 3

第2章 製品仕様

2.1 基本仕様

イベント機能 メモリ共有インタフェースの割り込みが発生した場合に、アプリケー ションにイベント通知することができます。 ・ウォッチドック割り込み ・STB/ACK 割り込み ・FIFO 割り込み

2.2 製品構成

製品構成 ファイル名 説明 弊社管理用ファイル BPC0821.VER 弊社ソフトウェア管理用ファイル 最新情報ドキュメント README.HTM 最新ドキュメント掲載ファイル インストールプログラム SETUP.EXE インストール用ファイル ユーティリティプログラム MEMDUMP.EXE メモリダンプユーティリティプログラム IFMEM4G.DLL ダイナミックリンクライブラリファイル DLL IFMEM4G.LIB インポートライブラリファイル IFMEM4G.SYS デバイスドライバ デバイスドライバ IFMEM4G.INF ドライバインストールファイル IFMEM4G.H Visual C++ 用ヘッダファイル IFMEM4G.BAS Visual Basic 用ヘッダファイル ヘッダファイル

IFMEM4G.PAS Delphi 用ヘッダファイル Help HELP.PDF Help(PDF 形式)

サンプルプログラム

IoReadWrite I/O ポートアクセスサンプルプログラム Visual C++

MemReadWrite メモリアクセスサンプルプログラム Visual Basic MemReadWrite メモリアクセスサンプルプログラム Visual C# .NET MemReadWrite メモリアクセスサンプルプログラム Visual Basic .NET MemReadWrite メモリアクセスサンプルプログラム Delphi MemReadWrite メモリアクセスサンプルプログラム

※Visual C# .NET,Visual Basic.NET 用サンプルプログラムは、それぞれ Viausl C# .NET 2003,Visual Basic .NET 2003 を使用して作成しています。

(5)

© 2005, 2015 Interface Corporation. All rights reserved. 4

第3章 導入方法

3.1 インストール手順

README.HTM のインストール方法を参照してください。

3.2 実行手順

基本的な制御の手順は以下の通りです(記述例は C 言語です)。 ・I/O ポートアクセス関数 1. ユーザモード(RIN3)から I/O ポートへのアクセスを有効にします。 ret = UioIoEnable(); 2. I/O ポートからのデータ読み込み、I/O ポートへのデータ書き込みを行います。 Data = _inp(Port); //データ読み込み _outp(Port, Data); //データ書き込み 3. ユーザモード(RIN3)から I/O ポートへのアクセスを無効にします。 ret = UioIoDisable(); ・物理メモリアクセス関数 1. ユーザモード(RIN3)のメモリ空間へ物理メモリを割り当てます。

address = (unsigned char *)UioMemMap((void *)0xD4000000, 0x02000000);

2. 1.で取得したユーザメモリのアドレスに対して、データの読み書きを行います。 3. ユーザモード(RIN3)のメモリ空間から物理メモリを開放します。

(6)

© 2005, 2015 Interface Corporation. All rights reserved.

5 ・PCI コンフィグレーションレジスタ アクセス関数

1. 入力

PciGetCfgByte 関数, PciGetfgWord 関数, PciGetfgDword 関数を使用して、PCI コンフィグ レーションレジスタの Byte 単位, Word 単位, Dword 単位の読み出しが行えます。

PciGetCfgByte(MK_PCI_ADDR(0, 2, 0, 4), &data); PciGetCfgWord(MK_PCI_ADDR(0, 2, 0, 4), &data); PciGetCfgDword(MK_PCI_ADDR(0, 2, 0, 4), &data);

2. 出力

PciSetCfByte 関数, PciSetCfWord 関数, PciSetCfDword 関数をしようして、PCI コンフィ グレーションレジスタの Byte 単位, Word 単位, Dword 単位の書き込みが行えます。 PciSetCfgByte(MK_PCI_ADDR(0, 2, 0, 4), 0x12); PciSetCfgWord(MK_PCI_ADDR(0, 2, 0, 4), 0x1234); PciSetCfgDword(MK_PCI_ADDR(0, 2, 0, 4), 0x12345678); MK_PCI_ADDR 関数を使用すると、アクセス関数の第一引数の PCI コンフィグレーションレジ スタアクセス用アドレスをバス番号,デバイス番号, ファンクション番号, PCI コンフィグ レーションレジスタのオフセットから作成することが出来ます。 ・メモリ共有インタフェース関数 1. メモリ共有インタフェースの高速アクセス LbEnableCache 関数を使用することで、CPU のキャッシュを有効にして、メモリ共有イン タフェースの高速アクセスを有効にします。 LbDisableCache 関数を使用することで、LbEnable 関数で有効に設定されているキャッシ ュ設定を無効にし、メモリ共有インタフェースの高速アクセスを無効にします。 2. 割り込み LbSetEvent 関数でメモリ共有インタフェースの割り込みイベント機能の登録を行います。 また、LbKillEvent 関数でメモリ共有インタフェースの割り込みイベント機能の解除を行 います。 割り込みイベント機能を有効した場合は、必ずアプリケーションの終了前に割り込みイベ ントの解除を行ってください。

(7)

© 2005, 2015 Interface Corporation. All rights reserved. 6

第4章 リファレンス

4.1 関数一覧

No 関数名 機能 ●I/O ポートアクセス関数

1 UioIoEnable ユーザモード(RING3)から I/O ポートのアクセスを有効にします。 2 UioIoDisable ユーザモード(RING3)から I/O ポートのアクセスを無効にします。 ●物理メモリアクセス関数

3 UioMemMap ユーザモード(RING3)のメモリ空間へ物理メモリを割り当てます。 4 UioMemUnmap ユーザモード(RING3)のメモリ空間から物理メモリを開放します。 ●PCI コンフィグレーションレジスタ アクセス関数

5 PciGetCfgByte PCI コンフィグレーションレジスタの読み出し(BYTE単位)を行います。 6 PciGetCfgWord PCI コンフィグレーションレジスタの読み出し(WORD単位)を行います。 7 PciGetCfgDword PCI コンフィグレーションレジスタの読み出し(DWORD単位)を行いま

す。

8 PciSetCfgByte PCI コンフィグレーションレジスタの書き込み(BYTE単位)を行います。 9 PciSetCfgWord PCI コンフィグレーションレジスタの書き込み(WORD単位)を行います。 10 PciSetCfgDword PCI コンフィグレーションレジスタの書き込み(DWORD単位)を行いま

す。 11 MK_PCI_ADDR PCI コンフィグレーションレジスタアクセス用アドレスを作成します。 ●メモリ共有インタフェース関数 12 LbEnableCache CPUのキャッシュを有効にして、メモリ共有インタフェースの高速アク セスを有効にします。 13 LbDisableCache メモリ共有インタフェースの高速アクセスを無効にします。 14 LbSetEvent メモリ共有インタフェースの割り込みイベント機能を登録します。 15 LbKillEvent メモリ共有インタフェースの割り込みイベント機能の解除を行います。 16 WdtCallBackProc メモリ共有インタフェースのウォッチドック割り込みイベント発生に よってコールされるコールバック関数のプレースホルダです。 17 AckCallBackProc メモリ共有インタフェースのACK割り込みイベント発生によってコール されるコールバック関数のプレースホルダです。 18 StbCallBackProc メモリ共有インタフェースのSTB割り込みイベント発生によってコール されるコールバック関数のプレースホルダです。 19 WriteFifoCallBackProc メモリ共有インタフェースのライトFIFO割り込みイベント発生によっ てコールされるコールバック関数のプレースホルダです。 20 ReadFifoCallBackProc メモリ共有インタフェースのリードFIFO割り込みイベント発生によっ てコールされるコールバック関数のプレースホルダです。

(8)

© 2005, 2015 Interface Corporation. All rights reserved. 7

4.2 関数個別説明

1. UioIoEnable

【機能】 ユーザモード(RING3)から I/O ポートのアクセスを有効にします。 【書式】 ●C 言語

BOOL WINAPI UioIoEnable( void ); 【パラメータ】 なし 【戻り値】 正常終了した場合は、TRUE が返されます。 失敗した場合には FALSE が返されます。 【備考】

本 API は Visual Basic, Delphi では使用することはできません。

【使用例】 ●C 言語 BOOL ret;

unsigned short Port=0x280; int Data;

ret = UioIoEnable(); if(!ret) {

return; }

Data =_inp(Port); // I/Oポートから読み込み _outp(Port, Data); // I/Oポートへの書き込み

ret = UioIoDisable();

(9)

© 2005, 2015 Interface Corporation. All rights reserved. 8

2. UioIoDisable

【機能】 ユーザモード(RING3)から I/O ポートのアクセスを無効にします。 【書式】 ●C 言語

BOOL WINAPI UioIoDisable( void ); 【パラメータ】 なし 【戻り値】 正常終了した場合は、TRUE が返されます。 失敗した場合には FALSE が返されます。 【備考】

本 API は Visual Basic, Delphi では使用することはできません。

【使用例】 ●C 言語 BOOL ret;

unsigned short Port = 0x280; int Data;

ret = UioIoEnable(); :

UioIoDisable();

(10)

© 2005, 2015 Interface Corporation. All rights reserved. 9

3. UioMemMap

【機能】 ユーザモード(RING3)のメモリ空間へ物理メモリを割り当てます。 【書式】 ●C 言語

VOID * WINAPI UioMemMap(

VOID *base,

DWORD size

);

●Visual Basic

Declare Function UioMemMap Lib "ifmem4g.dll" ( _ ByVal base As Long, _

ByVal size As Long _ ) As Long

●Delphi

function UioMemMap(

base: DWORD;

size: DWORD

): pointer; stdcall; external 'ifmem4g.dll';

【パラメータ】 base 物理メモリアドレスを指定します。 size メモリサイズを指定します。 【戻り値】 正常終了した場合は、ユーザ空間のメモリアドレスが返されます。 失敗した場合には NULL(0)が返されます。

(11)

© 2005, 2015 Interface Corporation. All rights reserved.

10 【使用例】

●C 言語

unsigned char *address; int i, j;

address = (unsigned char *)UioMemMap((void *)0xD4000000, 0x02000000); if(address == NULL) { return; } for (i = 0; i < 16; i++) { for (j = 0; j < 16; j++) { printf("%02X ", *(address + (i * 16) + j)); } printf("\n"); } UioMemUnmap((void *)address); ●Visual Basic

Declare Sub MemReadByte Lib "Kernel32.dll" Alias "CopyMemory" (ByRef buffer As Any, ByVal address As Long, ByVal length As Long)

Dim address As Long Dim i, j As Long Dim Message As String Dim ret As Long

address = UioMemMap(&HD4000000, &H02000000); If address = 0 Then Exit Sub

MemReadByte buffer(0), address, 256 For I = 0 To 15

For J = 0 To 15

Message = Message & Hex(buffer(I * 16 + J)) & " " Next

Message = Message & vbCrLf Next

MsgBox Message

(12)

© 2005, 2015 Interface Corporation. All rights reserved. 11 ●Delphi var address: pointer; i, j: integer;

buffer: array[0..255] of Byte; Message: string

address := UioMemMap($d4000000, $02000000); if address = 0 then exit;

CopyMemory(@buffer[0], address, 256);

for i := 0 to 15 do begin

for j := 0 to 15 do begin

Message := Message + IntToHex(buffer[i*16 + j], 2); end;

Message := Message + '\n'; end;

MessageDlg(Message, mtInformation, [mbOK], 0); UioMemUnmap(address);

(13)

© 2005, 2015 Interface Corporation. All rights reserved. 12

4. UioMemUnmap

【機能】 ユーザモード(RING3)に割り当てた物理メモリを解放します。 【書式】 ●C 言語

BOOL WINAPI UioMemUnmap( VOID *base

);

●Visual Basic

Declare Function UioMemUnmap Lib "ifmem4g.dll" ( _ ByVal base As Long _

) As Long

●Delphi

function UioMemUnmap(

base: pointer

): integer; stdcall; external 'ifmem4g.dll';

【パラメータ】 base 解放するユーザメモリのアドレスを指定します。 UioMemMap 関数で得られたアドレスを指定します。 【戻り値】 正常終了した場合は、TRUE が返されます。 失敗した場合には FALSE が返されます。

(14)

© 2005, 2015 Interface Corporation. All rights reserved.

13 【使用例】

●C 言語

unsigned char *address;

address = (unsigned char *)UioMemMap((void *)0xD4000000, 0x02000000); :

UioMemUnmap((void *)address);

●Visual Basic Dim address As Long

address = UioMemMap(&HD4000000, &H02000000); : UioMemUnmap(address) ●Delphi var address: pointer; address := UioMemMap($d4000000, $02000000); : UioMemUnmap(address); 物理メモリを解放します。

(15)

© 2005, 2015 Interface Corporation. All rights reserved. 14

5. PciGetCfgByte

【機能】 PCI コンフィグレーションレジスタの読み出し(BYTE 単位)を行います。 【書式】 ●C 言語

BOOL WINAPI PciGetCfgByte( DWORD addr,

BYTE *data

);

●Visual Basic

Declare Function PciGetCfgByte Lib "ifmem4g.dll" ( _ ByVal address As Long, _

ByRef data As Byte _ ) As Long

●Delphi

function PciGetCfgByte(

address: DWORD;

var data: Byte

): integer; stdcall; external 'ifmem4g.dll';

【パラメータ】 addr PCI コンフィグレーションレジスタアクセス用アドレスを指定します。 data 読み出しデータ格納用領域へのポインタ(参照渡し)を指定します。 【戻り値】 正常終了した場合は、TRUE が返され、data に有効な値が格納されます。 失敗した場合には FALSE が返されます。(data に格納される値は不定です。) 【備考】

addr は、80000000h + (BUS×10000h) + (DEV×800h) + (FUNC×100h) + REGで 指定します。

パラメータ 内容 BUS バス番号 DEV デバイス番号 FUNC ファンクション番号 REG PCI コンフィグレーションレジスタオフセットアドレス (MK_PCI_ADDR マクロを使用することもできます。)

(16)

© 2005, 2015 Interface Corporation. All rights reserved. 15 【使用例】 ●C 言語 int ret ; BYTE data;

ret = PciGetCfgByte(MK_PCI_ADDR(0, 2, 0, 4), &data);

●Visual Basic Dim ret As Long Dim data As Byte

ret = PciGetCfgByte(MK_PCI_ADDR(0, 2, 0, 4), data);

●Delphi var

ret: integer data: Byte;

ret := PciGetCfgByte(MK_PCI_ADDR(0, 2, 0, 4), data);

PCI デバイス(バス番号 0、デバイス番号 2、ファンクション番号 0)の コンフィグレーションレジスタ(オ フセットアドレス+4)から BYTE 単位でデータを読み出します。

(17)

© 2005, 2015 Interface Corporation. All rights reserved. 16

6. PciGetCfgWord

【機能】 PCI コンフィグレーションレジスタの読み出し(WORD 単位)を行います。 【書式】 ●C 言語

BOOL WINAPI PciGetCfgWord( DWORD addr,

WORD *data

);

●Visual Basic

Declare Function PciGetCfgWord Lib "ifmem4g.dll" ( _ ByVal address As Long, _

ByRef data As Byte _ ) As Long

●Delphi

function PciGetCfgWord(

address: DWORD;

var data: Byte

): integer; stdcall; external 'ifmem4g.dll';

【パラメータ】 addr PCI コンフィグレーションレジスタアクセス用アドレスを指定します。 data 読み出しデータ格納用領域へのポインタ(参照渡し)を指定します。 【戻り値】 正常終了した場合は、TRUE が返され、data に有効な値が格納されます。 失敗した場合には FALSE が返されます。(data に格納される値は不定です。) 【備考】

addr は、80000000h + (BUS×10000h) + (DEV×800h) + (FUNC×100h) + REGで 指定します。

パラメータ 内容 BUS バス番号 DEV デバイス番号 FUNC ファンクション番号 REG PCI コンフィグレーションレジスタオフセットアドレス (MK_PCI_ADDR マクロを使用することもできます。)

(18)

© 2005, 2015 Interface Corporation. All rights reserved. 17 【使用例】 ●C 言語 int ret ; WORD data;

ret = PciGetCfgWord(MK_PCI_ADDR(0, 2, 0, 4), &data);

●Visual Basic Dim ret As Long Dim data As Short

ret = PciGetCfgWord(MK_PCI_ADDR(0, 2, 0, 4), data);

●Delphi var

ret: integer data: word;

ret := PciGetCfgWord(MK_PCI_ADDR(0, 2, 0, 4), data);

PCI デバイス(バス番号 0、デバイス番号 2、ファンクション番号 0)の コンフィグレーションレジスタ(オ フセットアドレス+4)から WORD 単位でデータを読み出します。

(19)

© 2005, 2015 Interface Corporation. All rights reserved. 18

7. PciGetCfgDword

【機能】 PCI コンフィグレーションレジスタの読み出し(DWORD 単位)を行います。 【書式】 ●C 言語

BOOL WINAPI PciGetCfgDword( DWORD addr,

DWORD *data

);

●Visual Basic

Declare Function PciGetCfgDword Lib "ifmem4g.dll" ( _ ByVal address As Long, _

ByRef data As Long _ ) As Long

●Delphi

function PciGetCfgDword(

address: DWORD;

var data: DWORD

): integer; stdcall; external 'ifmem4g.dll';

【パラメータ】 addr PCI コンフィグレーションレジスタアクセス用アドレスを指定します。 data 読み出しデータ格納用領域へのポインタ(参照渡し)を指定します。 【戻り値】 正常終了した場合は、TRUE が返され、data に有効な値が格納されます。 失敗した場合には FALSE が返されます。(data に格納される値は不定です。) 【備考】

addr は、80000000h + (BUS×10000h) + (DEV×800h) + (FUNC×100h) + REGで 指定します。

パラメータ 内容 BUS バス番号 DEV デバイス番号 FUNC ファンクション番号 REG PCI コンフィグレーションレジスタオフセットアドレス (MK_PCI_ADDR マクロを使用することもできます。)

(20)

© 2005, 2015 Interface Corporation. All rights reserved. 19 【使用例】 ●C 言語 int ret ; DWORD data;

ret = PciGetCfgDword(MK_PCI_ADDR(0, 2, 0, 4), &data);

●Visual Basic Dim ret As Long Dim data As Long

ret = PciGetCfgDword(MK_PCI_ADDR(0, 2, 0, 4), data);

●Delphi var

ret: integer data: dword;

ret := PciGetCfgDword(MK_PCI_ADDR(0, 2, 0, 4), data);

PCI デバイス(バス番号 0、デバイス番号 2、ファンクション番号 0)の コンフィグレーションレジスタ(オ フセットアドレス+4)から DWORD 単位でデータを読み出します。

(21)

© 2005, 2015 Interface Corporation. All rights reserved. 20

8. PciSetCfgByte

【機能】 PCI コンフィグレーションレジスタの書き込み(BYTE 単位)を行います。 【書式】 ●C 言語

BOOL WINAPI PciSetCfgByte( DWORD addr,

BYTE data

);

●Visual Basic

Declare Function PciSetCfgByte Lib "ifmem4g.dll" ( _ ByVal address As Long, _

ByVal data As Byte _ ) As Long

●Delphi

function PciSetCfgByte(

address: DWORD;

data: BYTE

): integer; stdcall; external 'ifmem4g.dll';

【パラメータ】 addr PCI コンフィグレーションレジスタアクセス用アドレスを指定します。 data 書き込みデータを指定します。 【戻り値】 正常終了した場合は、TRUE が返されます。 失敗した場合には FALSE が返されます。 【備考】

addr は、80000000h + (BUS×10000h) + (DEV×800h) + (FUNC×100h) + REGで 指定します。

パラメータ 内容 BUS バス番号 DEV デバイス番号 FUNC ファンクション番号 REG PCI コンフィグレーションレジスタオフセットアドレス (MK_PCI_ADDR マクロを使用することもできます。)

(22)

© 2005, 2015 Interface Corporation. All rights reserved. 21 【使用例】 ●C 言語 int ret ; ret= PciSetCfgByte(MK_PCI_ADDR(0, 2, 0, 4), 0x12); ●Visual Basic Dim ret As Long

ret = PciSetCfgByte(MK_PCI_ADDR(0, 2, 0, 4), &H12);

●Delphi var ret: integer ret := PciSetCfgByte(MK_PCI_ADDR(0, 2, 0, 4), $12); PCI デバイス(バス番号 0、デバイス番号 2、ファンクション番号 0)の コンフィグレーションレジスタ(オ フセットアドレス+4) に BYTE データを書き込みます。

(23)

© 2005, 2015 Interface Corporation. All rights reserved. 22

9. PciSetCfgWord

【機能】 PCI コンフィグレーションレジスタの書き込み(WORD 単位)を行います。 【書式】 ●C 言語

BOOL WINAPI PciSetCfgWord ( DWORD addr,

WORD data

);

●Visual Basic

Declare Function PciSetCfgWord Lib "ifmem4g.dll" ( _ ByVal address As Long, _

ByVal data As Short _ ) As Long

●Delphi

function PciSetCfgWord(

address: DWORD;

data: WORD

): integer; stdcall; external 'ifmem4g.dll';

【パラメータ】 addr PCI コンフィグレーションレジスタアクセス用アドレスを指定します。 data 書き込みデータを指定します。 【戻り値】 正常終了した場合は、TRUE が返されます。 失敗した場合には FALSE が返されます。 【備考】

addr は、80000000h + (BUS×10000h) + (DEV×800h) + (FUNC×100h) + REGで 指定します。

パラメータ 内容 BUS バス番号 DEV デバイス番号 FUNC ファンクション番号 REG PCI コンフィグレーションレジスタオフセットアドレス (MK_PCI_ADDR マクロを使用することもできます。)

(24)

© 2005, 2015 Interface Corporation. All rights reserved. 23 【使用例】 ●C 言語 int ret; ret = PciSetCfgWord(MK_PCI_ADDR(0, 2, 0, 4), 0x1234); ●Visual Basic Dim ret As Long

ret = PciSetCfgWord(MK_PCI_ADDR(0, 2, 0, 4), &H1234);

●Delphi var ret: integer ret := PciSetCfgWord(MK_PCI_ADDR(0, 2, 0, 4), $1234); PCI デバイス(バス番号 0、デバイス番号 2、ファンクション番号 0)の コンフィグレーションレジスタ(オ フセットアドレス+4) に WORD データを書き込みます。

(25)

© 2005, 2015 Interface Corporation. All rights reserved. 24

10. PciSetCfgDword

【機能】 PCI コンフィグレーションレジスタの書き込み(DWORD 単位)を行います。 【書式】 ●C 言語

BOOL WINAPI PciSetCfgDword ( DWORD addr,

DWORD data

);

●Visual Basic

Declare Function PciSetCfgDword Lib "ifmem4g.dll" ( _ ByVal address As Long, _

ByVal data As Long _ ) As Long

●Delphi

function PciSetCfgDword(

address: DWORD;

data: DWORD

): integer; stdcall; external 'ifmem4g.dll';

【パラメータ】 addr PCI コンフィグレーションレジスタアクセス用アドレスを指定します。 data 書き込みデータを指定します。 【戻り値】 正常終了した場合は、TRUE が返されます。 失敗した場合には FALSE が返されます。 【備考】

addr は、80000000h + (BUS×10000h) + (DEV×800h) + (FUNC×100h) + REGで 指定します。

パラメータ 内容 BUS バス番号 DEV デバイス番号 FUNC ファンクション番号 REG PCI コンフィグレーションレジスタオフセットアドレス (MK_PCI_ADDR マクロを使用することもできます。)

(26)

© 2005, 2015 Interface Corporation. All rights reserved. 25 【使用例】 ●C 言語 int ret; ret = PciSetCfgDword(MK_PCI_ADDR(0, 2, 0, 4), 0x12345678); ●Visual Basic Dim ret As Long

ret = PciSetCfgDword(MK_PCI_ADDR(0, 2, 0, 4), &H12345678);

●Delphi var ret: integer ret := PciSetCfgDword(MK_PCI_ADDR(0, 2, 0, 4), $12345678); PCI デバイス(バス番号 0、デバイス番号 2、ファンクション番号 0)の コンフィグレーションレジスタ(オ フセットアドレス+4) に DWORD データを書き込みます。

(27)

© 2005, 2015 Interface Corporation. All rights reserved. 26

11. MK_PCI_ADDR

【機能】 PCI コンフィグレーションレジスタアクセス用アドレスを作成します。 【書式】 ●C 言語 DWORD MK_PCI_ADDR( bus, dev, func, reg ); (MK_PCI_ADDR はマクロです) ●Visual Basic

Declare Function MK_PCI_ADDR Lib "ifmem4g.dll" ( _ ByVal bus As Long, _

ByVal dev As Long, _ ByVal func As Long, _ ByVal reg As Long _ ) As Long ●Delphi function PciSetCfgDword( bus: DWORD; dev: DWORD; func: DWORD; reg: DWORD

): DWORD; stdcall; external 'ifmem4g.dll';

【パラメータ】 bus バス番号を指定します。 dev デバイス番号を指定します。 func ファンクション番号を指定します。 reg PCI コンフィグレーションレジスタのオフセットアドレスを指定します。 【戻り値】 以下の形式で PCI コンフィグレーションレジスタアクセス用アドレスが生成されます。 80000000h + (bus×10000h) + (dev×800h) + (func×100h) + reg

(28)

© 2005, 2015 Interface Corporation. All rights reserved. 27 【使用例】 ●C 言語 DWORD addr; addr = MK_PCI_ADDR(0, 2, 0, 4); ●Visual Basic Dim addr As Long

addr = MK_PCI_ADDR(0, 2, 0, 4) ●Delphi var addr: DWORD; addr := MK_PCI_ADDR(0, 2, 0, 4); バス番号 0、デバイス番号 2、ファンクション番号 0 のデバイスの PCI コンフィグレーションレジ スタ オフセットアドレス+4 にアクセスする為の PCI コンフィグレーションレジスタアクセス用 アドレスを作成します。

(29)

© 2005, 2015 Interface Corporation. All rights reserved. 28

12. LbEnableCache

【機能】 CPU のキャッシュを有効にして、メモリ共有インタフェースの高速アクセスを有効にします。 【書式】 ●C 言語

INT WINAPI LbEnableCache( DWORD offset,

DWORD length

);

●Visual Basic

Declare Function LbEnableCache Lib "ifmem4g.dll" ( _ ByVal offset As Long, _

ByVal length As Long, ) As Long

●Delphi

function LbEnableCache (

offset: DWORD;

length: DWORD

): Integer ; stdcall; external 'ifmem4g.dll';

【パラメータ】 offset キャッシュを有効にする共有メモリ領域のオフセットアドレスを指定します。 offset = 4096 × m (m ≧ 0)である必要があります。 length キャッシュを有効にする領域の大きさを、バイト単位で表した値を指定します。 length = 4096 ×2n (n ≧ 0)である必要があります。 【戻り値】 正常終了した場合は、LB_ERROR_SUCCESS が返されます。 正常終了しなかった場合は、以下のエラーコードが返されます。 エラーコード 内容 LB_ERROR_DEVICE_NOT_FOUND メモリ共有インタフェースが見つかりません。 LB_ERROR_ALREADY_ENABLE すでにキャッシュが有効になっています。 LB_ERROR_INVALID_PARAMETER パラメータが不正な値です。

(30)

© 2005, 2015 Interface Corporation. All rights reserved. 29 【備考】 offsetから、lengthバイトのメモリ領域を、ライトスルータイプに設定します。これにより、設 定された範囲内への連続したメモリアクセスが高速に行えるようになります。ある程度の大きさ のまとまったデータ転送時に効果を発揮します。データ量が多ければ多いほど、その効果は大き くなります。 同時にキャッシュ有効に出来る領域は、1 箇所だけです。 offset, length の値が、条件を満足していない場合、システムの動作を不安定にしてしまう危険 性があります。 キャッシュが有効になっている期間に対向側システムがキャッシュ有効範囲へ書き込んだ値を正 しく読み出せるとは限らなくなります。また、場合によっては、対向側システムが書き込んだ値 を破壊する危険性もあります。キャッシュ有効範囲について、十分注意してご使用ください。 【使用例】 ●C 言語 INT ret; ret = LbEnableCache(0x3000000, 0x1000000); ●Visual Basic Dim ret As Long

ret = LbEnableCache(&H3000000, &H1000000)

●Delphi var

ret: Integer;

ret := LbEnableCache($3000000, $1000000);

(31)

© 2005, 2015 Interface Corporation. All rights reserved. 30

13. LbDisableCache

【機能】 LbEnableCash 関数により有効に設定されているキャッシュ設定を無効にし、メモリ共有インタフ ェースの高速アクセスを無効にします。 【書式】 ●C 言語

INT WINAPI LbDisableCache(VOID);

●Visual Basic

Declare Function LbDisableCache Lib "ifmem4g.dll" ( _ ) As Long

●Delphi

function LbDisableCache (

): Integer ; stdcall; external 'ifmem4g.dll';

【パラメータ】 なし 【戻り値】 正常終了した場合は、LB_ERROR_SUCCESS が返されます。 正常終了しなかった場合は、以下のエラーコードが返されます。 エラーコード 内容 LB_ERROR_DEVICE_NOT_FOUND メモリ共有インタフェースが見つかりません。 【使用例】 ●C 言語 INT ret; ret = LbDisableCache(); ●Visual Basic Dim ret As Long

ret = LbDisableCache () ●Delphi var ret: Integer; ret := LbDisableCache (); 共有メモリのキャッシュ設定を無効にします。

(32)

© 2005, 2015 Interface Corporation. All rights reserved. 31

14. LbSetEvent

【機能】 メモリ共有インタフェースの割り込みイベント機能を登録します。 【書式】 ●C 言語

INT WINAPI LbSetEvent(

PLB_EVENT_CONFIG EventConfig

);

●Visual Basic

Declare Function LbSetEvent Lib "ifmem4g.dll" ( _ ByRef EventConfig As LB_EVENT_CONFIG _ ) As Long

●Delphi

function LbSetEvent(

var EventConfig: LB_EVENT_CONFIG; ): Integer: stdcall; external 'ifmem4g.dll';

【パラメータ】 EventConfig イベント設定構造体へのポインタ(参照渡し)を指定します。 【戻り値】 正常終了した場合は、LB_ERROR_SUCCESS が返されます。 正常終了しなかった場合は、以下のエラーコードが返されます。 エラーコード 内容 LB_ERROR_DEVICE_NOT_FOUND メモリ共有インタフェースが見つかりません。 【備考】 1. 本関数は、分散処理コンピュータ上以外では使用できません。 2. 本関数はイベントマスクの設定は行いません。イベントマスクの設定は、ユーザアプリケーシ ョン上で行うようにしてください。 3. 本関数により割り込みイベント機能を有効にした場合、必ずアプリケーション終了前に LbKillEvent 関数でイベント機能の解除を行ってください。 4. すでにイベント機能の設定を行っている状態で本 API を呼び出した場合、新しいイベント設定 で上書きされます。

(33)

© 2005, 2015 Interface Corporation. All rights reserved.

32 【使用例】

●C 言語

INT WdtEventHandler(DWORD UserData) { : return 0; } INT ret; LB_EVENT_CONFIG EventConfig; PBYTE WdtAddress; WdtAddress = (PBYTE)UioMemMap(LB_BASE_ADDRESS0, 63); ZeroMemory(&EventConfig, sizeof(LB_EVENT_CONFIG)); EventConfig.WdtCallBackProc = WdtEventHandler; EventConfig.WdtUserData = (DWORD)WdtAddress; ret = LbSetEvent(&EventConfig); *(WdtAddress + 0x25) = 0x01; // ウォッチドック割り込みを有効 ●Visual Basic

Declare Sub UioWriteMemory Lib "Kernel32.dll" Alias "RtlMoveMemory" (ByVal address As Long, ByRef buffer As Any, ByVal length As Long)

Declare Function WdtEventHandler(ByVal UserData As Long) :

WdtEventHandler = 0 End Function

Dim ret As Long

Dim EventConfig As LB_EVENT_CONFIG Dim WdtAddress As Long

Dim Buffer(16) As Byte

WdtAddress = UioMemMap(LB_BASE_ADDRESS0, 63)

EventConfig.WdtCallBackProc = ChangeAddressOf(AddressOf WdtEventHandler) EventConfig.WdtUserData = WdtAddress

ret = LbSetEvent(EventConfig)

Buffer(0) = &H01

(34)

© 2005, 2015 Interface Corporation. All rights reserved.

33 ●Delphi

function WdtEventHandler(UserData: DWORD): Integer; stdcall begin : Result := 0; end; var ret: Integer; EventConfig: LB_EVENT_CONFIG; WdtAddress: pointer;

Buffer: array[0..15] of Byte;

WdtAddress := UioMemMap(LB_BASE_ADDRESS0, 63); ZeroMemory(@EventConfig, SizeOf(LB_EVENT_CONFIG)); EventConfig.WdtCallBackProc := Addr(WdtEventHandler); EventConfig.WdtAddress := WdtAddress; ret := LbSetEvent(EventConfig); Buffer[0] := $01; CopyMemory(WdtAddress + $25, @Buffer[0], 1) ' ウォッチドック割り込みを有効 割り込みイベントを登録します。

(35)

© 2005, 2015 Interface Corporation. All rights reserved. 34

15. LbKillEvent

【機能】 メモリ共有インタフェースの割り込みイベント機能の解除を行います。 【書式】 ●C 言語

INT WINAPI LbKillEvent(VOID);

●Visual Basic

Declare Function LbKillEvent Lib "ifmem4g.dll" ( _ ) As Long

●Delphi

function LbSetEvent(

): Integer: stdcall; external 'ifmem4g.dll';

【パラメータ】 なし 【戻り値】 正常終了した場合は、LB_ERROR_SUCCESS が返されます。 正常終了しなかった場合は、以下のエラーコードが返されます。 エラーコード 内容 LB_ERROR_DEVICE_NOT_FOUND メモリ共有インタフェースが見つかりません。 【備考】 本関数は、分散処理コンピュータ上以外では使用できません。 【使用例】 ●C 言語 INT ret; ret = LbKillEvent(); ●Visual Basic Dim ret As Long

ret = LbKillEvent() ●Delphi var ret: Integer; ret := LbKillEvent(); 割り込みイベント機能の解除を行います。

(36)

© 2005, 2015 Interface Corporation. All rights reserved. 35

16. WdtCallBackProc

【機能】 メモリ共有インタフェースのウォッチドック割り込みイベント発生によってコールされるコール バック関数のプレースホルダです。 【書式】 ●C 言語 INT WdtCallBackProc( DWORD UserData ); ●Visual Basic

Declare Function WdtCallBackProc ( _ ByVal UserData As Long _ ) As Long ●Delphi function WdtCallBackProc( UserData: DWORD; ) :Integer; stdcall 【パラメータ】 UserData LbSetEvent 関数で設定したユーザデータです。 【戻り値】 コールバック関数実行後、ウォッチドック割り込みを無効にする場合、戻り値に 0 を設定します。 コールバック関数実行後、ウォッチドック割り込みを有効にする場合、戻り値に 1 を設定します。

(37)

© 2005, 2015 Interface Corporation. All rights reserved. 36

17. AckCallBackProc

【機能】 メモリ共有インタフェースの ACK 割り込みイベント発生によってコールされるコールバック関数 のプレースホルダです。 【書式】 ●C 言語 INT AckCallBackProc( DWORD UserData ); ●Visual Basic

Declare Function AckCallBackProc ( _ ByVal UserData As Long _ ) As Long ●Delphi function AckCallBackProc( UserData: DWORD; ) :Integer; stdcall 【パラメータ】 UserData LbSetEvent 関数で設定したユーザデータです。 【戻り値】 コールバック関数実行後、ACK 割り込みを無効にする場合、戻り値に 0 を設定します。 コールバック関数実行後、ACK 割り込みを有効にする場合、戻り値に 1 を設定します。

(38)

© 2005, 2015 Interface Corporation. All rights reserved. 37

18. StbCallBackProc

【機能】 メモリ共有インタフェースの STB 割り込みイベント発生によってコールされるコールバック関数 のプレースホルダです。 【書式】 ●C 言語 INT StbCallBackProc( DWORD UserData ); ●Visual Basic

Declare Function StbCallBackProc ( _ ByVal UserData As Long _ ) As Long ●Delphi function StbCallBackProc( UserData: DWORD; ) :Integer; stdcall 【パラメータ】 UserData LbSetEvent 関数で設定したユーザデータです。 【戻り値】 コールバック関数実行後、STB 割り込みを無効にする場合、戻り値に 0 を設定します。 コールバック関数実行後、STB 割り込みを有効にする場合、戻り値に 1 を設定します。

(39)

© 2005, 2015 Interface Corporation. All rights reserved. 38

19. WriteFifoCallBackProc

【機能】 メモリ共有インタフェースのライト用 FIFO 割り込みイベント発生によってコールされるコール バック関数のプレースホルダです。 【書式】 ●C 言語 INT WriteFifoCallBackProc( DWORD EventMask, DWORD UserData ); ●Visual Basic

Declare Function WriteFifoCallBackProc ( _ ByVal EventMask As Long _

ByVal UserData As Long _ ) As Long ●Delphi function WriteFifoCallBackProc( EventMask: DWORD; UserData: DWORD; ) :Integer; stdcall 【パラメータ】 EventMask コールバック関数を呼び出した、割り込みイベント要因です。 EventMask 内容 1 ライト用 FIFO EMPTY 割り込みイベントが有効です 2 ライト用 FIFO フル解除割り込みイベントが有効です。 UserData LbSetEvent 関数で設定したユーザデータです。 【戻り値】 コールバック関数実行後、ライト用 FIFO 割り込みを無効にする場合、戻り値に 0 を設定します。 コールバック関数実行後、ライト用 FIFO 割り込みを有効にする場合、戻り値に 1 を設定します。

(40)

© 2005, 2015 Interface Corporation. All rights reserved. 39

20. ReadFifoCallBackProc

【機能】 メモリ共有インタフェースのリード用 FIFO 割り込みイベント発生によってコールされるコール バック関数のプレースホルダです。 【書式】 ●C 言語 INT ReadFifoCallBackProc( DWORD EventMask, DWORD UserData ); ●Visual Basic

Declare Function ReadFifoCallBackProc ( _ ByVal EventMask As Long _ ByVal UserData As Long _ ) As Long ●Delphi function ReadFifoCallBackProc( EventMask: DWORD; UserData: DWORD; ) :Integer; stdcall 【パラメータ】 EventMask コールバック関数を呼び出した、割り込みイベント要因です。 EventMask 内容 1 リード用 FIFO EMPTY 解除割り込みイベントが有効です 2 リード用 FIFO フル割り込みイベントが有効です。 UserData LbSetEvent 関数で設定したユーザデータです。 【戻り値】 コールバック関数実行後、リード用 FIFO 割り込みを無効にする場合、戻り値に 0 を設定します。 コールバック関数実行後、リード用 FIFO 割り込みを有効にする場合、戻り値に 1 を設定します。

(41)

© 2005, 2015 Interface Corporation. All rights reserved. 40

4.3 構造体

1.

LB_EVENT_CONFIG 構造体

メモリ共有インタフェースのイベント情報を設定する構造体です。 ●C 言語 typedef struct { LPLBCALLBACK WdtCallBackProc; DWORD WdtUserData; LPLBCALLBACK AckCallBackProc; DWORD AckUserData; LPLBCALLBACK StbCallBackProc; DWORD StbUserData; LPLBFIFOCALLBACK WriteFifoCallBackProc1; DWORD WriteFifoUserData1; LPLBFIFOCALLBACK ReadFifoCallBackProc1; DWORD ReadFifoUserData1; LPLBFIFOCALLBACK WriteFifoCallBackProc2; DWORD WriteFifoUserData2; LPLBFIFOCALLBACK ReadFifoCallBackProc2; DWORD ReadFifoUserData2; } LB_EVENT_CONFIG, *LB_EVENT_CONFIG; ●Visual Basic Type LB_EVENT_CONFIG WdtCallBackProc As Long WdtUserData As Long AckCallBackProc As Long AckUserData As Long StbCallBackProc As Long StbUserData As Long WriteFifoCallBackProc1 As Long WriteFifoUserData1 As Long ReadFifoCallBackProc1 As Long ReadFifoUserData1 As Long WriteFifoCallBackProc2 As Long WriteFifoUserData2 As Long ReadFifoCallBackProc2 As Long ReadFifoUserData2 As Long End Type

(42)

© 2005, 2015 Interface Corporation. All rights reserved. 41 ●Delphi type LB_EVENT_CONFIG = record WdtCallBackProc pointer; WdtUserData DWORD; AckCallBackProc pointer; AckUserData DWORD; StbCallBackProc pointer; StbUserData DWORD; WriteFifoCallBackProc1 pointer; WriteFifoUserData1 DWORD; ReadFifoCallBackProc1 pointer; ReadFifoUserData1 DWORD; WriteFifoCallBackProc2 pointer; WriteFifoUserData2 DWORD; ReadFifoCallBackProc2 pointer; ReadFifoUserData2 DWORD; End Type メンバ 説明 WdtCallBackProc メモリ共有インタフェースのウォッチドック割り込みイベント発生時 に呼び出されるコールバック関数のポインタを指定してください。 コールバック関数を使用しない場合は、C 言語では NULL、Visual Basic、 Delphi では 0 を指定してください。 WdtUserData メモリ共有インタフェースのウォッチドック割り込みコールバック関 数へ引き渡すユーザ・データを指定してください。 AckCallBackProc メモリ共有インタフェースの ACK 割り込みイベント発生時に呼び出さ れるコールバック関数のポインタを指定してください。 コールバック関数を使用しない場合は、C 言語では NULL、Visual Basic、 Delphi では 0 を指定してください。 AckUserData メモリ共有インタフェースの ACK 割り込みコールバック関数へ引き渡 すユーザ・データを指定してください。 StbCallBackProc メモリ共有インタフェースの STB 割り込みイベント発生時に呼び出さ れるコールバック関数のポインタを指定してください。 コールバック関数を使用しない場合は、C 言語では NULL、Visual Basic、 Delphi では 0 を指定してください。 StbUserData メモリ共有インタフェースの STB 割り込みコールバック関数へ引き渡 すユーザ・データを指定してください。

(43)

© 2005, 2015 Interface Corporation. All rights reserved. 42 されるコールバック関数のポインタを指定してください。 コールバック関数を使用しない場合は、C 言語では NULL、Visual Basic、 Delphi では 0 を指定してください。 WriteFifoUserData1 メモリ共有インタフェースのライト用 FIFO1 割り込みコールバック関 数へ引き渡すユーザ・データを指定してください。 ReadFifoCallBackProc1 メモリ共有インタフェースのリード用 FIFO1 割り込み発生時に呼び出 されるコールバック関数のポインタを指定してください。 コールバック関数を使用しない場合は、C 言語では NULL、Visual Basic、 Delphi では 0 を指定してください。 ReadFifoUserData1 メモリ共有インタフェースのリード用 FIFO1 割り込みコールバック関 数へ引き渡すユーザ・データを指定してください。 WriteFifoCallBackProc2 メモリ共有インタフェースのライト用 FIFO2 割り込み発生時に呼び出 されるコールバック関数のポインタを指定してください。 コールバック関数を使用しない場合は、C 言語では NULL、Visual Basic、 Delphi では 0 を指定してください。 WriteFifoUserData2 メモリ共有インタフェースのライト用 FIFO2 割り込みコールバック関 数へ引き渡すユーザ・データを指定してください。 ReadFifoCallBackProc2 メモリ共有インタフェースのリード用 FIFO2 割り込み発生時に呼び出 されるコールバック関数のポインタを指定してください。 コールバック関数を使用しない場合は、C 言語では NULL、Visual Basic、 Delphi では 0 を指定してください。 ReadFifoUserData2 メモリ共有インタフェースのリード用 FIFO2 割り込みコールバック関 数へ引き渡すユーザ・データを指定してください。

(44)

© 2005, 2015 Interface Corporation. All rights reserved. 43

第5章 サンプルプログラム

以下、各サンプルプログラムの概要を説明します。 各種言語に対応したサンプルプログラムはそれぞれ以下の場所にインストールされます。 ・Visual C++ 「(インストール指定先ディレクトリ)\Sample\VC」 ・Visual Basic 「(インストール指定先ディレクトリ)\Sample\VB」 ・Delphi 「(インストール指定先ディレクトリ)\Sample\Delphi」

5.1 IoReadWrite

【概要】 「IoReadWrite」は I/O ポートのデータ読み込み、データ書き込みを行うサンプルプログラムです。 【実行手順】 サンプルプログラムには実行形式のファイルが付属していません。 ソースコードをコンパイルして実行ファイルを生成してから、動作させてください。 ●Visual C++の場合

Visual C++(Visual Studio)を起動し、「ファイル」メニューから「ワークスペースを開く」を 選び、メイクファイル「IoReadWrite.mak」を開き、ビルドしてください。

作成後、「IoReadWrite」を起動してください。

【内容】

I/O ポートアクセス関数を使用し、I/O ポートのデータを読み出し、表示します。 読み出したデータの各ビットを反転させ、I/O ポートへの書き込みます。

(45)

© 2005, 2015 Interface Corporation. All rights reserved. 44

5.2 MemReadWrite

【概要】 「MemReadWrite」はメモリのデータ読み込み、データ書き込みを行うサンプルプログラムです。 【実行手順】 サンプルプログラムには実行形式のファイルが付属していません。 ソースコードをコンパイルして実行ファイルを生成してから、動作させてください。 ●Visual C++の場合

Visual C++(Visual Studio)を起動し、「ファイル」メニューから「ワークスペースを開く」を 選び、メイクファイル「MemReadWrite.mak」を開き、ビルドしてください。

●Visual Basic の場合

Visual Basic を起動し、プロジェクトファイル「MemReadWrite.vbp」を開き、ビルドしてくださ い。 ●Delphi の場合 Delphi を起動し、プロジェクトファイル「MemReadWrite.dpr」を開き、ビルドしてください。 作成後、「MemReadWrite」を起動してください。 【内容】 物理メモリアクセス関数を使用し、物理メモリのデータを読み出し、表示します。 その後、物理メモリへデータの書き込みます。

(46)

第6章 ユーティリティ

6.1 メモリダンプユーティリティプログラム

メモリをダンプし表示するユーティリティプログラムです。 【操作方法】 1.「スタート」メニュー-「Interface BPC-0821」-「メモリダンプユーティリティプログラム」 を選択してユーティリティプログラムを起動させます。 2.ユーティリティを起動時メモリ共有インタフェースが見つかった場合、共有メモリ領域(先頭か ら 1M バイト)をダンプします。

© 2005, 2015 Interface Corporation. All rights reserved.

(47)

メモリ共有インタフェースが見つからなかった場合、「ファイル」―「表示領域の設定」メニュ ーから、ダンプ表示する領域を指定してください。 「ダンプアドレス」にダンプする先頭アドレス、「サイズ」にダンプするサイズをバイト単位で 入力し「OK」ボタンを押します。 ※ダンプアドレス、サイズは 256(100h)バイト単位で設定します。 3.先頭アドレスから 128 バイトのデータが画面上に表示されます。データは 1 秒周期に更新しま す。 4.「編集」メニューから、「書き込み」「フィル」「コピー」の操作を行います。 5.「表示」―「表示オフセットを変更」メニューから、画面表示する先頭アドレスを変更します。 6.「ファイル」―「ファイル読み込み」「ファイル書き込み」メニューから、ファイルの読み書き を行います。

© 2005, 2015 Interface Corporation. All rights reserved.

(48)

© 2005, 2015 Interface Corporation. All rights reserved. 47 以下の設定を行い「OK」ボタンを押すことでファイル読み込みまたはファイル書き込みを行い ます。 設定項目 内容 ファイル名 読み込みを行うまたは書き込みを行うファイル名を指定しま す。 ※ファイル名テキストボックス右横のボダンを押すことでフ ァイル選択ダイアログが開きます。 オフセットアドレス 読み込み時:ファイルから読み込んだデータを格納する先頭 のオフセットアドレスを指定します。 書き込み時:ファイルに書き込むデータが格納された先頭の オフセットアドレスを指定します。 サイズ 読み込みまたは書き込みバイトサイズを指定します。 7.「ファイル」―「アプリケーションの終了」メニューでユーティリティを終了します。 【メニュー】 「ファイル」メニュー メニュー 内容 表示領域の設定 ダンプ表示する領域を設定します。 ファイル読み込み 指定領域へファイルから読み込んだデータを格納します。 ファイル書き込み 指定領域から読み込んだデータをファイルへ書き込みます。 アプリケーションの終了 ユーティリティを終了します。 「編集」メニュー メニュー 内容 ライト 指定領域へデータを書き込みます。 フィル 指定領域へデータをフィルします。 コピー 指定領域のデータを別領域にコピーします。 「表示」メニュー メニュー 内容 表示オフセットを変更 画面表示する先頭オフセットアドレスを変更します。

(49)

© 2005, 2015 Interface Corporation. All rights reserved. 48

第7章 重要な情報

保証の内容と制限 弊社は本ドキュメントに含まれるソースプログラムの実行が中断しないこと、またはその実行に 誤りが無いことを保証していません。 本製品の品質や使用に起因する、性能に起因するいかなるリスクも使用者が負うものとします。 弊社はドキュメント内の情報の正確さに万全を期しています。万一、誤記または誤植などがあっ た場合、弊社は予告無く改訂する場合があります。ドキュメントまたはドキュメント内の情報に 起因するいかなる損害に対しても弊社は責任を負いません。 ドキュメント内の図や表は説明のためであり、ユーザ個別の応用事例により変化する場合があり ます。 著作権、知的所有権 弊社は本製品に含まれるおよび本製品に対する権利や知的所有権を保持しています。 本製品はコンピュータ ソフトウェア、映像/音声(例えば図、文章、写真など)を含んでいます。 医療機器/器具への適用における注意 弊社の製品は人命に関わるような状況下で使用される機器に用いられる事を目的として設計、製 造された物では有りません。 弊社の製品は人体の検査などに使用するに適する信頼性を確保する事を意図された部品や検査機 器と共に設計された物では有りません。 医療機器、治療器具などの本製品の適用により、製品の故障、ユーザ、設計者の過失などにより、 損傷/損害を引き起こす場合が有ります。 複製の禁止 弊社の許可なく、本ドキュメントの全て、または一部に関わらず、複製、改変などを行うことは できません。 責任の制限 弊社は、弊社または再販売者の予見の有無にかかわらず発生したいかなる特別損害、偶発的損害、 間接的な損害、重大な損害について、責任を負いません。 本製品(ハードウェア,ソフトウェア)のシステム組み込み、使用、ならびに本製品から得られる 結果に関する一切のリスクについては、本製品の使用者に帰属するものとします。 本製品に含まれるバグ、あるいは本製品の供給(納期遅延)、性能もしくは使用に起因する付帯的 損害もしくは間接的損害に対して、弊社に全面的に責がある場合でも、弊社はその製品に対する 改良(正常に動作する)、代品交換までとし、金銭面での賠償の責任は負わないものとしますので、 予めご了承ください。 本製品(ソフトウェアを含む)は、日本国内仕様です。本製品を日本国外で使用された場合、弊 社は一切責任を負いかねます。また、弊社は本製品に関し、海外での保守サービスおよび技術サ ポート等は行っておりません。

(50)

© 2005, 2015 Interface Corporation. All rights reserved.

49 商標/登録商標

参照

関連したドキュメント

Key words: Evolution family of bounded linear operators, evolution operator semigroup, Rolewicz’s theorem.. 2001 Southwest Texas

Specializing the members of Chebyshev systems, several applications and ex- amples are presented for concrete Hermite–Hadamard-type inequalities in both the cases of

For the class of infinite type hypersurfaces considered in this paper, the corresponding convergence result for formal mappings between real-analytic hypersurfaces is known as

Kashiwara and Nakashima [17] described the crystal structure of all classical highest weight crystals B() of highest weight explicitly. No configuration of the form n−1 n.

With this goal, we are to develop a practical type system for recursive modules which overcomes as much of the difficulties discussed above as possible. Concretely, we follow the

Thus, as in the case of Example 2, the conditions for a HELP inequality in Theorem 4.5 become equivalent to the conditions for both of the scalar equations in (64) to have

'BOM for Windows Ver.8.0 インストールマニュアル'では、BOM for Windows

In particular, in the case of a topological groupoid with open range map and a G-uniformity given by a fundamental system of neighborhoods of the unit space, our construction allows