eboot中CS8900初始化问题

LouisScola 2010-07-19 02:01:11
Reset(void)
{
BOOL r = FALSE;
USHORT dummy;
int i;
/* Set RESET bit of SelfCTL register. */
do
{
//WRITE_REG1(PKTPG_SELF_CTL, SELF_CTL_RESET | SELF_CTL_LOW_BITS);
WRITE_REG1(PKTPG_SELF_CTL, SELF_CTL_RESET);

/* Wait until INITD bit of SelfST register is set. */
for (i = 0; i < MAX_COUNT; i++)
{
dummy = READ_REG1(PKTPG_SELF_ST);
if (dummy & SELF_ST_INITD) break;
}

if (i >= MAX_COUNT)
{
RETAILMSG(1, (TEXT("ERROR: Reset: Reset failed (SelfST).\r\n")));
break;
}

/* Wait until SIBUSY bit of SelfST register is cleared. */
for (i = 0; i < MAX_COUNT; i++)
{
dummy = READ_REG1(PKTPG_SELF_ST);
if ((dummy & SELF_ST_SIBUSY) == 0) break;
}

if (i >= MAX_COUNT)
{
RETAILMSG(1, (TEXT("ERROR: Reset: Reset failed (SIBUSY).\r\n")));
break;
}
r = TRUE;

} while (0);

在eboot中CS8900初始化的时候在这里就不能初始化了,硬件只使用了I/O模式,我已经把Memory模式注释了,但在执行到这里复位Reset( )的时候,报错,请问是什么错误?
...全文
134 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LouisScola 2010-07-21
  • 打赏
  • 举报
回复
纠结了几天终于解决,就是CS8900的时序问题,我把2440的主频配成了400MHz,主频太高了,8900时序错误,配成主频266M就成功初始化了,希望对后来人有用
LouisScola 2010-07-20
  • 打赏
  • 举报
回复
还是没解决,求高人!!!!!!!
LouisScola 2010-07-19
  • 打赏
  • 举报
回复
打印信息就是ERROR: Reset: Reset failed (SelfST)

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