G
Guest
Guest
우리는 디자인의 전화에 우리의 새로운 모바일 DSP를 사용하는 TI의 C5510.comsumtion 들어 가장 낮은 전력, 그리고 다른 CPU의 모든 부분을 포함하여 시계, 할 일이 아무것도 가지고 있습니다 DSP를 필요로있을 때 유휴.그러나 통근자 5 인터럽트 활성화되어 항상.흐름과 같이 describled는 다음과 같습니다 :
dsp_ini
dsp_idle -> int5_handle -> dsp_idle -> int5_handle -> dsp_idle ....
그러나 우리는 DSP를 웨이크업 모르겠 방법 유휴 및.제발 코드를 말해 우리에게 순서 및 예제.
제발 말해 소스에서 실수를 우리에게 따랐다.
감사합니다!
(DSP_Sleep을 무효)
(
/ / DSP를 수면 모드
////// IRQ를 모두 해제가 ///////를 제외 INT5
IRQ_disable (IRQ_EVT_RINT0);
IRQ_disable (IRQ_EVT_RINT1);
IRQ_disable (IRQ_EVT_XINT1);
IRQ_disable (IRQ_EVT_XINT2);
///// 설정 유휴 활성화 /////
PWR_FSET (ICR은, 맞춰서, 1);
MCBSP_FSET (PCR0, IDLEEN, 1);
MCBSP_FSET (PCR1, IDLEEN, 1);
MCBSP_FSET (PCR2, IDLEEN, 1);
PWR_FSET (ICR은, EMIFI, 1);
PWR_FSET (ICR은, DMAI, 1);
PWR_FSET (ICR은, CACHEI, 1);
PWR_FSET (ICR은, CPUI, 1);
PWR_FSET (ICR은, CLKGENI, 1);
PWR_powerDown (PWR_WAKEUP_MI);
)
(옷 꼬라지를 무효)
(
/ / 웨이크 DSP를 최대
////// ////// 설정을 깨울 수 있도록 최대
PWR_FSET (ICR은, CLKGENI, 0);
PWR_FSET (ICR은, CPUI, 0);
PWR_FSET (ICR은, CACHEI, 0);
PWR_FSET (ICR은, DMAI, 0);
PWR_FSET (ICR은, EMIFI, 0);
PWR_FSET (ICR은, 맞춰서, 0);
MCBSP_FSET (PCR0, IDLEEN, 0);
MCBSP_FSET (PCR1, IDLEEN, 0);
MCBSP_FSET (PCR2, IDLEEN, 0);
////// ////// 일어나 정리를 다 IRQ를
IRQ_clear (IRQ_EVT_RINT0);
IRQ_clear (IRQ_EVT_RINT1);
IRQ_clear (IRQ_EVT_XINT1);
IRQ_clear (IRQ_EVT_XINT2);
/ *지도 *를 인터럽트 /
IRQ_map (IRQ_EVT_RINT0);
IRQ_map (IRQ_EVT_RINT1);
IRQ_map (IRQ_EVT_XINT1);
IRQ_map (IRQ_EVT_XINT2);
/ * * 규정의 제어에 MCBSP 구조 쓰기 값에서 구성 /
MCBSP_config (hMcbsp0, & ConfigMcBSP0_128k);
MCBSP_config (hMcbsp1, & ConfigMcBSP1_CMX);
MCBSP_config (hMcbsp2, & ConfigMcBSP2_BER);
ie_mcbsp_0_start ();
ie_mcbsp_1_start ();
ie_mcbsp_2_start ();
) IRQ_enable (IRQ_EVT_RINT0;
) IRQ_enable (IRQ_EVT_RINT1;
) IRQ_enable (IRQ_EVT_XINT1;
) IRQ_enable (IRQ_EVT_XINT2;
)
(IRQ5MainEntry을 무효)
(
소식이 irqc;
irqc = pEMIF -> FPGAIRQ은; / / 요구 사항을 읽고 세부 사항의 IRQ
(해당되는 경우 irqc = 1) DSP_Sleep ();
(해당되는 경우 irqc = 2) 옷 꼬라지 ();
)
dsp_ini
dsp_idle -> int5_handle -> dsp_idle -> int5_handle -> dsp_idle ....
그러나 우리는 DSP를 웨이크업 모르겠 방법 유휴 및.제발 코드를 말해 우리에게 순서 및 예제.
제발 말해 소스에서 실수를 우리에게 따랐다.
감사합니다!
(DSP_Sleep을 무효)
(
/ / DSP를 수면 모드
////// IRQ를 모두 해제가 ///////를 제외 INT5
IRQ_disable (IRQ_EVT_RINT0);
IRQ_disable (IRQ_EVT_RINT1);
IRQ_disable (IRQ_EVT_XINT1);
IRQ_disable (IRQ_EVT_XINT2);
///// 설정 유휴 활성화 /////
PWR_FSET (ICR은, 맞춰서, 1);
MCBSP_FSET (PCR0, IDLEEN, 1);
MCBSP_FSET (PCR1, IDLEEN, 1);
MCBSP_FSET (PCR2, IDLEEN, 1);
PWR_FSET (ICR은, EMIFI, 1);
PWR_FSET (ICR은, DMAI, 1);
PWR_FSET (ICR은, CACHEI, 1);
PWR_FSET (ICR은, CPUI, 1);
PWR_FSET (ICR은, CLKGENI, 1);
PWR_powerDown (PWR_WAKEUP_MI);
)
(옷 꼬라지를 무효)
(
/ / 웨이크 DSP를 최대
////// ////// 설정을 깨울 수 있도록 최대
PWR_FSET (ICR은, CLKGENI, 0);
PWR_FSET (ICR은, CPUI, 0);
PWR_FSET (ICR은, CACHEI, 0);
PWR_FSET (ICR은, DMAI, 0);
PWR_FSET (ICR은, EMIFI, 0);
PWR_FSET (ICR은, 맞춰서, 0);
MCBSP_FSET (PCR0, IDLEEN, 0);
MCBSP_FSET (PCR1, IDLEEN, 0);
MCBSP_FSET (PCR2, IDLEEN, 0);
////// ////// 일어나 정리를 다 IRQ를
IRQ_clear (IRQ_EVT_RINT0);
IRQ_clear (IRQ_EVT_RINT1);
IRQ_clear (IRQ_EVT_XINT1);
IRQ_clear (IRQ_EVT_XINT2);
/ *지도 *를 인터럽트 /
IRQ_map (IRQ_EVT_RINT0);
IRQ_map (IRQ_EVT_RINT1);
IRQ_map (IRQ_EVT_XINT1);
IRQ_map (IRQ_EVT_XINT2);
/ * * 규정의 제어에 MCBSP 구조 쓰기 값에서 구성 /
MCBSP_config (hMcbsp0, & ConfigMcBSP0_128k);
MCBSP_config (hMcbsp1, & ConfigMcBSP1_CMX);
MCBSP_config (hMcbsp2, & ConfigMcBSP2_BER);
ie_mcbsp_0_start ();
ie_mcbsp_1_start ();
ie_mcbsp_2_start ();
) IRQ_enable (IRQ_EVT_RINT0;
) IRQ_enable (IRQ_EVT_RINT1;
) IRQ_enable (IRQ_EVT_XINT1;
) IRQ_enable (IRQ_EVT_XINT2;
)
(IRQ5MainEntry을 무효)
(
소식이 irqc;
irqc = pEMIF -> FPGAIRQ은; / / 요구 사항을 읽고 세부 사항의 IRQ
(해당되는 경우 irqc = 1) DSP_Sleep ();
(해당되는 경우 irqc = 2) 옷 꼬라지 ();
)