Other Parts Discussed in Thread: TMS320C6472, SYSBIOS
Hi,
I am using CCSv4.2.1 with XDC 3.20.8.88, SYSBIOS 6.30.3.46, NDK 2.20.4.26, and IPC 1.21.2.23 for the TMS320C6472 evaluation board.
I have two cores running on the board. One core (core 0) handles all Ethernet communication and routes data as needed to the other core (core 1) via IPC. I split the data routing on core 0 into two Tasks of equal priority as follows:
eth_msg_parse() : Receiving Ethernet packets and sending data to core 1
messageQ_msg_parse() : Receiving MessageQ messages from core 1 and sending out Ethernet packets
I am trying to determine the best priority for these two tasks in relation to the NDK network function, which I have called runNetwork(). runNetwork() is where NC_SystemOpen() and NC_NetStart() are called. A screenshot of my current Task settings from ROV is shown below:

This setup seems like it works alright, but periodically Ethernet communication doesn't work when I reset the DSP. I am wondering if this has to do with the priority of runNetwork() in relation to eth_msg_parse() and messageQ_msg_parse(). If runNetwork() is lower priority than the normal BIOS Tasks, will Ethernet protocols like responding to ping requests be preempted by the Tasks? The main problem I am seeing is that the DSP will stop responding to Ethernet packets altogether at some point. (My main test of whether Ethernet is working or not is just pinging the board to ensure it's still responding.)
So, is there anything wrong with runNetwork() having a priority of '2' when normal BIOS Tasks have higher priority?
Thanks,
Nick