我们使用的是官方软件版本 v00.04.00、HCG 中的配置如下:
1、引脚多路复用







2、输入引脚多路复用

3、特殊引脚多路复用

4 μ A EMAC、

5、VIM 通道64-95

6、VIM RAM

7、GCM

8、PLL

我是否可以问、HCG 的配置是否有任何错误?
我在项目 v00.04.00中的修改如下:
1、对函数 EMAC_LwIP_Main 的修改如下:
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、对函数 sciDisplayText 的修改如下:
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、lwiplib.h 中的修改如下:
#define IPADDR_USE_STATIC 1 #define IPADDR_USE_DHCP 0 #define IPADDR_USE_AUTOIP 0
4、 lwipopts.h 中的修改如下:
#define LWIP_DHCP 0
我在计算机主机端的以太网配置如下:
IP:192.168.2.43
网络掩码:255.255.255.0
网关:192.168.2.254
尽管尝试从计算机主机 ping 我们的自定义硬件、但我无法成功建立连接。 我无法确定问题的原因。
