S32R45(RSDK_offline_example):
——I found A problem when I was using SPT:
I can't use both SRAM and DDR as input addresses.
In fact, I found that the input address parameter spacing cannot be very large.
sptContext.kernelParList[0].paramType = RSDK_SPT_PARAM_TYPE_ADDR;
sptContext.kernelParList[0].paramValue = (uintptr_t)input_0.phyAddr;
sptContext.kernelParList[1].paramType = RSDK_SPT_PARAM_TYPE_ADDR;
sptContext.kernelParList[1].paramValue = (uintptr_t)input_1.phyAddr;
sptContext.kernelParList[2].paramType = RSDK_SPT_PARAM_TYPE_LAST;
If 'input_0' AppMemAllocBuffer SRAM,'input_1' AppMemAllocBuffer DDR,SPT will error:
So I can only use one type of address?
解決済! 解決策の投稿を見る。
Hello Shi_test,
This is a limitation of the RSDK example SPT kernels rather than the SPT hardware itself. The RSDK SPT kernels have address input parameters that are expressed as a 24-bit offset from a base address RSDK_SPT_CUBE_BASE_ADDR which is defined as a constant. For example, the linker can generate this symbol definition to indicate an SRAM base address:
--defsym=RSDK_SPT_CUBE_BASE_ADDR=0x34000000.
It is not possible to provide an address argument which is an offset into DRAM address space when the base address is set to SRAM and vice versa.
To support both SRAM and DRAM addresses for PDMA commands in one SPT kernel you need to modify the SPT kernel to expand the input parameters to support a DRAM address argument. You could still use the RSDK_SPT_CUBE_BASE_ADDR based address parameters to supply SRAM offset arguments to the SPT kernel, while also adding new parameters to allow application code to provide DRAM based address to the SPT for use in a different PDMA command.
Best regards,
Gary
Hello Shi_test,
This is a limitation of the RSDK example SPT kernels rather than the SPT hardware itself. The RSDK SPT kernels have address input parameters that are expressed as a 24-bit offset from a base address RSDK_SPT_CUBE_BASE_ADDR which is defined as a constant. For example, the linker can generate this symbol definition to indicate an SRAM base address:
--defsym=RSDK_SPT_CUBE_BASE_ADDR=0x34000000.
It is not possible to provide an address argument which is an offset into DRAM address space when the base address is set to SRAM and vice versa.
To support both SRAM and DRAM addresses for PDMA commands in one SPT kernel you need to modify the SPT kernel to expand the input parameters to support a DRAM address argument. You could still use the RSDK_SPT_CUBE_BASE_ADDR based address parameters to supply SRAM offset arguments to the SPT kernel, while also adding new parameters to allow application code to provide DRAM based address to the SPT for use in a different PDMA command.
Best regards,
Gary
I noticed that the input address limit in the SPTdriver is 23 bits(8MB).Can I change it to 24(16MB)?
Can I use SPT to output 16 MB data?