This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

咨询一下关于DMA的问题

Other Parts Discussed in Thread: CC3200

进行DMA如下配置时,参数UDMA_ARB_8有什么含义?

关于DMA的详细讲解在什么文档里,如UDMASetupTransfer这个函数,没找到相应的说明CC3200-Peripheral_Driver_Library_User's_Guide里也没有

UDMASetupTransfer(UDMA_CH30_GSPI_RX,UDMA_MODE_PINGPONG,TOTAL_DMA_ELEMENTS,
       UDMA_SIZE_8,UDMA_ARB_8,
       (void *)(GSPI_BASE + MCSPI_O_RX0),UDMA_SRC_INC_NONE,
       (void *)&g_Buff, UDMA_DST_INC_8);

  • 可以看一下SDK中的 udma.c/h及udma_if.c/h文件

    void UDMASetupTransfer(unsigned long ulChannel, unsigned long ulMode,

                          unsigned long ulItemCount, unsigned long ulItemSize,

                          unsigned long ulArbSize, void *pvSrcBuf,

                          unsigned long ulSrcInc, void *pvDstBuf, unsigned long ulDstInc);

    580 #define UDMA_CHCTL_ARBSIZE_1    0x00000000  // 1 Transfer

     581 #define UDMA_CHCTL_ARBSIZE_2    0x00004000  // 2 Transfers

     582 #define UDMA_CHCTL_ARBSIZE_4    0x00008000  // 4 Transfers

     583 #define UDMA_CHCTL_ARBSIZE_8    0x0000C000  // 8 Transfers

     584 #define UDMA_CHCTL_ARBSIZE_16   0x00010000  // 16 Transfers

     585 #define UDMA_CHCTL_ARBSIZE_32   0x00014000  // 32 Transfers

     586 #define UDMA_CHCTL_ARBSIZE_64   0x00018000  // 64 Transfers

     587 #define UDMA_CHCTL_ARBSIZE_128  0x0001C000  // 128 Transfers

     588 #define UDMA_CHCTL_ARBSIZE_256  0x00020000  // 256 Transfers

     589 #define UDMA_CHCTL_ARBSIZE_512  0x00024000  // 512 Transfers

     590 #define UDMA_CHCTL_ARBSIZE_1024 0x00028000  // 1024 Transfers

  • 但这个参数具体指什么含义呢?设置UDMA_CHCTL_ARBSIZE_8 与UDMA_CHCTL_ARBSIZE_16的区别在哪里?仲裁什么?
  • The following are defines for the bit fields in the UDMA_O_CHCTL register.
  • 哪个文档里有说明,我手头上两个文档里都找不到:datasheet/cc3200 Technical Reference Manual
  • 这个在上面说的 udma.c/h及udma_if.c/h文件