Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Numaker-IoT-M487
RT-Thread
【开发板评测】Numaker-IoT-M487开发板之emac
发布于 2022-05-02 14:20:44 浏览:666
订阅该版
疫情原因,购买的开发板快递延误很多天才收到,收到后第一次时间做测试。 1. emac硬件介绍: M480是内置标准10/100Mpbs 半双工全双工以太网mac(EMAC),采用RMII接口,减少接口引脚,PHY外置采用IC Plus IP101GR。 2. emac使用说明 1.) menuconfig 配置→ Hardware Drivers Config → On-chip Peripheral Drivers -*- Enable Ethernet MAC Controller(EMAC) ---> 会自动依赖配置好LwIP pkgs --update scons --target=mdk5 –s 也可以添加一些工具→ RT-Thread online packages → IoT - internet of things [*] netutils: Networking utilities for RT-Thread ---> 可以选择iperf, NTP 等工具. 2.) nutool_pincfg.c引脚配置初始化: SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA7MFP_Msk | SYS_GPA_MFPL_PA6MFP_Msk); SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA7MFP_EMAC_RMII_CRSDV | SYS_GPA_MFPL_PA6MFP_EMAC_RMII_RXERR); SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC8MFP_Msk); SYS->GPC_MFPH |= (SYS_GPC_MFPH_PC8MFP_EMAC_RMII_REFCLK); SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC7MFP_Msk | SYS_GPC_MFPL_PC6MFP_Msk); SYS->GPC_MFPL |= (SYS_GPC_MFPL_PC7MFP_EMAC_RMII_RXD0 | SYS_GPC_MFPL_PC6MFP_EMAC_RMII_RXD1); SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE12MFP_Msk | SYS_GPE_MFPH_PE11MFP_Msk | SYS_GPE_MFPH_PE10MFP_Msk | SYS_GPE_MFPH_PE9MFP_Msk | SYS_GPE_MFPH_PE8MFP_Msk); SYS->GPE_MFPH |= (SYS_GPE_MFPH_PE12MFP_EMAC_RMII_TXEN | SYS_GPE_MFPH_PE11MFP_EMAC_RMII_TXD1 | SYS_GPE_MFPH_PE10MFP_EMAC_RMII_TXD0 | SYS_GPE_MFPH_PE9MFP_EMAC_RMII_MDIO | SYS_GPE_MFPH_PE8MFP_EMAC_RMII_MDC); /* Enable high slew rate on all RMII TX output pins */ GPIO_SetSlewCtl(PE, BIT10 | BIT11 | BIT12, GPIO_SLEWCTL_HIGH); 3.) drv_emac.c系统注册 eth_device_init(&nu_emac_dev.eth, dev_name); 注册接口函数,并初始化lwip网络协议。 4.) 应用层也是使用sock来编程。 if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { rt_kprintf("Socket error\n"); /* 释放接收用的数据缓冲 */ rt_free(recv_data); return; } 3. EMAC性能指标测试 使用iperf测试性能。在100Mbps局网网内,测试基本上25Mbps左右,测试结果如下: [I/iperf] iperfd01: 25.1570 Mbps! [I/iperf] iperfd01: 25.9970 Mbps! 4. 心得体会 开始编译驱动EMAC查看需要打开BSP_USING_EMAC,RT_USING_LWIP。编译出错需要ethernetif.h文件,查找还没有lwIP,如果还需要移植lwIP工作量还不少,仔细阅读rt-thread使用说明还有env工具,可以使用menuconfig来配置, 和linux 一样,需要添加删除模块功能配置一下就可以,简单方便。 M487 rt-thread默认是开启esp8266,添加了EMAC后,有两个网络接口,应用程序默认会使用esp8266,从而无法通过EMAC通讯,暂时先disable esp8266,只留一个EMAC接口就通讯正常,后面有时间查看一下LwIP的路由部分。
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
ZQUT_5596
这家伙很懒,什么也没写!
文章
2
回答
0
被采纳
0
关注TA
发私信
相关文章
1
RT-THREAD在STM32H747平台上移植lwip
2
正点原子miniSTM32开发板读写sdcard
3
反馈rtt串口驱动对低功耗串口lpuart1不兼容的问题
4
Keil MDK 移植 RT-Thread Nano
5
RT1061/1052 带 RTT + LWIP和LPSPI,有什么坑要注意吗?
6
RT thread HID 如何收发数据
7
求一份基于RTT系统封装好的STM32F1系列的FLASH操作程序
8
RT-Thread修改项目名称之后不能下载
9
rt-studio编译c++
10
有木有移植rt-thread(nano)到riscv 32位MCU上
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部