Other Parts Discussed in Thread: AM2432
I am working on AM2432 with SDK mcu_plus_sdk_am243x_08_05_00_24 on a custom board
I am trying to fix a problem with a simple TFTP server.
The issue arises from UDP traffic, when the server receives a request on UDP port 69 and it replies to client port from a UDP port different than 69.
The ACK message should include only 4 bytes with ACK opcode and block number 0 but the server will deliver a reply with UDP header correct and with UDP payload only zeros.
I have tested that the pointer to a static buffer passed to lwip_sendto is properly filled.
Digging into the LwIP code I have seen that a pbuf is allocated for my 4 bytes and then another pbuf is allocated and concatenated to add UDP header.
Apparently it seams that DMA is transferring just the pbuf with UDP header, discarding the concatenated pbuf ( I suppose ... ).
This doesn't happend with previous SDKs 08.04.00.17 and 08.03.00.18
The TFTP client I am using is: https://tftpd64.software.informer.com/download/
My example code is posted on github: https://github.com/atessadri/lwip_cpsw_example
Here is the screenshot of the TFTPClient interface where I set the transfer of a plain text file:
Here is wireshark screenshot for the TFTP write request from the TFTP client:
Here is the reply from the boiard to the TFTP client: