FlexSPI IP Command Read Transfer Size Limit

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

FlexSPI IP Command Read Transfer Size Limit

356件の閲覧回数
kvsh
Contributor I
I am reading 256 bytes using a FlexSPI IP command DMA read on an RT1050 custom board. The first 128 bytes are correct, but the second 128 bytes repeat the first 128 bytes. Is it correct that it is not possible to read more than the RX FIFO size in one IP command read transfer, and that I need to use an AHB read instead?
Code is below.

 

AT_NONCACHEABLE_SECTION_ALIGN(uint32_t destAddr[256], 8);

 

edma_handle_t txEdmaHandle, rxEdmaHandle;

flexspi_edma_handle_t flexspiEdmaHandle;

 

#define FLEXSPI_DMA_TX_CHANNEL 1

#define FLEXSPI_DMA_RX_CHANNEL 0

#define NUM_BYTES_RX 256

 

edma_config_t userConfig;

DMAMUX_Init(EXAMPLE_DMAMUX);

DMAMUX_EnableAlwaysOn(EXAMPLE_DMAMUX, 0, true);

DMAMUX_EnableChannel(EXAMPLE_DMAMUX, 0);

 

EDMA_GetDefaultConfig(&userConfig);

EDMA_Init(EXAMPLE_DMA, &userConfig);

 

EDMA_CreateHandle(&rxEdmaHandle, EXAMPLE_DMA, FLEXSPI_DMA_RX_CHANNEL);

EDMA_CreateHandle(&txEdmaHandle, EXAMPLE_DMA, FLEXSPI_DMA_TX_CHANNEL);

 

FLEXSPI_TransferCreateHandleEDMA(EXAMPLE_FLEXSPI,

&flexspiEdmaHandle,

EDMA_Callback,

NULL,

&txEdmaHandle,

&rxEdmaHandle);

 

// tried different sizes, no success

flexspiEdmaHandle.nsize = kFLEXPSI_EDMAnSize8Bytes; //kFLEXPSI_EDMAnSize1Bytes;

 

flexspi_transfer_t xfer = {

.port = FLASH_PORT,

.cmdType = kFLEXSPI_Read,

.seqIndex = 0,

.SeqNumber = 1,

.deviceAddress= 0,

.data = destAddr,

.dataSize = NUM_BYTES_RX

};

 

status_t st = FLEXSPI_TransferEDMA(EXAMPLE_FLEXSPI, &flexspiEdmaHandle, &xfer);

 
 
0 件の賞賛
返信
1 返信

315件の閲覧回数
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @kvsh ,

Thanks for your interest in NXP MIMXRT series!

128 bytes is only the capacity of the IP RX FIFO; it is not the total transfer limit for the IP command read. Please refer to `evkmimxrt1170_flexspi_nor_edma_transfer_cm7` in the RT1170-EVK SDK. Thanks!

