Ethernet Lib: ET_ECALL and TSN

If you have a simple question and just want an answer.
Post Reply
User avatar
Sebastian
Active Member
Posts: 39
Joined: Wed Jul 20, 2016 9:15 am

Ethernet Lib: ET_ECALL and TSN

Post by Sebastian »

Hi guys,

maybe some one could help me.

I got an exeption: ET_ECALL.
CONNECTING Listener sink #0 -> Talker stream A860B6384C4D0041, DA: 91:E0:F0:0:56:D3
Update AVB: Listener sink #0 chan map:
0 -> 0
1 -> 1
2 -> 2
3 -> 3
4 -> 4
5 -> 5
MSRP: Register attach request A860B638:4C4D0041
Added stream:
ID: A860B6384C4D0041
MVRP: Joined VID 2
Added stream:
ID: A860B6384C4D0041
DA:91:E0:F0:0:56:D3:
max size: 832
interval: 1
xrun: Program received signal ET_ECALL, In file included from /Users/maik/Xmos/xmos_firmware/lib_tsn/lib_tsn/src/1722/avb_1722_listener.xc:11:
In file included from /Users/maik/Xmos/xmos_firmware/lib_tsn/lib_tsn/src/1722/avb_1722_listener.h:15:
In file included from /Users/maik/Xmos/xmos_firmware/lib_tsn/lib_tsn/api/gptp.h:6:
/Users/maik/Xmos/xmos_firmware/lib_ethernet/lib_ethernet/api/ethernet.h:345:27: error: array argument has fewer elements than parameter type
sin_char_array(c_rx_hp, packet, len1);
^~~~~~
.
[Switching to tile[1] core[3] (dual issue)]
ethernet_receive_hp_packet (packet_info=@0x0, c_rx_hp=2148597762) at /Users/maik/Xmos/xmos_firmware/lib_tsn/lib_tsn/src/1722/avb_1722_listener.xc:252
252 case ethernet_receive_hp_packet(c_eth_rx_hp, &(rxbuf, unsigned char[])[2], packet_info):
The exception occours when I try to connecto to an Mac Mini (10.12.6) (AVB Audio configuration: 64 in, 64 out, 8ch streams)

Hardware:
Custom Board with: XEF232-1024-F374
lib_ethernet(3.3.1)
lib_tsn(8.0.0)
lib_xtcp(6.0.0)
lib_i2s(2.3.0)

i2s and avb samplerate is 192000Hz.



1) Is it possible to reboot the device, if an exception occours?
May be some link, the only one I have found is that one:
http://www.xcore.com/viewtopic.php?t=626

2) How could I protect the lib_ethernet?


Thank you very much in advance for your answer,
Sebastian


User avatar
andrewxcav
Active Member
Posts: 62
Joined: Wed Feb 17, 2016 5:10 pm
Contact:

Post by andrewxcav »

It looks like there is a disagreement in the size of "packet."

Code: Select all

/Users/maik/Xmos/xmos_firmware/lib_ethernet/lib_ethernet/api/ethernet.h:345:27: error: array argument has fewer elements than parameter type
sin_char_array(c_rx_hp, packet, len1);
^~~~~~
you may want to put in some checks higher up in your application to make sure that things are the size that you expect. lib_xassert is really nice for this:

Code: Select all

xassert(condition you expect to be true);
User avatar
Sebastian
Active Member
Posts: 39
Joined: Wed Jul 20, 2016 9:15 am

Post by Sebastian »

Hello Andrew,

thank you for your answer.
I will try to looking deeper into lib_xassert.


But on the other side. Have you an idea to position 1).
I have read, that it is possible, to reboot the processor if an exception occours.
My custom board has an hw-watchdog on tile[2] for some safety features.
But the problem with the exeption is, that only the core stops, where the execption happens.
So for me, it would be the best, that all cores would stop. In that way the HW-Watchdog could
reboot the processor.


Sebastian
Post Reply