打印
[微控制器/MCU]

LPC2378使用以太网时无法访问EMC?

[复制链接]
1218|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sjtuhcx|  楼主 | 2013-1-5 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是LPC2378(ARM7)处理器;通过EMC接口外扩了一片SRAM,单独访问SRAM时正常,但是以太网初始化后,就不能访问SRAM了,不知道怎么回事?请大家帮忙分析下,急死了,谢谢了!!!

下面是一个更简单的测试例,init_TcpNet()是RTX自带的以太网初始化函数,不写该函数,SRAM访问正常,插入该函数,SRAM输出全是0x00.
int main (void) {
   U8 cnt,i;
   U8 *temp;
   U8 *temp2;

   init_serial();
   EmcInit();
  init_TcpNet ();//不加该函数,发送a~z正常,加后,读出来发送的都是0x00.

   sendchar('#');
   temp=  (U8 *)0x80000000;
   temp2=  (U8 *)0x80000000;
   for (i=0;i<26;i++)
   {
      *(temp+i) = 'a'+i;
   }
   for (i=0;i<26;i++)
   {
      sendchar(*(temp2+i));
   }   
   sendchar('#');
}

相关帖子

沙发
sjtuhcx|  楼主 | 2013-1-5 09:47 | 只看该作者
void EmcInit( void )
{
  /**************************************************************************
   * Initialize EMC
  **************************************************************************/
  U32 tmp;          
  
  SCS    |= 0x01;           
  PCONP  |= 0x00000800;                /* Turn On EMC PCLK */
  EMC_CTRL = 0x00000001;
  PINSEL6 = 0x00005555;
  PINSEL8 = 0x55555555;

  tmp                 = PINSEL9;
  tmp            &= 0x0FF0FFFF;
  PINSEL9  = tmp | 0x50090000;

  EMC_STA_CFG0      = 0x0;          /*8bit*/
  EMC_STA_WAITWEN0  = 0x0;
  EMC_STA_WAITOEN0  = 0x0;
  EMC_STA_WAITRD0   = 0x1f;
  EMC_STA_WAITPAGE0 = 0x0;
  EMC_STA_WAITWR0   = 0x1f;
  EMC_STA_WAITTURN0 = 0x0;

  EMC_STA_CFG1      = 0x00000000;          /*8bit*/
  EMC_STA_WAITWEN1  = 0x2;
  EMC_STA_WAITOEN1  = 0x2;
  EMC_STA_WAITRD1   = 0x1f;
  EMC_STA_WAITPAGE1 = 0x1f;
  EMC_STA_WAITWR1   = 0x1f;
  EMC_STA_WAITTURN1 = 0xf;
  return;
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

0

帖子

0

粉丝