Best regards,
Gavin

 

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2339359%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EFlexSPI%20IP%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E8%BB%A2%E9%80%81%E3%82%B5%E3%82%A4%E3%82%BA%E5%88%B6%E9%99%90%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2339359%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CDIV%3ERT1050%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%9C%E3%83%BC%E3%83%89%E4%B8%8A%E3%81%A7%E3%80%81FlexSPI%20IP%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89DMA%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6256%E3%83%90%E3%82%A4%E3%83%88%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E6%9C%80%E5%88%9D%E3%81%AE128%E3%83%90%E3%82%A4%E3%83%88%E3%81%AF%E6%AD%A3%E3%81%97%E3%81%84%E3%81%8C%E3%80%81%E6%AC%A1%E3%81%AE128%E3%83%90%E3%82%A4%E3%83%88%E3%81%AF%E6%9C%80%E5%88%9D%E3%81%AE128%E3%83%90%E3%82%A4%E3%83%88%E3%82%92%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%80%821%E5%9B%9E%E3%81%AEIP%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E8%BB%A2%E9%80%81%E3%81%A7RX%20FIFO%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E8%B6%85%E3%81%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%ABAHB%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%80%81%E3%81%A8%E3%81%84%E3%81%86%E7%90%86%E8%A7%A3%E3%81%A7%E5%90%88%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3EAT_NONCACHEABLE_SECTION_ALIGN(%3C%2FSPAN%3E%20%3CSPAN%3Euint32_t%3C%2FSPAN%3E%20%3CSPAN%3EdestAddr%5B256%5D%2C%208)%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3Eedma_handle_t%3C%2FSPAN%3E%20%3CSPAN%3EtxEdmaHandle%E3%80%81rxEdmaHandle%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Eflexspi_edma_handle_t%3C%2FSPAN%3E%20%3CSPAN%3EflexspiEdmaHandle%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3EFLEXSPI_DMA_TX_CHANNEL%201%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3EFLEXSPI_DMA_RX_CHANNEL%200%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%23define%20NUM_BYTES_RX%20256%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3Eedma_config_t%3C%2FSPAN%3E%20%3CSPAN%3EuserConfig%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EDMAMUX_Init(EXAMPLE_DMAMUX)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EDMAMUX_EnableAlwaysOn(EXAMPLE_DMAMUX%2C%200%2C%20true)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EDMAMUX_EnableChannel(EXAMPLE_DMAMUX%2C%200)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3EEDMA_GetDefaultConfig(%26amp%3BuserConfig)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EEDMA_Init(EXAMPLE_DMA%2C%20%26amp%3BuserConfig)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3EEDMA_CreateHandle(%26amp%3BrxEdmaHandle%2C%20EXAMPLE_DMA%2C%20FLEXSPI_DMA_RX_CHANNEL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EEDMA_CreateHandle(%26amp%3BtxEdmaHandle%2C%20EXAMPLE_DMA%2C%20FLEXSPI_DMA_TX_CHANNEL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3EFLEXSPI_TransferCreateHandleEDMA(EXAMPLE_FLEXSPI%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26amp%3BflexspiEdmaHandle%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EEDMA_%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ENULL%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26amp%3BtxEdmaHandle%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26amp%3BrxEdmaHandle)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%2F%2F%20%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E8%A9%A6%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%3C%2FP%3E%3CP%3E%3CSPAN%3EflexspiEdmaHandle.nsize%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3EkFLEXPSI_EDMAnSize8Bytes%3C%2FSPAN%3E%20%3CSPAN%3E%3B%3C%2FSPAN%3E%20%3CSPAN%3E%2F%2FkFLEXPSI_EDMAnSize1Bytes%3C%2FSPAN%3E%20%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3Eflexspi_transfer_t%3C%2FSPAN%3E%20%3CSPAN%3Exfer%20%3D%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E.port%20%3D%20FLASH_PORT%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E.cmdType%20%3D%3C%2FSPAN%3E%20%3CSPAN%3EkFLEXSPI_Read%3C%2FSPAN%3E%20%3CSPAN%3E%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E.seqIndex%20%3D%200%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E.SeqNumber%20%3D%201%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E.deviceAddress%3D%200%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E.data%20%3D%20destAddr%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E.dataSize%20%3D%20NUM_BYTES_RX%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3Estatus_t%3C%2FSPAN%3E%20%3CSPAN%3Est%20%3D%20FLEXSPI_TransferEDMA(EXAMPLE_FLEXSPI%2C%20%26amp%3BflexspiEdmaHandle%2C%20%26amp%3Bxfer)%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2339968%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20FlexSPI%20IP%20Command%20Read%20Transfer%20Size%20Limit%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2339968%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F261016%22%20target%3D%22_blank%22%3E%40kvsh%20%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%82%3C%2FP%3E%0A%3CP%3ENXP%20MIMXRT%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E3%81%AB%E3%81%94%E9%96%A2%E5%BF%83%E3%82%92%E3%81%8A%E5%AF%84%E3%81%9B%E3%81%84%E3%81%9F%E3%81%A0%E3%81%8D%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%EF%BC%81%3C%2FP%3E%0A%3CP%3E128%E3%83%90%E3%82%A4%E3%83%88%E3%81%AFIP%20RX%20FIFO%E3%81%AE%E5%AE%B9%E9%87%8F%E3%81%AB%E9%81%8E%E3%81%8E%E3%81%9A%E3%80%81IP%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%81%AE%E5%90%88%E8%A8%88%E8%BB%A2%E9%80%81%E5%88%B6%E9%99%90%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82RT1170-EVK%20SDK%20%E3%81%AE%20%60evkmimxrt1170_flexspi_nor_edma_transfer_cm7%60%20%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%81%3CBR%20%2F%3E%E3%82%AE%E3%83%A3%E3%83%93%E3%83%B3%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E