Using LwIP on the STM32H7
Robin Müller
robin.mueller.m at gmail.com
Fri Jan 29 11:01:41 UTC 2021
It probably adds the lwIP sources and builds them.
Right now I am trying to solve an issue with the DMA (hopefully the last
issue), because the following function used by lwIP is not working:
static err_t low_level_output(struct netif *netif, struct pbuf *p)
{
uint32_t i=0, framelen = 0;
struct pbuf *q;
err_t errval = ERR_OK;
ETH_BufferTypeDef Txbuffer[ETH_TX_DESC_CNT];
for(q = p; q != NULL; q = q->next)
{
if(i >= ETH_TX_DESC_CNT)
return ERR_IF;
Txbuffer[i].buffer = q->payload;
Txbuffer[i].len = q->len;
framelen += q->len;
if(i>0)
{
Txbuffer[i-1].next = &Txbuffer[i];
}
if(q->next == NULL)
{
Txbuffer[i].next = NULL;
}
i++;
}
TxConfig.Length = framelen;
TxConfig.TxBuffer = Txbuffer;
HAL_StatusTypeDef ret = HAL_ETH_Transmit(&EthHandle, &TxConfig, 20);
if(ret != HAL_OK) {
printf("low_level_output: Could not transmit ethernet packet, code
%d!\n\r", ret);
}
return errval;
}
The HAL_ETH_Transmit call just times out. If I set the timeout to 20 to
HAL_MAX_DELAY, the function will just block indefinitely.
Does anyone have an idea why this might happen?
Now I have also found this
https://community.st.com/s/article/FAQ-DMA-is-not-working-on-STM32H7-devices
which also
explains some details about the STM32 DMA..
Kind Regards
Robin
On Fri, 29 Jan 2021 at 01:25, Chris Johns <chrisj at rtems.org> wrote:
> On 29/1/21 12:35 am, Robin Müller wrote:
> > Are there any other thinks I need to take into account for making LwIP
> > work with RTEMS?
>
> I have not used LwIP but there is an RSB package ...
>
>
> https://git.rtems.org/rtems-source-builder/tree/rtems/config/net/lwip-1-1.cfg
>
> It has a patch. I have no idea about the state of the patch or what it
> does.
>
> Any updates to LwIP would be welcomed back into the project.
>
> Thanks
> Chris
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20210129/75ea6195/attachment.html>
More information about the users
mailing list