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.

OMAP-L138: Issue With Dual Debug

Part Number: OMAP-L138

Hi,

We're using the OMAP-L138 for our project and we're experiencing an issue with the dual core debug.

It seems that when the second CPU (ARM9 or DSP) calls BIOS_start() during the debug that CPU experiences and error where the PC goes to an invalid location.

The ARM9 goes to an exception handler, whereas the DSP just goes to some unknown location and doesn't come back.

Each project when debugged works correctly, but when the second project is debugged simultaneously that's the issue.

After further investigation the below code is where each CPU would error out, and through the disassembly I have seen that this area is actually comprised of a bunch of NOP's when the second CPU goes to execute BIOS_start().

/*
 *  ======== BIOS_start ========
 *  Exclude the exit of this function from LCOV because it will never be reached.
 */
Void BIOS_start(void)
{
    BIOS_module->startFunc();
/* LCOV_EXCL_START */
}
/* LCOV_EXCL_STOP */

In a processor like the OMAP-L138 and TI-RTOS, is there shared code between the 2 CPU's for the OS?

Since each project is compiled as its own, I would think that there are 2 TI-RTOS instances running, one on each CPU.

Perhaps there is something else going on here that I'm not seeing too since BIOS_module->startFunc(); looks like a bunch of NOP's memory might be getting clobbered by something.

As a reference both projects ARM9 and DSP just create 2 tasks each and output to the console with System_printf().

Thanks,

Ben