F29H850TU: Empty Multi-core Example failure

Part Number: F29H850TU

Hello,

I would like to rum 

empty_project_multi_c29x1.c in FLASH configuration with usage CPU1 and CPU3 only. The CPU1 gets stucked  at line
 IPC_sync(IPC_CPU1_L_CPU3_R_CH0, IPC_FLAG31);. 
I have check RSTSTAT register and its value is 0x00000002 at that point. 
 
When I try to connect debugger to CPU3 shortly after its release from reset I am repeatedly getting message:
C29xx_CPU3: Warning: Target CPU may be stuck in a persistent fault state
 
After running the code for a while program crashes and I am unable to even pause CPU1 code execution. 
What could be wrong? Could you please advise how to resolve this issue?

I noticed a strage behaviour when I open main for CPU3 and try to open Board_init() fuction it puts me into board.c of CPU1. 

Jozef
  • Hi Jozef,

    empty_project_multi_c29x1.c in FLASH configuration with usage CPU1 and CPU3 only. The CPU1 gets stucked  at line

    Can you please help describe the steps that you took to load the example after it was built? 

    When I try to connect debugger to CPU3 shortly after its release from reset I am repeatedly getting message:
    C29xx_CPU3: Warning: Target CPU may be stuck in a persistent fault state

    If you check the Error Aggregator Registers, are there any errors being reported?

    What version of the F29x SDK are you using and what hardware platform do you have?

    After running the code for a while program crashes and I am unable to even pause CPU1 code execution. 

    Do you see this behavior every time(ie. have tried this example multiple times and always the same result)?

    What could be wrong? Could you please advise how to resolve this issue?

    I'll need to know the details above to advise on what could be happening as we do check our examples before a software release to ensure proper functionality. 

    Best Regards,

    Marlyn

  • Can you please help describe the steps that you took to load the example after it was built? 

     

    • Target configuration ->  debuger config -> Start Project-less Debug
    • Under Debug view: Threads -> C29xx_CPU1-> Connect Target (CPU1 shows HALTED state)
    • Run->Load->Load program-> multi_c29x1.out
    • F5 to run the code to ESTOP instruction
    • Under Debug view: Threads -> C29xx_CPU3-> Connect Target
    • Run->Load->Load symbols -> multi_c29x3.out
    • Run CPU1, Run CPU3
    • CPU3 falls in reset state and synchronization with CPU1 never happen

       

     If you check the Error Aggregator Registers, are there any errors being reported?

    C29xx_CPU1: Error Aggregator Status :

    C29xx_CPU1: Error Aggregator Status Done

     

    C29xx_CPU1: ESM_CPU1 Status :

    C29xx_CPU1:   All Active/Pending Error Events :

    C29xx_CPU1:   - ESM_EVENT_CPU1_ERAD_NMI

    C29xx_CPU1:   - ESM_EVENT_ESM_CPU1_HIGH_PRIORITY_INT

    C29xx_CPU1:   - ESM_EVENT_CPU3RSn

    C29xx_CPU1:   - ESM_EVENT_CPU3WD

    C29xx_CPU1:   - ESM_EVENT_EPWMXBAR1

    C29xx_CPU1:   Active/Pending and Enabled Error Events :

    C29xx_CPU1: ESM_CPU1 Status Done

     

    C29xx_CPU1: ESM_CPU3 Status :

    C29xx_CPU1:   All Active/Pending Error Events :

    C29xx_CPU1:   Active/Pending and Enabled Error Events :

    C29xx_CPU1: ESM_CPU3 Status Done

     

     

    What version of the F29x SDK are you using and what hardware platform do you have?

     I use SDK 26.01.00 with F29H85X-SOM_EVM. However, I have copied SKD files directly into the project, set include paths and removed SDK dependency. My project does not use CPU2 so I have removed code for CPU2, booting and sync from the main function.


    Do you see this behavior every time(ie. have tried this example multiple times and always the same result)?

    Every time
     

    I'll need to know the details above to advise on what could be happening as we do check our examples before a software release to ensure proper functionality


    Do you think it could be some device-provisioning/singning question?

  • Hi Jozef,

    Please allow me some time to look over your issue as I will be out of office until tomorrow. 

    Kind regards,
    AJ Favela 

  • Hi Jozef,

    Can you confirm that each core's project has its own .syscfg and generated board.c files? That is, there is both a .syscfg and board.c file in the empty_project_multi_c29x3 folder? If there is, can you share what the path for these files is? 

    Kind regards,
    AJ Favela 

  • Hello, 

    I managed to fixed the issue. The problem was missing _FLASH in compilers defines. Therefore there ware taken NMI and RESET vectors from RAM build configuration and caused failure after releasing CPU3 from reset state. 

  • HI Jozef, 

    I am glad your issue was resolved, I will be closing this thread now. 

    Kind regards,

    AJ Favela