我最近需要使用PSC(Power Sleep Controller)。参考的手册是Literature Number: SPRUGV4C
November 2010–Revised September 2014。TMS320C6670 Multicore Fixed and Floating-Point System-on-Chip (Literature Number: SPRS689D March 2012)。
在PSC上第17页“KeyStone devices contain PDSTAT0 to PDSTAT31 registers.”
而在TMS320C6670 Multicore Fixed and Floating-Point System-on-Chip手册119页上却只给出了0——18的地址。后面寄存器的地址没有给出。
我用的是C6670。我想问一问是不是我看的手册版本是比较老导致信息不对称(TMS320C6670 Multicore Fixed and Floating-Point System-on-Chip TI官网上就2012这个版本),还是我查阅资料的方式不对啊,如果是这样还请指个出路。多谢各位!
Andy Yin1:
如6670 user guide中描述6670 power domain只用0~18 block,所以也就没有19之后的寄存器了。
Hunter John:
回复 Andy Yin1:
您好!按照你的意思在D:\ti\pdk_C6670_1_1_2_5\packages\ti\csl\cslr_psc.h中的CSL_PscRegs就应该修改,因为它定了32个PDSTAT寄存器,而应该是19。不知道我的理解是对的吗?6670 user guide是指TMS320C66x DSP CorePac user guide吗?
typedef struct {
volatile Uint32 PID;
volatile Uint8 RSVD0[16];
volatile Uint32 VCNTLID;
volatile Uint8 RSVD1[264];
volatile Uint32 PTCMD;
volatile Uint8 RSVD2[4];
volatile Uint32 PTSTAT;
volatile Uint8 RSVD3[212];
volatile Uint32 PDSTAT[32];
volatile Uint8 RSVD4[128];
volatile Uint32 PDCTL[32];
volatile Uint8 RSVD5[1152];
volatile Uint32 MDSTAT[32];
volatile Uint8 RSVD6[384];
volatile Uint32 MDCTL[32];
} CSL_PscRegs;
Hunter John:
回复 Andy Yin1:
工程师您好!我还遇到一个问题就是我调用完
CSL_IDEF_INLINE void CSL_PSC_startStateTransition (Uint32 pwrDmnNum)
{
hPscRegs->PTCMD = 1 << pwrDmnNum;
return;
}
这个函数,我传入的参数是2,理应是hPscRegs->PTCMD=4;但结果是hPscRegs->PTCMD=0;hPscRegs->PTSTAT=4;
然后CSL_PSC_isStateTransitionDone(2)就一直表示transition在进行中,该怎么办啊
Hunter John:
回复 Andy Yin1:
您好!我还有个问题想请教您一下。为什么我调用 CSL_PSC_startStateTransition()这个函数后,一直表示transition在进行中,没有done,您能帮我分析一下原因吗?