This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SPIS EasyDMA Maximum Count

I am trying to perform a large SPI transfer of 72576-104976 bytes to an nRF52840 SPI slave. I'm running into an error thrown by the SDK indicating that this length is invalid. Looking into the SDK it appears the maximum length of an EasyDMA transfer is 2^16 bytes. I can see from the OPS that the RXD.MAXCNT register only has 16 bits allocated for length. Is this a hard limit? Is there any way to increase this?

If I can not increase this, is there some way I can use the list feature to split up the transaction among different buffers without multiple transactions?

Parents
  • Hi

    I'm sorry, but you can not increase the DMA RX buffer's size, as this number of bits is a set upper limit. In order to send data that exceeds the SPI buffer, I'm afraid you'll have to use multiple transactions to succeed.

    If someone in the community has any clever solutions, they're welcome to come with suggestions, and I'll leave the ticket open in case.

    Best regards,

    Simon

Reply
  • Hi

    I'm sorry, but you can not increase the DMA RX buffer's size, as this number of bits is a set upper limit. In order to send data that exceeds the SPI buffer, I'm afraid you'll have to use multiple transactions to succeed.

    If someone in the community has any clever solutions, they're welcome to come with suggestions, and I'll leave the ticket open in case.

    Best regards,

    Simon

Children
No Data
Related