Disable interrupts and program the FPGA with the data from user_data, which has a size specified by the size argument. The host then calls aocl_mmd_set_status_handler and aocl_mmd_set_interrupt_handler again, which enable the interrupts. If events such as interrupts occur during aocl_mmd_program execution, race conditions or data corruption might occur.
This function replaces aocl_mmd_program, which is deprecated starting with Intel® FPGA SDK for OpenCL™ Version 18.1.
int aocl_mmd_program( int handle, void* user_data, size_t size, aocl_mmd_program_mode_t program_mode );
- handle—A positive int value representing the handle to the board obtained from the aocl_mmd_open() call.
- user_data—The void* type binary contents of the fpga.bin file that are created during compilation.
- size—The size of user_data in bytes. The size argument is of size_t.
- program_mode—The bit-field that specifies the mode of device programming.
Table 19. Possible Values for the program_mode Argument program_mode Argument Value Description AOCL_MMD_PROGRAM_PRESERVE_GLOBAL_MEMORY This flag specifies that during programming the global memory on the devices are preserved.
If aocl_mmd_program executes successfully, the return value is the pointer value that the host uses to access shared memory.