Starting a Network Device
NetDev_Start()
is called once each time an interface is started. It performs the following actions:
NetOS_Dev_CfgTxRdySignal()
function to configure the transmit ready semaphore count. This function call is optional and is performed if the hardware device supports queuing multiple transmit frames. By default, the semaphore count is initialized to one. However, DMA devices should set the semaphore count equal to the number of configured transmit descriptors for optimal performance. Non-DMA devices that support queuing more than one transmit frame may also benefit from a non-default value.NetASCII_Str_to_MAC()
and NetIF_AddrHW_SetHandler()
. If the device configuration string has been left empty, or is specified as all 0’s, an error will be returned and the next method should be attempted.NetIF_AddrHW_Set()
by making a call to NetIF_AddrHW_GetHandler()
and NetIF_AddrHW_IsValidHandler()
in order to check if the specified MAC address is valid. This method may be used as a static method for configuring the MAC address during run-time, or a dynamic method should a pre-programmed external memory device exist. If the acquired MAC address does not pass the check function, then:NetIF_AddrHW_SetHandler()
using the data found within the individual MAC address registers. If an auto-loading EEPROM is attached to the MAC, the registers will contain valid data. If not, then a configuration error has occurred. This method is often used with a production process where the MAC supports automatically loading individual address registers from a serial EEPROM. When using this method, you should specify an empty string for the MAC address within the device configuration, and refrain from calling NetIF_AddrHW_Set()
from within the application.NetDev_Init()
function.NET_DEV_ERR_NONE
if no errors have occurred. Otherwise, set perr to an appropriate network device error code