[技术问答] NUC472以太网咨询

[复制链接]
1611|5
 楼主| Asheng_DS 发表于 2018-1-2 11:00 | 显示全部楼层 |阅读模式
本帖最后由 Asheng_DS 于 2018-1-2 11:06 编辑

各位大神:
              小弟最近在看NUC472以太网的东西,之前没搞过以太网,看官方的SDK驱动就一点点,都是获取时间或者设置时间帧,请问有没有人搞过的指点下,或者有没有好的**介绍,以太网0基础入门,或者有没有NUC472的以太网驱动之类的提供也可以,谢谢!
              邮件:303725631@qq.com
aozima 发表于 2018-1-2 12:25 | 显示全部楼层
好像都是 Synopsys 的EMAC IP,驱动参考示例就可以了。
适配上RT-Thread+LWIP就更方便了。
 楼主| Asheng_DS 发表于 2018-1-2 13:17 | 显示全部楼层
aozima 发表于 2018-1-2 12:25
好像都是 Synopsys 的EMAC IP,驱动参考示例就可以了。
适配上RT-Thread+LWIP就更方便了。
...

您好,能否描述的更清楚点,目前官方开发板是用IP101GA的,我能怎么搭建环境测试和研究啊?
QQ截图20180102131541.png
aozima 发表于 2018-1-2 14:56 | 显示全部楼层
你可以看看这个贴子,好使去回个贴。
里面固件库和RT-Thread都比较旧了,但有参考价值。

RT-Thread for NUC472
https://bbs.21ic.com/icview-793900-1-1.html
 楼主| Asheng_DS 发表于 2018-1-2 15:19 | 显示全部楼层
aozima 发表于 2018-1-2 14:56
你可以看看这个贴子,好使去回个贴。
里面固件库和RT-Thread都比较旧了,但有参考价值。

好的,刚刚在看 官方的 EMAC_TxRx 工程,很多概念还是很模糊,看来要花点时间多看资料了,你这个帖子是对应官方472的开发板吗?? NuTiny-EVB-NUC472_LOFP176  V3.0
 楼主| Asheng_DS 发表于 2018-1-2 18:06 | 显示全部楼层
Dear 大神:
                  今天在测试官方提供的DEMO   \NUC472\NUC472_NUC442_BSP_CMSIS_V3.02.001\SampleCode\StdDriver\EMAC_TxRx 工程,打印信息如图片3
                  然后在分析代码时,在开启 TCP 时 断电在该函数:

int process_rx_packet(uint8_t *pu8Packet, uint32_t u32Len)
{
    ARP_PACKET    *arp = (ARP_PACKET *)pu8Packet;
    IP_PACKET    *ip  = (IP_PACKET *)pu8Packet;
    UDP_PACKET    *udp  = (UDP_PACKET *)pu8Packet;

    if (pu8Packet[0] == 0xFF) {     /* this is a broadcast packet */                //ÕâÊǸö¹ã²¥°ü
        /*
         *  We manage the ARP reply process here.                //¹ÜÀíARPÏìÓ¦´¦Àí
         *  In the following code, if we have received a ARP request,
         *  we send ARP reply immediately.
         */
        if ((!COMPARE_IP(arp->au8TargetIP, g_au8IpAddr)) &&
                                          (arp->u16Type == SWAP16(PROTOCOL_ARP)) &&
                                    (arp->u16Operation == SWAP16(ARP_REQUEST))) {
                                                                                  //·¢ËͶËIP        Ä¿±ê¶ËÓ²¼þµØÖ·
            arp_reply(arp->su8SenderIP, arp->au8SenderHA);
        }
        return 0;
    }


然后在查看Watch时,发现 arp 的目标mac 和 源 Mac地址的获取跟本身带进去的参数 auPkt (pu8Packet) 数据既然不一样????这是为什么??
明明auPkt获取的Mac地址是对的,到了arp就不一样了??如图片



3.png
1.png
2.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部