<div dir="ltr"><div><div><div>Alright, I think these descriptors were not initialized inside the functions:<br>ETH_DMATxDescListInit<br>ETH_DMARxDescListInit<br><br>because they are wrapped in preprocessor guards:<br><br>static void ETH_DMATxDescListInit(ETH_HandleTypeDef *heth)<br>{<br>#ifndef __rtems__<br>  ETH_DMADescTypeDef *dmatxdesc;<br>  uint32_t i;<br><br>  /* Fill each DMATxDesc descriptor with the right values */<br>  for(i=0; i < (uint32_t)ETH_TX_DESC_CNT; i++)<br>  {<br>    dmatxdesc = heth->Init.TxDesc + i;<br><br>    WRITE_REG(dmatxdesc->DESC0, 0x0);<br>    WRITE_REG(dmatxdesc->DESC1, 0x0);<br>    WRITE_REG(dmatxdesc->DESC2, 0x0);<br>    WRITE_REG(dmatxdesc->DESC3, 0x0);<br><br>    WRITE_REG(heth->TxDescList.TxDesc[i], (uint32_t)dmatxdesc);<br>  }<br><br>  heth->TxDescList.CurTxDesc = 0;<br><br>  /* Set Transmit Descriptor Ring Length */<br>  WRITE_REG(heth->Instance->DMACTDRLR, (ETH_TX_DESC_CNT -1));<br><br>  /* Set Transmit Descriptor List Address */<br>  WRITE_REG(heth->Instance->DMACTDLAR, (uint32_t) heth->Init.TxDesc);<br><br>  /* Set Transmit Descriptor Tail pointer */<br>  WRITE_REG(heth->Instance->DMACTDTPR, (uint32_t) heth->Init.TxDesc);<br>#endif /* __rtems__ */<br>}<br><br></div>Is there a specific reason the function was excluded?<br><br></div>Kind Regards<br></div>Robin<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 28 Jan 2021 at 16:47, Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 28/01/2021 16:45, Robin Müller wrote:<br>
<br>
>  *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bsp_nocache*)))<br>
>  .bsp_nocache   0x0000000030000000     0x18c0 <br>
> CMakeFiles/fsfw_example.dir/bsp_stm32_rtems/boardconfig/ethernetif.c.obj<br>
>                 0x0000000030000000                DMARxDscrTab<br>
>                 0x0000000030000060                DMATxDscrTab<br>
>                 0x00000000300000c0                Rx_Buff<br>
>                 0x00000000300018c0  bsp_section_nocache_end = .<br>
>                 0x00000000000018c0  bsp_section_nocache_size = <br>
> (bsp_section_nocache_end - bsp_section_nocache_begin)<br>
><br>
> But in the debugger, the descriptor entries are still zeroed out <br>
> unfortunately..<br>
If you place them in BSP_NOCACHENOLOAD_SECTION or <br>
BSP_NOCACHENOLOAD_SUBSECTION(), they are not loaded (zero initialized).<br>
<br>
-- <br>
embedded brains GmbH<br>
Herr Sebastian HUBER<br>
Dornierstr. 4<br>
82178 Puchheim<br>
Germany<br>
email: <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
phone: +49-89-18 94 741 - 16<br>
fax:   +49-89-18 94 741 - 08<br>
<br>
Registergericht: Amtsgericht München<br>
Registernummer: HRB 157899<br>
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler<br>
Unsere Datenschutzerklärung finden Sie hier:<br>
<a href="https://embedded-brains.de/datenschutzerklaerung/" rel="noreferrer" target="_blank">https://embedded-brains.de/datenschutzerklaerung/</a><br>
<br>
</blockquote></div>