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.

EMAC with SYS/BIOS and signal processing on EVM6678L problem

Other Parts Discussed in Thread: SYSBIOS

Hi, all!

I have a program used to process digital signal based EVM6678L, the main signal processing functions are installed on Core1~Core5, while the Core0 is used for a network with SYS/BIOS(the routine is TI 6678 client example). When I debug the multicore program, some strange phenomenon appears:

(a) First of all, I run the SYS/BIOS Core0, the CCS console shows the right info:

               [C66xx_0] Initialize main PLL = x10/1
               [C66xx_0] Initialize DDR PLL = x20/1
               [C66xx_0] configure DDR at 666 MHz
               [C66xx_1] Initialize main PLL = x10/1
               [C66xx_1] Initialize DDR PLL = x20/1
               [C66xx_1] configure DDR at 666 MHz
               [C66xx_0] QMSS successfully initialized
               [C66xx_0] CPPI successfully initialized
               [C66xx_0] PA successfully initialized
               [C66xx_0]
               [C66xx_0] TCP/IP Stack Example Client
               [C66xx_0] PASS successfully initialized
               [C66xx_0] Ethernet subsystem successfully initialized
               [C66xx_0] Ethernet eventId : 48 and vectId (Interrupt) : 7
               [C66xx_0] Registration of the EMAC Successful, waiting for link up ..
               [C66xx_0] Network Added: If-1:192.168.2.100

(2) Then, I run the Core1(compute some data and transmit data to SPI by EDMA in  a infinite loop) for signal processing,the console gives the following info:

              [C66xx_1] ti.sysbios.heaps.HeapMem: line 294: out of memory: handle=0x80e24b00, size=19
              [C66xx_1] ti.sysbios.heaps.HeapMem: line 294: out of memory: handle=0x80e24b00, size=18
              [C66xx_1] ti.sysbios.heaps.HeapMem: line 294: out of memory: handle=0x80e24b00, size=19
              [C66xx_1] ti.sysbios.heaps.HeapMem: line 294: out of memory: handle=0x80e24b00, size=18
              [C66xx_1] ti.sysbios.heaps.HeapMem: line 294: out of memory: handle=0x80e24b00, size=24
              [C66xx_1] ti.sysbios.heaps.HeapMem: line 294: out of memory: handle=0x80e24b00, size=24
              [C66xx_1] ti.sysbios.heaps.HeapMem: line 294: out of memory: handle=0x80e24b00, size=200

(3) At this time, the client seems works normally, and the Core1 is correct, too.

(4) When the Core1 movs to fourth loop, the Core1 and Core0 are all blocked, the console gives the following info:

             [C66xx_0] 00348.743 mmAlloc: PIT Used Sync
             [C66xx_0] 00348.744 LLINew: OOM

So, What is the issue that blocks the cores and how to fix the heap memory-out, I have tried to increase the heap memory, but it doesn't work.

My CCS is 5.2.1, and my MCSDK is 2_00_06_18, BIOS is 6_33_02_31.

Kaka,

2013/6/28

  • Kaka:

    I will look into this for you.  In the meantime could you do the following:

    - Update your MCSDK and BIOS to the latest versions (yours are a bit old)

    - Attach the complete build log for your project (after updating MCSDK and BIOS)

    - If possible, attach your code.  Even a stripped down version demonstrating the same issue would be great.  It would make it much easier to troubleshoot on my end.

    Thanks,

    John Demery