If((pObj->IO.GetTick() - tickstart) IO.ReadReg(pObj->DevAddr, LAN8742_BCR, ®value) IO. * wait until software reset is done or timeout occurred */ If(pObj->IO.ReadReg(pObj->DevAddr, LAN8742_BCR, ®value) >= 0) * Get the device address from special mode register */įor(addr = 0 addr IO.ReadReg(addr, LAN8742_SMR, ®value) DevAddr = addr STM32 microcontroller in LQFP144 package 3x user LEDs 2x user and reset push-buttons 32. STM32 Nucleo-64 development board with STM32H503RB MCU. STM32 Nucleo-144 development board with STM32H563ZI MCU. PObj->DevAddr = LAN8742_MAX_DEV_ADDR + 1 First STM32 MCU with a trusted execution environment (TEE), called the Secure Manager. Uint32_t tickstart = 0, regvalue = 0, addr = 0 The STM32H7 Nucleo-144 boards based on the MB1364 reference board (NUCLEO. So that function looks like: // Used in ethernetif.c, 363, static void low_level_init(struct netif *netif) Nucleo-144 Board (Top View) Introduction. PObj->IO.WriteReg(pObj->DevAddr, LAN8742_BCR, LAN8742_BCR_AUTONEGO_EN) In the file lan8742.c (driver), I added an extra line for the LAN8742_Init function, around line 190, to set auto-negotiation: // Link did not come up after HW reset. The HAL_Delay mentioned may not be required, though. On this page you will find good information: You may likely need to change your linker script. The default Ethernet GPIOs speed may be too low. You may need to adjust the tour stack/heap size. Memory buffers need to be assigned to RAM that can be accessed by the Ethernet Information about this issue can be found here. This will probably help you (it did for me):
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |