Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
netdev
nuc980
【NK-980IoT评测】EMAC之3:功能模块的使用说明
发布于 2022-04-03 07:50:37 浏览:501
订阅该版
默认工程的rtconfig.h配置网络使用流程如下 ![图片15.png](https://oss-club.rt-thread.org/uploads/20220403/86644c593dc0d875eaa234aef08e12a2.png) 1、netdev.h组件用于网卡管理,定义了网卡 struct netdev及操作函数 参见https://www.wenjiangs.com/doc/ijpng0vp struct netdev { rt_slist_t list; /* 网卡列表 */ char name[RT_NAME_MAX]; /* 网卡名称 */ ip_addr_t ip_addr; /* IP 地址 */ ip_addr_t netmask; /* 子网掩码地址 */ ip_addr_t gw; /* 网关地址 */ ip_addr_t dns_servers[NETDEV_DNS_SERVERS_NUM]; /* DNS 服务器地址 */ uint8_t hwaddr_len; /* 硬件地址长度 */ uint8_t hwaddr[NETDEV_HWADDR_MAX_LEN]; /* 硬件地址 */ uint16_t flags; /* 网卡状态位 */ uint16_t mtu; /* 网卡最大传输单元 */ const struct netdev_ops *ops; /* 网卡操作回调函数 */ netdev_callback_fn status_callback; /* 网卡状态改变回调 */ netdev_callback_fn addr_callback; /* 网卡地址改变回调 */ #ifdef RT_USING_SAL void *sal_user_data; /* 网卡中协议簇相关参数数据 */ #endif /* RT_USING_SAL */ void *user_data; /* 预留用户数据 */ }; netdev 组件提供多种网络调试命令,常用的 FinSH 命令如下: ping 用于检查网络是否连通 ifconfig 用于显示和配置网卡信息,如设置 IP 、网关和子网掩码地址 dns 用于显示和配置网卡 DNS 服务器地址 netstat 用于查看各网卡网络连接信息和端口使用情况 SAL(套接字抽象层)组件网络抽象并对上层提供标准的BSD Socket API,通过struct sal_socket_ops结构填充协议栈函数,再利用struct sal_proto_family 附上协议簇类型打包,最终存储到 netdev->sal_user_data 中。参考https://www.wenjiangs.com/doc/qpmgsv6r BSD Socket是目前网络开发的标准接口,而不是调用sal_socket()接口,为此RTT通过DFS组件实现了BSD Socket 接口,配置宏定义SAL_USING_POSIX启用Posix API。如LwIP中假设应用程序WebClient 中调用了 socket() 连接网络服务器,实际调用路径为webclient_connect() -> socket() -> sal_socket() -> inet_socket() -> lwip_socket()。 2、RTT的配置功能现在很好用了,参考https://club.rt-thread.org/ask/article/3450.html,设置使能EMAC0和PHY,加入webClient网络浏览器,利用MSH命令测试网络功能。 ![图片16.png](https://oss-club.rt-thread.org/uploads/20220403/c0e5b2bea9d4fb8e2dde74d53ab47839.png) 编译成功,等候测试 ![图片17.png](https://oss-club.rt-thread.org/uploads/20220403/fa8e8fa528f498bb6c18f949bea2c0e7.png)
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
zt1234
这家伙很懒,什么也没写!
文章
7
回答
0
被采纳
0
关注TA
发私信
相关文章
1
netdev.h头文件不能被其他c文件包含,否则报错
2
mqtt pipe 里面使用到了dfs, socket 是怎么关联起来dfs的?
3
netdev中link_down和internet_down怎么解决?
4
ETHIF_LINK_PHYUP和ETHIF_LINK_AUTOUP有什么用
5
netdev 网卡 挂载W5500
6
netdev网卡回调函数在internetup时不会触发
7
多网卡情况下如果做到哪个网卡优先通信
8
ifconfig ,netdev等 功能bug,死机
9
netdev设备状态标志位异常,无法上线?
10
HC32F460 AT设备 发送数据就崩溃
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
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
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
Hardfault
CAN总线
FinSH
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
I2C_IIC
UART
flash
cubemx
packages_软件包
freemodbus
潘多拉开发板_Pandora
PWM
定时器
ADC
BSP
中断
编译报错
socket
keil_MDK
GD32
MicroPython
msh
Debug
ulog
SFUD
flashDB
SDIO总线
rt_mq_消息队列_msg_queue
本月问答贡献
用户名由3_15位
23
个答案
3
次被采纳
踩姑娘的小蘑菇
16
个答案
3
次被采纳
xiaorui
7
个答案
3
次被采纳
sakumisu
5
个答案
3
次被采纳
三世执戟
32
个答案
1
次被采纳
本月文章贡献
比特饼干
4
篇文章
14
次点赞
ZVML_9668
3
篇文章
3
次点赞
Z_Y
2
篇文章
5
次点赞
xusiwei1236
2
篇文章
3
次点赞
yinxiangxv
2
篇文章
3
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部