3.5.1.19.4 AXI4 Initiator Argument's Pointer Address Driver Functions

As explained in 3.5.1.18.3.2 AXI4 Initiator Interface, an argument using AXI4 initiator interface will have an associated interface for setting the base pointer address. The base pointer address is where the argument data can be found by the accelerator. Typically the pointer address is an address in the processor memory that the accelerator will directly access via the AXI4 initiator interface. When this pointer address interface is configured to AXI4 target, the driver function below is generated for setting the pointer address:

// Sets pointer address for 'MyPtrArg'.
void MyTopFunc_write_MyPtrArg_ptr_addr(void* offset);

Note that when the HLS project's target flow is set to Icicle_SoC (see 3.6.2.2.7 set_project), the driver is assumed to run on a Linux Operating System (see Step 5: Flashing the Linux Image to the Board), and the processor memory referenced by the pointer argument (MyPtrArg) must be allocated by the hls_malloc function (see 3.5.1.17.11 Memory Allocation Library).