Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN
I have two LAUNCHXL2-570LC43 launchpads, and I would like to connect them via Ethernet to enable communication between them.
To achieve this, I have code that previously worked flawlessly with the TMS570LC43x Hercules Development Kit (HDK). I've attempted to migrate this code to the new launchpads, but I'm encountering a problem.
In particular, the two boards are connected via a cable between GIOA(0) port and pin 1 of J3, and between GIOA(2) port and pin 3 of J3 respectively. This setup enables the use of a unified codebase, and depending on the GIOA port, it's possible to identify the board and which part of the code is relevant to each board. I've confirmed that the board recognition functions correctly.
However, the issue arises when I utilize EMACHWInit(..); each time, I encounter EMAC_ERR_CONNECT. This error never surfaced with the TMS570LC43x HDK.
The code encounters this error in the function at these points:
if (0U == phyID) {
retVal = EMAC_ERR_CONNECT;
} else {
}
if((uint32)0U == ((MDIOPhyAliveStatusGet(hdkif->mdio_base)
>> hdkif->phy_addr) & (uint32)0x01U )) {
retVal = EMAC_ERR_CONNECT;
} else {
}
if(!PhyLinkStatusGet(hdkif->mdio_base, (uint32)EMAC_PHYADDRESS, (uint32)phyLinkRetries)) {
retVal = EMAC_ERR_CONNECT;
} else {
}
if(EMACLinkSetup(hdkif) != EMAC_ERR_OK) {
retVal = EMAC_ERR_CONNECT;
} else {
}
The two boards are correctly connected with the Ethernet cable.
What should I do?