I'm working with an SPI FLASH chip that has a page size 256. I noticed that when I call
nrf_drv_spi_transfer(), the rx length of 256 rolls over the uint8_t container and is zero!
Digging deeper, I found that the RX size is used for
nrf_spim_rx_buffer_set(), also taking the argument as uint8_t. This function sets
p_spim->RXD.MAXCNT = length;
MAXCNT is size uint32_t. Is there a reason I shouldn't mess with these sizes?
I'm also thinking I'd need a tx buffer size at least 256 to write a page at a time.