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.

DSP wake up under x-loader

Other Parts Discussed in Thread: OMAP3530

Hi everyone.

I developing none OS application using OMAP3530 uC and have some problem.

I has adapted x-loader, that loading 2 elf files into SDRAM, one for ARM and another for DSP. ARM application started normally as jumping to it code from x-loader. But how to set DSP to start it's code?

I integrate the IVA2 gel file code in x-loader:

void release_dsp(void)
{

/* Enable DSP-ss functional clock (set bit 0) CM_FCLKEN_IVA2 */
(*(int*)0x48004000) |= 0x1;

/* IVA clk is bypassed CORE clock/2 CM_CLKSEL1_PLL_IVA2 */
(*(int*)0x48004040) = (2<<19);

/* Enable IVA2 DPLL (low power mode bybass -> 5) CM_CLKEN_PLL_IVA2 */
(*(int*)0x48004004) = (1<<4) | (5<<0);

/* Release DSPMMU reset (clear bit 1) -> RM_RSTCTRL_IVA2 */
(*(int*)0x48306050) &= ~(1 << 1);

(*(int*)0x48002400) = ((Elf_header->e_entry/4096) << 10);

/* Set DSP boot mode to WaitInDeadLoop -> CONTROL_IVA2_BOOTMODE */
//(*(int*)0x48002404) = 2;
(*(int*)0x48002404) = 0;

/* Release DSP from reset (clear bit 0) -> RM_RSTCTRL_IVA2 */
(*(int*)0x48306050) &= ~(1 << 0);

printf("C64x+ release from reset\n");

}

Here Elf_header->e_entry contain entry point into DSP code (0x83200000 in my case).

When I debug DSP application in CCS using jtag, it work normally.

Please help to resolve this problem. May be somebody has a work example code?