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.

TMS320C6672: Using ti.sysbios.family.c64p.Hwi together with ethernet udp.

Part Number: TMS320C6672
Other Parts Discussed in Thread: SYSBIOS

Hello,

 

We are working on udp  on ethernet link and we see following behaviour:

-Everything seems to go OK as long as we have small packet to send smaller than 1400 Bytes

-From the moment we have to send larger packets (multiply time 1400 Bytes after each other) we are in    trouble only in case we have enabled some other sampling (based on high rate interrupt ) routine enabled.

-This sampling routine (the interrupts works fine) on his own.

With in trouble I mean the system crashes after some time. After some debugging I remember we enabled ti.sysbios.family.c64p.Hwi instead of the standard hwi module.

This in order to be able to mask interrupt. However we stay for ethernet with the example provided by TI.

Then I did some research on the internet and came across following topic:

https://e2e.ti.com/support/embedded/tirtos/f/355/p/503663/1829170#

which seems for me on a first glance the same problem.

Is following true? By using maskable interrupt you missing events coming from the ethernet device. This need to be catched in some way?

Is it possible to use the  ti.sysbios.family.c64p together with ethernet udp?

Best regards.

  • Hi,

    I've notified the sw team. Their feedback will be posted here.

    Best Regards,
    Yordan
  • Hi,

    I looked at our NIMU example which uses NDK for UDP transfer, \pdk_c667x_2_0_x\packages\ti\transport\ndk\nimu\example\helloWorld\c6678\c66\bios\helloworld.cfg

    var Hwi = xdc.useModule ('ti.sysbios.hal.Hwi');
    var Ecm = xdc.useModule ('ti.sysbios.family.c64p.EventCombiner');

    We have test of large (1514 bytes) packets and didn't get crash, can you check that?

    Regards, Eric
  • we are not using 

    var Hwi = xdc.useModule ('ti.sysbios.hal.Hwi'); 

    instead we are using:

    var ti_sysbios_family_c64p_Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
    var EventCombiner = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');

    Can i check:

    Shore, but in the past(I can double check with our soft today eventually monday) we have used  xdc.useModule ('ti.sysbios.hal.Hwi');  so I know this is working however now we switch to ti_sysbios_family_c64p_Hwi and see the problem.

    We are working most time with big packet around 8028 bytes in parts of 1400 we are wondering if calling  sendto in case interupted by an other interupt still will produce the right output?

  • Hi,

    You knew that xdc.useModule ('ti.sysbios.hal.Hwi') is working, why you switch to ti_sysbios_family_c64p_Hwi on C66x device?

    For jumbo packet we have an wiki: processors.wiki.ti.com/.../Enabling_Jumbo_Packet_Support_for_C6678

    Regards, Eric
  • I tested it today again with the 'ti.sysbios.hal.Hwi' after also finding some other stupid mistake it works.

    However we have more than one interrupt and the other should be able to mask that is the reason we switch to 

    ti.sysbios.family.c64p.Hwi.