|
我想问下SYS/BIOS所提供的历程Tcp-Client,中定义的一些驱动函数在哪里调用的?
/****************************************************************************/
/* */
/* 回调函数 EMAC 初始化 */
/* */
/****************************************************************************/
// 这个函数被驱动调用 不要修改函数名
void EMAC_initialize()
{
// 管脚复用配置
// 使能 MII 模式
EMACPinMuxSetup();
}
/****************************************************************************/
/* */
/* 回调函数 获取 MAC 地址 */
/* */
/****************************************************************************/
// 这个函数被驱动调用 不要修改函数名
void EMAC_getConfig(unsigned char *pMacAddr)
{
// 根据芯片 ID 生成 MAC 地址
bMacAddr[0] = 0x00;
bMacAddr[1] = (*(volatile unsigned int *)(0x01C14008) & 0x0000FF00) >> 8;
bMacAddr[2] = (*(volatile unsigned int *)(0x01C14008) & 0x000000FF) >> 0;
bMacAddr[3] = (*(volatile unsigned int *)(0x01C1400C) & 0x0000FF00) >> 8;
bMacAddr[4] = (*(volatile unsigned int *)(0x01C1400C) & 0x000000FF) >> 0;
bMacAddr[5] = (*(volatile unsigned int *)(0x01C14010) & 0x000000FF) >> 0;
UARTprintf("Using MAC Address: %02X-%02X-%02X-%02X-%02X-%02X\n",
bMacAddr[0], bMacAddr[1], bMacAddr[2], bMacAddr[3], bMacAddr[4], bMacAddr[5]);
// 传递 MAC 地址
mmCopy(pMacAddr, bMacAddr, 6);
}
/****************************************************************************/
/* */
/* 回调函数 获取连接状态 */
/* */
/****************************************************************************/
// 这个函数被驱动调用 不要修改函数名
void EMAC_linkStatus(unsigned int phy, unsigned int linkStatus)
{
UARTprintf("Link Status: %s on PHY %d\n",LinkStr[linkStatus],phy);
}
/****************************************************************************/
/* */
/* 回调函数 获取 IP 地址 */
/* */
/****************************************************************************/
void NetGetIPAddr(IPN IPAddr, unsigned int IfIdx, unsigned int fAdd)
{
if(fAdd)
{
UARTprintf("Network Added: ", IfIdx);
}
else
{
UARTprintf("Network Removed: ", IfIdx);
}
char StrIP[16];
NtIPN2Str(IPAddr, StrIP);
UARTprintf("%s\r\n", StrIP);
}
还有,任务虽然在NET.c中创建了,但是并未在主函数中调用,他是如何生效的?
|
|