C:\dvsdk_1_11_00_00_DM648\pspdrivers_1_10_00\packages\ti\sdo\pspdrivers\drivers\vport\src\vportdis.c里面:
/* reset video port */
chan->vportRegs->VP_CTL = CSL_VPORT_VP_CTL_VPRST_MASK; 1
/* enable video port */
chan->vportRegs->PCR |= CSL_VPORT_PCR_PEREN_MASK;
while (1)
{
vpCtrl = chan->vportRegs->VP_CTL;
if (!(vpCtrl & CSL_VPORT_VP_CTL_VPRST_MASK)) 2
{
break;
}
}
端口初始化时VP_CTL为0x4000,CSL_VPORT_VP_CTL_VPRST_MASK为0x8000,执行完上面第1句后,VP_CTL变成0xc000。 VP_CTL的最高位VPRST表示复位使能位,这样导致第2句一直是死循环。ti文档说VPRST 位会自动清0:Auto-cleared after reset is complete.The VPRST bit may take several clock cycles to clear to 0。请问这个可能是什么硬件问题还是软件问题啊?
|