Page 2 of 2
Re: LAN8710A + XE216, Can not get RX work
Posted: Mon Mar 06, 2017 9:33 pm
by Niels Braspenning
Hi,
It working,
i'm a lite bit shamed, some pins of the xmos rxd 0 and rx1 where loose. thanks for your fast response
i'm able to ping the device (ported version of AN00120), however when i try my version of AN00121 is crashes with
xrun: Program received signal ET_LOAD_STORE, Memory access exception.
[Switching to tile[0] core[2]]
0x00045a6e in mii_client_user (this=@0x7fb9c, base=506784, end=507000, c_notifications=2147616514) at /Users/nielsbraspenning/Documents/handshake/Firmware/xmos/lib_ethernet/src/mii_lite_driver.xc:348
348 void mii_client_user(struct mii_lite_data_t &this, int base, int end, chanend c_notifications) {
Re: LAN8710A + XE216, Can not get RX work
Posted: Mon Mar 06, 2017 10:11 pm
by mon2
i'm a lite bit shamed, some pins of the xmos rxd 0 and rx1 where loose. thanks for your fast response
Don't be - the custom design is starting to work !! That is all that matters.
xrun: Program received signal ET_LOAD_STORE, Memory access exception.
[Switching to tile[0] core[2]]
0x00045a6e in mii_client_user (this=@0x7fb9c, base=506784, end=507000, c_notifications=2147616514) at /Users/nielsbraspenning/Documents/handshake/Firmware/xmos/lib_ethernet/src/mii_lite_driver.xc:348
348 void mii_client_user(struct mii_lite_data_t &this, int base, int end, chanend c_notifications) {
sounds like you are out of bounds on a memory access but need more details.
Re: LAN8710A + XE216, Can not get RX work
Posted: Tue Mar 07, 2017 9:20 pm
by Niels Braspenning
hi,
When i added a i2c master the problem occurs, without the i2c master it functions
Mine par statement
par {
on tile[0] :i2c_master(i2c, 1, p_scl, p_sda, 10);
// on tile[0] :i2c_test(i2c[0]);
// MII/ethernet driver
on tile[0]: mii(i_mii, p_eth_rxclk, p_eth_rxerr, p_eth_rxd, p_eth_rxdv,
p_eth_txclk, p_eth_txen, p_eth_txd, p_eth_timing,
eth_rxclk, eth_txclk, XTCP_MII_BUFSIZE);
// SMI/ethernet phy driver
on tile[0]: smi(i_smi, p_smi_mdio, p_smi_mdc);
// TCP component
on tile[0]: xtcp(c_xtcp, 1, i_mii,
null, null, null,
i_smi, ETHERNET_SMI_PHY_ADDRESS,
null, otp_ports, ipconfig);
// The simple udp reflector thread
on tile[0]: udp_reflect(c_xtcp[0]);
}
return 0;
}
Re: LAN8710A + XE216, Can not get RX work
Posted: Tue Mar 07, 2017 9:27 pm
by Niels Braspenning
And the usage of the executable
Re: LAN8710A + XE216, Can not get RX work
Posted: Tue Mar 07, 2017 9:37 pm
by mon2
So the following works ?
par {
////on tile[0] :i2c_master(i2c, 1, p_scl, p_sda, 10); // if you comment this out - the Ethernet TX & RX work fine ?? else the memory ET phone home error ?
// on tile[0] :i2c_test(i2c[0]);
// MII/ethernet driver
on tile[0]: mii(i_mii, p_eth_rxclk, p_eth_rxerr, p_eth_rxd, p_eth_rxdv,
p_eth_txclk, p_eth_txen, p_eth_txd, p_eth_timing,
eth_rxclk, eth_txclk, XTCP_MII_BUFSIZE);
// SMI/ethernet phy driver
on tile[0]: smi(i_smi, p_smi_mdio, p_smi_mdc);
// TCP component
on tile[0]: xtcp(c_xtcp, 1, i_mii,
null, null, null,
i_smi, ETHERNET_SMI_PHY_ADDRESS,
null, otp_ports, ipconfig);
// The simple udp reflector thread
on tile[0]: udp_reflect(c_xtcp[0]);
}
return 0;
}
Can you post your I2C routine which is being called and raising the ET_LOAD_STORE error ?
Re: LAN8710A + XE216, Can not get RX work
Posted: Tue Mar 07, 2017 11:14 pm
by Niels Braspenning
Indeed, this is working.
the routine which is called, on tile[0] :i2c_master(i2c, 1, p_scl, p_sda, 10);
is in the xmos i2c library.
the on tile[0] :i2c_test(i2c[0]) , is my routine, however i commented this out in both cases