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.

Concerto - running IPC MessageQ example

Guru 10750 points

Hi,

I'm trying to run the IPC F28M35x MessageQ example with not too much success, I'm using CCSv5.1 IPC 1,24.0.16, XDC 3.22.4.46 and SYS/BIOS 6.32.5.54, I defined two projects one for the M3 and one for the C28 than I connected to the F28M35xx controlCARD to both M3 and C28, when I downloaded the code to the C28 or the M3 it starts flashing the code and than it never halts, is this the correct way to run the example? is there a need to change any switches on the board? SW7 is set to all 1 - Boot from M3 flash,

Many thanks,

HR

  • Hi,

    Any idea/help with the issue?

    Thanks,

    HR

  • Hi,

    I've the same problem. It seems to be that the IpcMgr is not able to synchronize. The C28 is waiting in IpcMgr.c line 144

    /* wait for M3 state to be init */

    while (*startReadAddr != SYNCINIT);

    The C28 is waiting in IpcMgr.c line 197

       

    /* wait for C28 state to be sync start */

    while (*startReadAddr != SYNCSTART);

     

    Any Idea why this happens?

     

    Greets
    Tobi

  • Hi All,

    OK, I could run the example one time but most of the time I'm getting exceptions on the M3 (below), what could be the reason,

    [Cortex_M3_0] Start the main loop
    [Cortex_M3_0] Sending a message #1 to C28_queue
    [Cortex_M3_0] ti.sysbios.family.arm.m3.Hwi: line 801: E_hardFault: FORCED
    [Cortex_M3_0] ti.sysbios.family.arm.m3.Hwi: line 846: E_memFault: IACCVIOL
    [Cortex_M3_0] Exception occurred in background thread.
    [Cortex_M3_0] Exception occurred in ThreadType_Task.
    [Cortex_M3_0] Task handle: 0x200039d4.
    [Cortex_M3_0] Task stack base: 0x20000240.
    [Cortex_M3_0] Task stack size: 0x800.
    [Cortex_M3_0] R0 = 0x00000000 R8 = 0x00000000
    [Cortex_M3_0] R1 = 0x20003cb8 R9 = 0xffffffff
    [Cortex_M3_0] R2 = 0x00206bad R10 = 0xffffffff
    [Cortex_M3_0] R3 = 0xffff0001 R11 = 0xffffffff
    [Cortex_M3_0] R4 = 0x0020d390 R12 = 0x00000000
    [Cortex_M3_0] R5 = 0x20003d4c SP(R13) = 0x20003480
    [Cortex_M3_0] R6 = 0x00000001 LR(R14) = 0x0020a527
    [Cortex_M3_0] R7 = 0x00000020 PC(R15) = 0xfffffffe
    [Cortex_M3_0] PSR = 0x61000000
    [Cortex_M3_0] ICSR = 0x00423803
    [Cortex_M3_0] MMFSR = 0x01
    [Cortex_M3_0] BFSR = 0x00
    [Cortex_M3_0] UFSR = 0x0000
    [Cortex_M3_0] HFSR = 0x40000000
    [Cortex_M3_0] DFSR = 0x00000000
    [Cortex_M3_0] MMAR = 0xe000ed34
    [Cortex_M3_0] BFAR = 0xe000ed38
    [Cortex_M3_0] AFSR = 0x00000000
    [Cortex_M3_0] Terminating execution...

    Thanks,

    HR

  • Hi HR,

    how did you get the example up and running? Could you post some code or setup?

     

    Thanks in advance

    Tobi

  • Hi Tobi,

    What I did was - 

    1. Connect to the M3 & C28

    2. Load the SW to the C28 (Flash) 

    3. Load the SW to M3 (Flash) - This will bring both M3 & C28 to main,

    4. Running C28

    5. Single step the M3, when running the M3 it halts or I'm getting the exception,

    - There could be that you will have to reset both C28 & M3 reload the SW to the C28 and than M3 and repeating step 4. & 5.

    Let me know if this works for you?

    BR,

    HR

  • Hi HR,

    thanks for the response,

     

    I get it running complete today, but it is very strange... Sometimes it runs, sometimes I get the exception, sometimes the board runs crazy and the arm could not run anymore.

     

    To get the example complete running,I do the same as you but in step 4 I run first the M3 and not the C28. After a complete run, I have to reset both CPU to get the example running again.

     

    It would be nice, if someone from TI could say something about it....

     

    Greets
    Tobi

  • Hi Tobi,

    I found a way to have it running, after the first run

    - Stop the C28,

    - CPU Reset to the M3,

    - Reset CPU and reload the C28,

    - System Rest and reload to the M3,

    - Rum the M3,

    - Run the C28,

    I agree with someone from TI saying something....

    BR,

    HR

  • Hi Tobi,

    I still have an issue running the SW the first time, I assume there should be a changes in the GEL file, do you see issue with setting the system for first run?

    Anyone from TI?

    Thanks,

    HR

  • Hi HR,

    no, I don't have problems when I run the software first time, but connect to the target via a Target Configuration. I 've created one for the Concerto and connect via this Configuration. Then i can connect to the arm and dsp without loading the program. When I'm connected to both of them, I start loading the programs. First the ARM then the DSP. After starting both programs it works for me.

    To restart the program I've to reset both CPU's to make the example running again.

    Greets
    Tobi

  • Hi Tobi,

    The issue is that sometime I'm getting an M3 exception on the first time running,

    Thanks,

    HR