M480 BSP V3.05.005
The Board Support Package for M480 Series
Functions | Variables
emac.c File Reference

M480 EMAC driver source file. More...

#include <stdio.h>
#include <string.h>
#include "NuMicro.h"

Go to the source code of this file.

Functions

void EMAC_Open (uint8_t *pu8MacAddr)
 Initialize EMAC interface, including descriptors, MAC address, and PHY. More...
 
int32_t EMAC_Close (void)
 This function stop all receive and transmit activity and disable MAC interface. More...
 
void EMAC_SetMacAddr (uint8_t *pu8MacAddr)
 Set the device MAC address. More...
 
void EMAC_EnableCamEntry (uint32_t u32Entry, uint8_t pu8MacAddr[])
 Fill a CAM entry for MAC address comparison. More...
 
void EMAC_DisableCamEntry (uint32_t u32Entry)
 Disable a specified CAM entry. More...
 
uint32_t EMAC_RecvPkt (uint8_t *pu8Data, uint32_t *pu32Size)
 Receive an Ethernet packet. More...
 
uint32_t EMAC_RecvPktTS (uint8_t *pu8Data, uint32_t *pu32Size, uint32_t *pu32Sec, uint32_t *pu32Nsec)
 Receive an Ethernet packet and the time stamp while it's received. More...
 
void EMAC_RecvPktDone (void)
 Clean up process after a packet is received. More...
 
uint32_t EMAC_SendPkt (uint8_t *pu8Data, uint32_t u32Size)
 Send an Ethernet packet. More...
 
uint32_t EMAC_SendPktDone (void)
 Clean up process after packet(s) are sent. More...
 
uint32_t EMAC_SendPktDoneTS (uint32_t *pu32Sec, uint32_t *pu32Nsec)
 Clean up process after a packet is sent, and get the time stamp while packet is sent. More...
 
void EMAC_EnableTS (uint32_t u32Sec, uint32_t u32Nsec)
 Enable IEEE1588 time stamp function and set current time. More...
 
void EMAC_DisableTS (void)
 Disable IEEE1588 time stamp function. More...
 
void EMAC_GetTime (uint32_t *pu32Sec, uint32_t *pu32Nsec)
 Get current time stamp. More...
 
void EMAC_SetTime (uint32_t u32Sec, uint32_t u32Nsec)
 Set current time stamp. More...
 
void EMAC_EnableAlarm (uint32_t u32Sec, uint32_t u32Nsec)
 Enable alarm function and set alarm time. More...
 
void EMAC_DisableAlarm (void)
 Disable alarm function. More...
 
void EMAC_UpdateTime (uint32_t u32Neg, uint32_t u32Sec, uint32_t u32Nsec)
 Add a offset to current time. More...
 
uint32_t EMAC_CheckLinkStatus (void)
 Check Ethernet link status. More...
 
int32_t EMAC_FillCamEntry (uint8_t pu8MacAddr[])
 Fill a MAC address to list and enable. More...
 
uint32_t EMAC_SendPktWoCopy (uint32_t u32Size)
 Send an Ethernet packet. More...
 
uint8_t * EMAC_ClaimFreeTXBuf (void)
 Get avaiable TX buffer address. More...
 
uint32_t EMAC_GetAvailRXBufSize (void)
 Get data length of avaiable RX buffer. More...
 
void EMAC_RecvPktDoneWoRxTrigger (void)
 Clean up process after a packet is received. More...
 

Variables

int32_t g_EMAC_i32ErrCode = 0
 

Detailed Description

M480 EMAC driver source file.

Version
V1.00

SPDX-License-Identifier: Apache-2.0

Definition in file emac.c.