查看: 3601|回复: 2

[其他] 关于MCF51CN128的FEC模块问题

[复制链接]

该用户从未签到

1

主题

6

帖子

0

新手上路

Rank: 1

积分
2
最后登录
1970-1-1
发表于 2011-6-20 18:06:28 | 显示全部楼层 |阅读模式
最近要做一个PLC模块,因此需要用到MCF51CN128的FEC模块。为了验证硬件,就仿照别人的程序先做了个裸跑程序。
大概如下:
void NBUF_init()
{
  uint8 i;  /*FSL:init Rx BD ring*/
 RxBDs = (nbuf_t *)((uint32)(unaligned_rx_nbuf + 16) & 0xFFFFFFF0);
 RxBuff = (uint8 *)((uint32)(unaligned_rx_buf + 16) & 0xFFFFFFF0);
 
 TxBDs = (nbuf_t *)((uint32)(unaligned_tx_nbuf + 16) & 0xFFFFFFF0);
 TxBuff = (uint8 *)((uint32)(unaligned_tx_buf + 16) & 0xFFFFFFF0);
  /* Initialize receive descriptor ring */
  for( i = 0; i < NUM_RXBDS; i++ )
  {
      RxBDs.status = RX_BD_E;
      RxBDs.length = 0;
      RxBDs.data = &RxBuff[i * RX_BUFFER_SIZE];
  }
  /* Set the Wrap bit on the last one in the ring */
  RxBDs[NUM_RXBDS - 1].status |= RX_BD_W;
  /* Initialize transmit descriptor ring */
  for( i = 0; i < NUM_TXBDS; i++ )
  {
      TxBDs.status = 0 | TX_BD_L ;// | TX_BD_TC;
      TxBDs.length = 0;
      TxBDs.data = &TxBuff[0];/*FSL:workaround*///1520*i
  }
  /* Set the Wrap bit on the last one in the ring */
  TxBDs[NUM_TXBDS - 1].status |= TX_BD_W;
  /* Initialize the buffer descriptor indexes */
  tx_bd_idx = rx_bd_idx = 0;
    //return;
}
void FEC_ResetProcessing(const uint8 *pa)
{   unsigned int uuu;
   // extern uint32 __VECTOR_RAM[];
   
    /*初始化管脚*/
    //GPIO_FECPinsInit();
   
    /* 重启FEC - 相当于硬件重启*/
    ECR = ECR_RESET_MASK;
   
    /* 等待重启序列完成--寄存器判断 */
    while( ECR & ECR_RESET_MASK )
    ;
    /* 清除EIMR寄存器来关闭所有的FEC中断 */
    EIMR = 0;
    /* 设置EIR寄存器来清除中断 */
    EIR = 0xFFFFFFFFUL;

     PALR = (uint32)((pa[0]
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

131

主题

835

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10021
最后登录
1970-1-1
发表于 2011-7-29 12:26:11 | 显示全部楼层

RE:关于MCF51CN128的FEC模块问题

测试测试测试
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-7-29 14:18:38 | 显示全部楼层

    RE:关于MCF51CN128的FEC模块问题

    //GPIO_FECPinsInit();
    这里你怎么屏蔽了?
    该会员没有填写今日想说内容.
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-26 18:51 , Processed in 0.088430 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表