2023-07-24 09:17 AM
Hi,
I have some problems with LwIp on custom board. Cpu type - stm32h723vgh6, ethernet chip - adin1200ccpz.
Phisical layer works fine (link led is up). I've generated cube project with UDP and ICMP support according to recommendations in example project STM32H723_Nucleo_ETH.
CORTEX M7 options
Speculation default mode ENABLE
CPU ICache ENABLE
CPU DCache ENABLE
Cortex memory protection region 1 settings
MPU region ENABLE
MPU region address 0x30000000
MPU region size 32KB
MPU SubRegion disable 0x0
MPU TEX field level level 1
MPU Access Permission ALL ACCESS PERMITTED
MPU Instruction Access DISABLE
MPU Shareability Permission DISABLE
MPU Cacheable Permission DISABLE
MPU Bufferable Permission DISABLE
Cortex memory protection region 2 settings
MPU region ENABLE
MPU region address 0x30000000
MPU region size 512B
MPU SubRegion disable 0x0
MPU TEX field level level 0
MPU Access Permission ALL ACCESS PERMITTED
MPU Instruction Access DISABLE
MPU Shareability Permission ENABLE
MPU Cacheable Permission DISABLE
MPU Bufferable Permission ENABLE
LwIP key options
MEM_SIZE (Heap Memory Size) 32232
LWIP_RAM_HEAP_POINTER (RAM Heap Pointer) 0x30000200
in liker file this part was added
/* ETH_CODE: add placement of DMA descriptors, rest is used by RX_POOL */
.lwip_sec (NOLOAD) :
{
. = ABSOLUTE(0x30000000);
*(.RxDecripSection)
. = ABSOLUTE(0x30000100);
*(.TxDecripSection)
} >RAM_D2
Sources in lan8742.c was modified to make it work with adin1200ccpz. MDIO requests from CPU woks fine. Data on rxd0 and rxd1 present.
Function low_level_input(struct netif *netif) constantly returns structure with tot_len and len fields 0 on any packet.
Ping - destination host unreachable (ICMP support - on).
Can anybody give me advice what to do?
2023-07-24 01:03 PM
Use Wireshark.
2023-07-24 01:45 PM
Are you able to test your code on a standard development board (Nucleo-H723ZG or similar ?) this way you can split hardware causes and PHY causes from others?
2023-07-24 02:48 PM
2023-08-09 04:14 AM
Hi @zemlemer
It is most probably due to incorrect address configuration but we need addition project information to confirm. Can you share at least at least main.c, ethernetif.c and lwipopts.h ?
Otherwise, you could use our application as reference for addresses configurations: https://github.com/STMicroelectronics/STM32CubeH7/tree/master/Projects/NUCLEO-H723ZG/Applications/LwIP/LwIP_HTTP_Server_Socket_RTOS.