This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
We are using the official software version v00.04.00, and the configuration in the HCG is as follows:
1、Pin Muxing
2、Input Pin Muxing
3、Special Pin Muxing
4、EMAC Configuration
5、VIM Channel 64-95
6、VIM RAM
7、GCM
8、PLL
May I ask if there are any errors in the configuration on the HCG?
My modifications in project v00.04.00 are as follows:
1、The modifications to the function EMAC_LwIP_Main are as follows:
void EMAC_LwIP_Main (uint8_t * macAddress) { unsigned int ipAddr; uint8_t testChar; struct in_addr devIPAddress; //iommUnlock(); //iommMuxEnableMdio(); //iommMuxEnableMii(); //iommLock(); // sciInit(); /* Enable the interrupt generation in CPSR register */ IntMasterIRQEnable(); _enable_FIQ(); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); sciDisplayText(sciREGx, txtTitle, sizeof(txtTitle)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); sciDisplayText(sciREGx, txtTI, sizeof(txtTI)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); #ifdef __little_endian__ sciDisplayText(sciREGx, txtLittleEndian, sizeof(txtLittleEndian)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); #else sciDisplayText(sciREGx, txtBigEndian, sizeof(txtBigEndian)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); #endif /* Initialze the lwIP library, using DHCP.*/ sciDisplayText(sciREGx, txtEnetInit, sizeof(txtEnetInit)); // ipAddr = lwIPInit(0, macAddress, 0, 0, 0, IPADDR_USE_DHCP); /* Uncomment the following if you'd like to assign a static IP address. Change address as required, and uncomment the previous statement. */ uint8 ip_addr[4] = { 192, 168, 2, 44 }; uint8 netmask[4] = { 255, 255, 255, 0 }; uint8 gateway[4] = { 192, 168, 2, 254 }; ipAddr = lwIPInit(0, macAddress, *((uint32_t *)ip_addr), *((uint32_t *)netmask), *((uint32_t *)gateway), IPADDR_USE_STATIC); sciDisplayText(sciREGx, (uint8_t*)"..DONE", sizeof("..DONE")); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); if (0 == ipAddr) { sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); sciDisplayText(sciREGx, txtErrorInit, sizeof(txtErrorInit)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); } else { /* Convert IP Address to string */ devIPAddress.s_addr = ipAddr; txtIPAddrItoA = (uint8_t *)inet_ntoa(devIPAddress); LocatorConfig(macAddress, "HDK enet_lwip"); /* Initialize the sample httpd server. */ sciDisplayText(sciREGx, (uint8_t*)"Starting Web Server", sizeof("Starting Web Server")); // httpd_init(); sciDisplayText(sciREGx, (uint8_t*)"..DONE", sizeof("..DONE")); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); /* Loop forever. All the work is done in interrupt handlers. */ while(1) { sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); sciDisplayText(sciREGx, txtTitle, sizeof(txtTitle)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); sciDisplayText(sciREGx, txtTI, sizeof(txtTI)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); #ifdef __little_endian__ sciDisplayText(sciREGx, txtLittleEndian, sizeof(txtLittleEndian)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); #else sciDisplayText(sciREGx, txtBigEndian, sizeof(txtBigEndian)); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); #endif sciDisplayText(sciREGx, txtIPAddrTxt, sizeof(txtIPAddrTxt)); sciDisplayText(sciREGx, txtIPAddrItoA, 16); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); sciDisplayText(sciREGx, txtNote1, sizeof(txtNote1)); sciDisplayText(sciREGx, txtIPAddrItoA, 16); sciDisplayText(sciREGx, txtCRLF, sizeof(txtCRLF)); /* Before printing the next set, wait for a character on the terminal */ // sciReceive(sciREGx, 1, &testChar); } } }
2、The modifications to the function sciDisplayText are as follows:
void sciDisplayText(sciBASE_t *sci, uint8_t *text,uint32_t length) { // while(length--) // { // while ((sci->FLR & 0x4) == 4); /* wait until busy */ // sciSendByte(sci,*text++); /* send out text */ // }; }
3、The modifications in lwiplib.h are as follows:
#define IPADDR_USE_STATIC 1 #define IPADDR_USE_DHCP 0 #define IPADDR_USE_AUTOIP 0
4、The modifications in lwipopts.h are as follows:
#define LWIP_DHCP 0
My Ethernet configuration on the computer host side is as follows:
IP:192.168.2.43
NETMASK:255.255.255.0
GATEWAY:192.168.2.254
Despite attempting to ping our custom hardware from the computer host, I am unable to establish a successful connection. I cannot identify the cause of the issue.
Hi,
Could you please post your issue to E2E English forum directly:
The relevant R&D / Application engineer will support you directly. The issue will be better solved.
Thanks~