请教一个关于C674X megamodule power down 的问题
时间:10-02
整理:3721RD
点击:
HI,大家好
请教一个C674x megamodule power down 的问题:
The entire C674x megamodule can be powered-down using the following procedure. Other than the
options previously specified, it is not possible to power-down only part of the C674x megamodule.
Powering-down the C674x megamodule is completely under software control by programming the
megamodule power-down (MEGPD) bit in the power-down controller command register (PDCCMD).
The following software sequence is required to power-down the C674x megamodule:
1. Enable power-down by setting the MEGPD field to 1 in the PDCCMD register.
2. Enable the CPU interrupt(s) that you want to wake-up the C674x megamodule. Disable all other
interrupts.
3. Execute the IDLE instruction.
The C674x megamodule stays in a power-down state until awakened by the interrupt(s) that are enabled
in step 2.
问题:
根据TI这个文档的描述,按照那三个步骤做了,但是不能让CPU进入IDLE, 没有生效。
code如下, 中间没有加enable 退出 power down状态的中断是因为系统中用到的两个中断随时都是enable起来的,所以没有必要重新在enable一次了,加了试了也不行。
HWREG(PDCCMD_REGS) |= 0x00010000; //PDCCMD_REGS defined as 0x01810000
asm("IDLE");
debug步骤如下:
1。首先查看了TSR寄存器的7:6 bit的值,确认已经是supervisor mode了。
2。写了PDCCMD寄存器之后,查看了寄存器的值,第16bit的MEGPD确实已经改成了1。
3。单步调试执行完这两句code之后,查看CSR寄存器的PWRD比特的值,发现还是0, 表示NO power down。
通过示波器测试也发现芯片应该没有进入power down的状态。
不知道各位大神以前有没有这方面的经验,求指教思密达,万分感谢!
请教一个C674x megamodule power down 的问题:
The entire C674x megamodule can be powered-down using the following procedure. Other than the
options previously specified, it is not possible to power-down only part of the C674x megamodule.
Powering-down the C674x megamodule is completely under software control by programming the
megamodule power-down (MEGPD) bit in the power-down controller command register (PDCCMD).
The following software sequence is required to power-down the C674x megamodule:
1. Enable power-down by setting the MEGPD field to 1 in the PDCCMD register.
2. Enable the CPU interrupt(s) that you want to wake-up the C674x megamodule. Disable all other
interrupts.
3. Execute the IDLE instruction.
The C674x megamodule stays in a power-down state until awakened by the interrupt(s) that are enabled
in step 2.
问题:
根据TI这个文档的描述,按照那三个步骤做了,但是不能让CPU进入IDLE, 没有生效。
code如下, 中间没有加enable 退出 power down状态的中断是因为系统中用到的两个中断随时都是enable起来的,所以没有必要重新在enable一次了,加了试了也不行。
HWREG(PDCCMD_REGS) |= 0x00010000; //PDCCMD_REGS defined as 0x01810000
asm("IDLE");
debug步骤如下:
1。首先查看了TSR寄存器的7:6 bit的值,确认已经是supervisor mode了。
2。写了PDCCMD寄存器之后,查看了寄存器的值,第16bit的MEGPD确实已经改成了1。
3。单步调试执行完这两句code之后,查看CSR寄存器的PWRD比特的值,发现还是0, 表示NO power down。
通过示波器测试也发现芯片应该没有进入power down的状态。
不知道各位大神以前有没有这方面的经验,求指教思密达,万分感谢!