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.

omapL138 唤醒DSP

Other Parts Discussed in Thread: TMDSLCDK138

 各位好,我是一名嵌入式新手,最近在TMDSLCDK138评估板上学习omapL138,最近在如何唤醒DSP上遇到问题,还请TI的大神们解答,谢谢。

  • 对照TRM文档, 参考gel文件里的wake_dsp部分代码:

    hotmenu Wake_DSP()
    {
    PSC0_LPSC_enableCore(1, LPSC_DSP);

    GEL_TextOut("\tDSP Wake Complete.\n","Output",1,1,1);
    GEL_TextOut("\t---------------------------------------------\n","Output",1,1,1);
    }

    PSC0_LPSC_enableCore(unsigned int PD, unsigned int LPSC_num) {
    unsigned int j;

    if( (*(unsigned int*)(PSC0_MDSTAT+4 * LPSC_num) & 0x11F) != 0x103 ) {
    *(unsigned int*) (PSC0_MDCTL+4*LPSC_num) = (*(unsigned int*) (PSC0_MDCTL+4*LPSC_num) & 0xFFFFFEE0) | 0x0103;
    PSC0_PTCMD = 0x1<<PD;

    j = 0;
    /*Wait for power state transition to finish*/
    while( (PSC0_PTSTAT & (0x1<<PD) ) !=0) {
    if( j++ > PSC_TIMEOUT ) {
    GEL_TextOut("\tPSC0 Enable Core Transition Timeout on Domain %d, LPSC %d\n","Output",1,1,1,PD,LPSC_num);
    break;
    }
    }

    j = 0;
    while( (*(unsigned int*)(PSC0_MDSTAT+4 * LPSC_num) & 0x11F) !=0x103) {
    if( j++ > PSC_TIMEOUT ) {
    GEL_TextOut("\tPSC0 Enable Core Verify Timeout on Domain %d, LPSC %d\n","Output",1,1,1,PD,LPSC_num);
    break;
    }
    }
    }
    }