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
|