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.

F28377D function IPCBootCPU2 in F2837xD_Ipc_Driver_Util.c

Other Parts Discussed in Thread: CONTROLSUITE

Hi all

I did read serveral threads here related to this function, but I did not find the exact answer.

The function IPCBootCPU2() in F2837xD_Ipc_Driver_Util.c contains as last line a seting of 2 IPC flags:

IpcRegs.IPCSET.all = 0x80000001;

If I remove this line, CPU2 seems not to boot. With the line is seems to work. Why? The application on CPU2 (blinky dem as example) does nothing with IPC flags. Note that emulator was physically connected (but no debug session active).

I want to run standalone applications on both CPUs.

Thank you & best regards,

Roger

 

  • Roger,
    the IPCBOOTCPU2 function sends a boot mode IPC command from CPU1 application to CPU2 boot ROM, so the code that handles this IPC is inside CPU2 boot ROM. You can refer to the CPU2 boot ROM sources in controlSuite (C:\ti\controlSUITE\libs\utilities\boot_rom\F2837x_revb\revb_rom_sources\F2837x_bootROM\cpu02-bootROM) .

    Both bit 0 and bit 1 of the IPC flags has to be set by CPU1 for CPU2 boot ROM to act on the IPC command.


    Best Regards
    Santosh Athuru
  • Hi Santosh Athuru
    Thank you very much for pointing me to the sources of the boot rom! I wasn't aware that I have the sources of the boot rom on my disk already.... I was looking for docs (like TRM, datasheet).
    Best regards,
    Roger