ACI_Programming_Params

Top  Previous  Next

typedef struct tagACI_Programming_Params

{

 UINT   Size;                     // (in)        Size of structure, in bytes

 BOOL   InsertTest;               // (in || out) Test if device is attached

 BOOL   CheckDeviceId;            // (in || out) Check device identifier

 BOOL   ReverseBytesOrder;        // (in || out) Reverse bytes order in buffer

 BOOL   BlankCheckBeforeProgram;  // (in || out) Perform blank check before programming

 BOOL   VerifyAfterProgram;       // (in || out) Verify after programming

 BOOL   VerifyAfterRead;          // (in || out) Verify after read

 BOOL   SplitData;                // (in || out) Split data: see ACI_SP_xxx constants

 BOOL   DeviceAutoDetect;         // (in || out) Auto detect device in socket (not all of the programmers provide this feature)

 BOOL   DialogBoxOnError;         // (in || out) On error, display dialog box

 UINT   AutoDetectAction;         // (in || out) Action to perform on device autodetect or 'Start' button, see ACI_AD_xxx constants

 DWORD  DeviceStartAddrLow;       // (in || out) Low 32 bits of device start address for programming operation

 DWORD  DeviceStartAddrHigh;      // (in || out) High 32 bits of device start address for programming operation

 DWORD  DeviceEndAddrLow;         // (in || out) Low 32 bits of device end address for programming operation

 DWORD  DeviceEndAddrHigh;        // (in || out) High 32 bits of device end address for programming operation

 DWORD  DeviceBufStartAddrLow;    // (in || out) Low 32 bits of device memory start address in buffer for programming operation

 DWORD  DeviceBufStartAddrHigh;   // (in || out) High 32 bits of device memory start address in buffer for programming operation

} ACI_Programming_Params;

 

InsertTest

This is the command to check the device insertion before starting any programming operations on the device. The procedure will check if every chip leads have good contact in the programming socket.

CheckDeviceId

This is the command to check a unique internal device identifier before the device programming.

ReverseBytesOrder

This is the command to reverse the byte order in 16-bit words when programming the device, reading it or verifying the data. This structure member does not effect the data value in the ChipProg memory buffers - these data remain the same as they were loaded.

BlankCheckBeforeProgram

This is the command to check whether the device is blank before executing the Program command.

VerifyAfterProgram

This is the command to verify the data written into the device every time after executing the Program command.

VerifyAfterRead

This is the command to verify the data written into the device every time after executing the Read command.

SplitData

This is the command to split data in accordance with the value of the constants ACI_SP_xxx* in the aciprog.h file (see below). This allows 8-bit memory devices to be cascaded in multiple memory chips to be used in the systems with 16- and 32-bit address and data buses.

DeviceAutoDetect

This is the command to scan all the device's leads in a process of the device insertion into the programming socket. If the DeviceAutoDetect is TRUE the programmer will check whether all of the device's leads are reliably gripped by the programmer socket's sprung contacts. Only when the reliable device insertion is acknowledged, the program launches a chosen programming operation, script or a batch of single operations programmed in the Auto Programming dialog.

DialogBoxOnError

If this structure member is TRUE then any error that occurs in any programming operation will generate error messages and will open associated dialogs. If this attribute is FALSE the error messages will not be issued.

AutoDetectAction

If the DeviceAutoDetect is TRUE then values of the ACI_AD_xxx** constants in the aciprog.h file define a particular action triggered either on manual pushing the Start button or upon auto detection of reliable insertion of the device into the programmer's socket (see below).

AutoDetectAction value

What to do (action)

ACI_AD_EXEC_FUNCTION

Launch the programming operation (function) currently highlighted in the Program Manager tab.

ACI_AD_EXEC_AUTO

Launch a batch of single operations programmed in the Auto Programming dialog.

ACI_AD_EXEC_SCRIPT

Perform the script specified in the Script File dialog.

ACI_AD_DO_NOTHING

Do not act (ignore). Then it is possible to resume operations only by executing either the ACI_ExecFunction or ACI_StartFunction.

DeviceStartAddrLow,

DeviceStartAddrHigh

This structure member defines a physical start address of the device to perform a specified programming operation (function). For example: "...read the chip content beginning at the address 7Fh". Not all the functions use this parameter.

DeviceEndAddrLow,

DeviceEndAddrHigh

This parameter defines a physical end address, beyond which a specified programming operation (function) will not proceed. For example: "...program the chip until the address 0FFh". Not all the programmer functions use this parameter.

DeviceBufStartAddrLow,

DeviceBufStartAddrHigh

This structure member defines the buffers layer's start address from which to perform a specified programming operation (function). For example: "...read the chip and move the data to the buffer beginning at the address 10h". Not all the programmer functions use this parameter.

 

This is the bit definition from the aciprog.h header file:

 

* // ACI Data Split defines

#define ACI_SP_NONE                      0

#define ACI_SP_EVEN_BYTE                1

#define ACI_SP_ODD_BYTE                2

#define ACI_SP_BYTE_0                    3

#define ACI_SP_BYTE_1                    4

#define ACI_SP_BYTE_2                    5

#define ACI_SP_BYTE_3                    6

 

** // ACI Device Auto-Detect or 'Start' button action

#define ACI_AD_EXEC_FUNCTION        0 // Execute the function currently selected in the list

#define ACI_AD_EXEC_AUTO                  1 // Execute the Auto Programming command

#define ACI_AD_EXEC_SCRIPT                2 // Execute the script chosen in the programmer Script File dialog

#define ACI_AD_DO_NOTHING                3 // Do nothing

 

See also: ACI_SetProgrammingParams, ACI_GetProgrammingParams