Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Network
STM32F767不开启libc时ping丢包
发布于 2019-07-23 22:37:08 浏览:1389
订阅该版
* 本帖最后由 moss 于 2019-7-23 22:55 编辑 * 开发板:正点原子 F767 阿波罗开发板 Keil版本:5.26.2.0 rt-thread版本:2019.7.21 github master版 关闭 libc 时: 电脑 ping 开发板 ![1.png](/uploads/201907/23/225316fdthhgkkssbdkalz.png) 开发板 ping 电脑 ![2.png](/uploads/201907/23/225317zv25flvvquj4f59v.png) 打开 libc 后: 电脑 ping 开发板 ![3.png](/uploads/201907/23/225317mkdc5h85115rcqr5.png) 开发板 ping 电脑 ![4.png](/uploads/201907/23/225317itxf0l16v6rw1xvp.png) 配置差异: ![5.png](/uploads/201907/23/225317syyoxtyxlq66xa6o.png) 有没有人知道是哪里的问题? 附件是两种情况下的配置和 wireshark 抓包文件 下载附件 [ping丢包.config](https://oss-club.rt-thread.org/uploads/201907/23/223556t1spvr744p5pww57.attach) 下载附件 [ping丢包.pcapng](https://oss-club.rt-thread.org/uploads/201907/23/223556lfwm60jlv2mh40fr.attach) 下载附件 [ping正常.config](https://oss-club.rt-thread.org/uploads/201907/23/223556d0ynof05o90z0f0o.attach) 下载附件 [ping正常.pcapng](https://oss-club.rt-thread.org/uploads/201907/23/223556u2f44avvqq4zqe21.attach)
查看更多
4
个回答
默认排序
按发布时间排序
moss
2019-07-26
这家伙很懒,什么也没写!
另一个发现,在开启了 libc 后也可能存在 ping 丢包现象(实际没丢,只不过响应慢),这种情况下 添加 network_sample 软件包里的 tcpclient_sample.c 后就正常了,去掉就有 丢包现象
moss
2019-09-04
这家伙很懒,什么也没写!
``` struct hostent *host = RT_NULL; int sock; struct sockaddr_in server_addr; int port; int send_len_total; do { log_d("getting hostname"); host = gethostbyname(dev_conf.server_addr); if(host == RT_NULL) { LOG_E("gethostname failed"); rt_thread_mdelay(5000); } LOG_D("hostname %s, len %d", host->h_name, host->h_length); } while(host == RT_NULL); //rt_memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(port); server_addr.sin_addr = *((struct in_addr *)host->h_addr); rt_memset(&(server_addr.sin_zero), 0, sizeof(server_addr.sin_zero)); ``` 试验证明加上注释掉的那一句 ``` //rt_memset(&server_addr, 0, sizeof(server_addr)); ``` 或者前面改成 ``` int sock = -1; struct sockaddr_in server_addr; int port = 0; int send_len_total = 0; ``` 给三个变量赋初值后,ping timeout 或部分丢包的现象没有了 反复查看代码,发现这三个变量在第一次使用前都进行了赋值 通过调试发现加不加 rt_memset,在传递给 connect 函数之前,server_addr 的地址和值都是相同的 有没有哪些调试的方向,可以进一步确定问题的根源?
moss
2019-09-04
这家伙很懒,什么也没写!
如果加入用 LOG_HEX 打印 server_addr 的内容,或者加入LOG_D 打印 server_addr 的地址,ping 就正常了 不知道为什么
moss
2019-09-04
这家伙很懒,什么也没写!
把 server_addr 变成全局变量也不行,但是只要加一个 rt_printk 打印地址就好了 ping 出错时报文如下: [attach]10673[/attach]
撰写答案
登录
注册新账号
关注者
0
被浏览
1.4k
关于作者
moss
这家伙很懒,什么也没写!
提问
4
回答
226
被采纳
1
关注TA
发私信
相关问题
1
lwip1.4.1连接经常会断开无法连接上,可以ping通
2
LPC1768:RTT+LWIP+webserver用IE刷网页出现硬件中断错误(已经解决)
3
求一些LWIP开发的经验,目前ping一直不稳定。
4
stm32f207+dp83848无法ping通
5
RTT下的LWIP传递机制
6
rtt内lwip的socket是否是线程安全?
7
Lwip+enc28j60无法ping通
8
坑爹的rtconfig.h lwip关掉了checksum
9
花了一个晚上,把RT2.0的LWIP、网卡驱动、文件系统整合起来了,发现一点小问题
10
lwip例程中udp发送时如何指定源端口发送到指定目的地端口
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【学习分享】初探RT-Thread系统调度
2
FRDM-MCXN947 Flash实践--W25Q64
3
NXP MCXN947测评(一)开箱+环境配置
4
stm32f103的adc+dma多通道采集数据
5
恩智浦FRDM-MCX947上的 IIC(硬件) 实践
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
CAN总线
Hardfault
FinSH
USB
文件系统
RT-Thread
DMA
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
WIZnet_W5500
ota在线升级
cubemx
I2C
flash
UART
packages_软件包
freemodbus
潘多拉开发板_Pandora
PWM
定时器
BSP
ADC
keil_MDK
socket
中断
编译报错
MicroPython
Debug
SDIO总线
GD32
msh
rt_mq_消息队列_msg_queue
ulog
C++_cpp
SFUD
本月问答贡献
xiaorui
20
个答案
3
次被采纳
Juggernaut
12
个答案
3
次被采纳
踩姑娘的小蘑菇
12
个答案
2
次被采纳
小小李sunny
10
个答案
2
次被采纳
crystal266
4
个答案
2
次被采纳
本月文章贡献
ZVML_9668
4
篇文章
6
次点赞
Lu_盼盼
4
篇文章
3
次点赞
Z_Y
3
篇文章
5
次点赞
ThinkCode
2
篇文章
2
次点赞
oxlm
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部