Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Network
STM32F767不开启libc时ping丢包
发布于 2019-07-23 22:37:08 浏览:1514
订阅该版
* 本帖最后由 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.5k
关于作者
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
国产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组件
最新文章
1
关于studio文件构建及宏控制
2
cubemx RTThread Nano + vscode + cortex + EIDE 环境配置
3
【24嵌入式设计大赛】基于ulog日志管理系统
4
关于使用使用STLINK在RT-Studio里下载程序失败的问题的可能的解决方法
5
RVBacktrace RISC-V极简栈回溯组件V1.2
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
flash
packages_软件包
cubemx
freemodbus
PWM
BSP
潘多拉开发板_Pandora
定时器
ADC
中断
flashDB
socket
GD32
Debug
编译报错
msh
keil_MDK
rt_mq_消息队列_msg_queue
C++_cpp
at_device
MicroPython
ulog
本月问答贡献
rv666
9
个答案
2
次被采纳
踩姑娘的小蘑菇
8
个答案
2
次被采纳
道友
6
个答案
2
次被采纳
xiaorui
5
个答案
2
次被采纳
三世执戟
5
个答案
2
次被采纳
本月文章贡献
Licy
3
篇文章
1
次点赞
rv666
1
篇文章
7
次点赞
王依依
1
篇文章
5
次点赞
rtt_dmx
1
篇文章
5
次点赞
jaffer
1
篇文章
5
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部