cancel
Showing results for 
Search instead for 
Did you mean: 

STM32Cube FW_F2 V1.9.0: Ethernet MAC init bug?

MX_Master
Associate II

Hey. Just found a possible bug here

static void MX_ETH_Init(void)
{
 
  /* USER CODE BEGIN ETH_Init 0 */
 
  /* USER CODE END ETH_Init 0 */
 
  /* USER CODE BEGIN ETH_Init 1 */
 
  /* USER CODE END ETH_Init 1 */
  heth.Instance = ETH;
  heth.Init.AutoNegotiation = ETH_AUTONEGOTIATION_ENABLE;
  heth.Init.PhyAddress = DP83848_PHY_ADDRESS;
  heth.Init.MACAddr[0] =   0x00;
  heth.Init.MACAddr[1] =   0x80;
  heth.Init.MACAddr[2] =   0xE1;
  heth.Init.MACAddr[3] =   0x00;
  heth.Init.MACAddr[4] =   0x00;
  heth.Init.MACAddr[5] =   0x00;
  heth.Init.RxMode = ETH_RXINTERRUPT_MODE;
  heth.Init.ChecksumMode = ETH_CHECKSUM_BY_HARDWARE;
  heth.Init.MediaInterface = ETH_MEDIA_INTERFACE_RMII;
 
  /* USER CODE BEGIN MACADDRESS */
    
  /* USER CODE END MACADDRESS */
 
  if (HAL_ETH_Init(&heth) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN ETH_Init 2 */
 
  /* USER CODE END ETH_Init 2 */
 
}

I think it will be better to add something like this

  uint8_t MAC[6];
  heth.Init.MACAddr = MAC;

before any initialization. Am I right?

0 REPLIES 0