...
Calling NetIF_Add() Function
If the function doesn't return:
- Verify that your driver Base Address is correct (see section Network Interface Configuration).
- Could also be a problem with your BSP Clock or GPIO configuration (see section Network Board Support Package).
If the target crashes before returning:
- Verify that your driver Base Address is correct (the target should crash in
NetDev_Init()
if the Base Address is incorrect). - Could be a problem in your BSP (the target should crash in
NetDev_Init()
after a BSP call). - Your start task stack size could be insufficient.
If the function returns an error:
Memory related error:
- Increase µC/LIB HEAP size (see section LIB Memory Heap Configuration).
- Or reduce the number of network buffers (see section Network Interface Configuration).
Queue size related error:
- Increase Rx and Tx queue size in
net_cfg.h
(see section Network Stack Configuration).
Driver Configuration error:
- Invalid configuration, arguments or size in the device configuration (see section Network Interface Configuration).
- PHY mode not supported by the board.
Driver Initialization error:
- Invalid configuration, arguments or size in the device configuration (see section Network Interface Configuration).
PHY Invalid Configuration error:
- Invalid speed, duplex mode or address (see section Network Interface Configuration).
PHY Initialization error:
- If the stack is not able to read and write PHY register, the BSP GPIO configuration must be incorrect (see section Network Board Support Package).
- Bad PHY driver.
Other error:
- Refer to
net_err.h
for the error code details.
Calling NetIF_Start() Function
If the function returns an error:
- Refer to net_err.h for the error code details.
If the target crashes before returning:
- Is the BSP ISR Handler reached? If the ISR Handler crashes before completed: Y our ISR handler could perform an invalid operation. You have a CPU, Compiler or Linker configuration issue. Check interrupt vector table location and interrupt configuration.
Is Net_DevRx()
reached?
- If reached : Increase the Rx Task stack size.
- If not reached : There is an issue with the OS task switch.
Does it crash when a context switch occurs?
- A probable stack overflow occurs. Increase the network tasks stack sizes (see section Network Tasks Configuration).
...