cancel
Showing results for 
Search instead for 
Did you mean: 

Nucelo STM32F429ZI with 8742A PHY

ronen yacobi
Associate II
Posted on October 10, 2017 at 22:34

Hi,

I am using the latest ST32CubeMx Ver. 4.22.

Creating a new project with the wizard and selecting my target board Nucelo STM32F429ZI.

When selecting the middleware ETH connectivity I have DP8348 as only choice where the board is with PHY from Microchip 8742A. Since the board is not really new I thought this should be known already..

I can see that something with ETH init is to read over the DMA that the PHY has gone through reset which means sending other info then 0x0 I guess

/* Wait for software reset */

while (((heth->Instance)->DMABMR & ETH_DMABMR_SR) != (uint32_t)RESET)

didn't dig into it yet, thought I can ask here before what should be changed to get it working...

2 REPLIES 2
ronen yacobi
Associate II
Posted on October 11, 2017 at 15:16

1. SysTick_Handler call osSystickHandler, but none of them increments

the tick counter. Don't why, I added this at the begining of the

osSysTickHanlder

osSystickHandler

{

    HAL_IncTick();

 -----

}

2. TICK_INT_PRIORITY made the highest since I am calling for HAL_delays

in different tasks.

#define  TICK_INT_PRIORITY            ((uint32_t)0U)   /*!< tick

interrupt priority */    

3. Last... and most important are the corrected settings for the PHY8742A

https://github.com/ronen-yacobi/LwIp_TcpUdp_EchoServer.git

 
Posted on October 11, 2017 at 18:32

Hello!

Try to use R.MII mode.

0690X00000608XZQAY.png

And for the systick , you must avoid to use Systick timer  for HAL when you use also a RTOS.

Use another timer  to avoid theese problems.

The generated code will include HAL_IncTick(); in Timers IRQ handler.

0690X00000608ZiQAI.png

Regards

vf