DMATxDescToClear is not definied

kat123 wrote on Wednesday, February 28, 2018:

Compiling FreeRTOS and FreeRTOS+TCP with IAR for STM32F4.
I haven’t added in any of my own code yet and I’m using config files from examples provided.

I get an error saying DMATxDescToClear is undefined - where should this be defined?

heinbali01 wrote on Wednesday, February 28, 2018:

You can go either two ways:

Or you define ipconfigZERO_COPY_TX_DRIVER as 1 in your FreeRTOSIPConfig.h, or you disable the #if block here in NetworkInterface.c:

-#if( ipconfigZERO_COPY_TX_DRIVER != 0 )
+#if 1
     /* DMATxDescToClear points to the next TX DMA descriptor
     that must be cleared by vClearTXBuffers(). */
     static __IO ETH_DMADescTypeDef  *DMATxDescToClear;
 #endif

Since the driver became “zero-copy”, we forgot to test it as non-zero-copy.

There is a comment however, that says:

/*
 * Note: it is adviced to define both
 *
 *     #define  ipconfigZERO_COPY_RX_DRIVER   1
 *     #define  ipconfigZERO_COPY_TX_DRIVER   1
 *
 */