User`s manual

Software Manual • EKF Intelligent I/O Controller Family On
CompactPCI
- 28 -
EKF Elektronik GmbH * Philipp-Reis-Str. 4 * D-59065 HAMM (Germany)
Tel. +49 (0)2381/6890-0 * Fax. +49 (0)2381/6890-90 * E-Mail info@ekf.de * Internet http://www.ekf.de
Call: DeviceIoControl(
handle, // handle returned by
CreateFile
IOCTL_EKF960SI1_FLASH_WRITE,
pData, // pointer to a EKF_DOWNLOAD_PARAMS structure
1
)
sizeof(*pData) + pData->byteCount,
NULL,
0,
&unused, // pointer to a DWORD variable
pOverlapped // optional pointer to overlapped buffer (may be NULL)
);
Note:
1
) This structure contains the size of the download data block and the offset within the flash
ROMs where to write it. The download data is placed directly behind the parameter structure.
It is defined in the C header file “ntddekf.h” delivered with the driver installation package. See
also section “
EKF_DOWNLOAD_PARAMS
” in chapter “
Board Level Interface
Description
”.
Caution:
Absolutely caution should be given when executing this I/O control request.
Use makes sense only if a new firmware binary is available that is
downloaded to the firmware flash ROMs. Erasure of the old firmware with the
I/O control request IOCTL_EKF960SI1_FLASH_ERASE is necessary before.
The board is no more functional, if a hardware reset occurred while
writing the new firmware binary.
The application may open any port that resides on the corresponding board when calling the
flash ROM write request. A call of IOCTL_EKF960SI1_ERASE should be done before calling
the write request.
The size of the download data block is limited to 16384 bytes (16KB) minus the size of the
structure EKF_DOWNLOAD_PARAMS. Therefore it is necessary to split and download the
firmware in several blocks.
After all blocks of the new firmware binary are written to the flash ROMs a board hardware
reset must be supplied to start the new firmware.
Get Acceptance Filter: IOCTL_EKF960SI1_GET_ACCEPTANCE
This I/O control request returns the current acceptance filter setting of a CANbus port.