Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Network
rt-thread LWIP中的一些问题
发布于 2019-01-02 16:27:48 浏览:2497
订阅该版
移植网卡驱动后,lwip协议栈在某个地址发生了data abort异常,就是以下函数: 函数中 ETHADDR16_COPY(&hdr->shwaddr, hwsrc_addr);拷贝地址时出现了data abort错误 回溯函数时,发现 hwsrc_addr 地址是对的,传进的参数是netif->hwaddr,nettif就是正在使用的网络接口。 出现这个问题的原因没有头绪,协议栈中出现data abort的原因都有哪些呢
查看更多
8
个回答
默认排序
按发布时间排序
yqiu
2019-01-02
这家伙很懒,什么也没写!
请先百度下出现 data abort 的原因。
aozima
2019-01-02
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
1. 确认并打印 hwsrc_addr 的地址。 2. 确认 ETHADDR16_COPY 生成的汇编指令。 3. 分析CPU是否支持或打开非对齐访问。 4. 缺少问题要素: 版本,芯片型号等。
surest
2019-01-02
这家伙很懒,什么也没写!
版本LWIP 2.0.2 ,芯片zynq7020,反汇编指令时,ldrh指令产生的异常 拷贝6字节mac地址,前4字节用ldr,str 后面两字节用了ldrh,strh
surest
2019-01-02
这家伙很懒,什么也没写!
/* Write the ARP MAC-Addresses */ ETHADDR16_COPY(&hdr->shwaddr, hwsrc_addr); 23c660: e51b3010 ldr r3, [fp, #-16] 23c664: e2833008 add r3, r3, #8 23c668: e51b2024 ldr r2, [fp, #-36] ; 0xffffffdc 23c66c: e5921000 ldr r1, [r2] 23c670: e5831000 str r1, [r3] 23c674: e1d220b4 ldrh r2, [r2, #4] 23c678: e1c320b4 strh r2, [r3, #4] 反汇编代码看起来怪怪的
aozima
2019-01-02
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
指令没问题,重点就是你传入的地址了。正常应该都是对齐的,这里应该是发生了异常。
bernard
2019-01-02
这家伙很懒,什么也没写!
感觉需要看看是否100%触发的,如果是100%,那么可以连着仿真器单步调试下,zynq也可以用仿真器单步调试的。如果不能单步仿真调试,那么就多依赖日志调试
surest
2019-01-03
这家伙很懒,什么也没写!
>指令没问题,重点就是你传入的地址了。正常应该都是对齐的,这里应该是发生了异常。 ... --- 今天突发奇想,把编译规则给改了 原来是 -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 -ftree-vectorize -ffast-math -mfloat-abi=softfp 修改为 -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 结果原来的异常已经跳过去了,lwip能够正常收发arp,结果在ip层解析时,拷贝ip地址时又出现了异常 不太清楚编译规则对这个问题具体有什么影响。。。。
surest
2019-01-03
这家伙很懒,什么也没写!
把编译规则给改了 原来是 -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 -ftree-vectorize -ffast-math -mfloat-abi=softfp 修改为 -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 结果原来的异常已经跳过去了 ip_addr_copy_from_ip4(ip_data.current_iphdr_dest, iphdr->dest); 244eac: e51b3010 ldr r3, [fp, #-16] 244eb0: e5932010 ldr r2, [r3, #16] 244eb4: e3083958 movw r3, #35160 ; 0x8958 244eb8: e3403050 movt r3, #80 ; 0x50 244ebc: e5832014 str r2, [r3, #20] 就是这块了,根arp出现异常的情况应该是一样的,传入地址应该没问题,突然间的异常
撰写答案
登录
注册新账号
关注者
0
被浏览
2.5k
关于作者
surest
这家伙很懒,什么也没写!
提问
5
回答
13
被采纳
0
关注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
RTduino物联网应用零基础入门
2
TinyUSB Demo运行教程
3
RT-Thread学习大礼包一键带走!
4
freemodbus从机调试说明
5
【1024】瑞萨 RA 系列 BSP 制作与适配最新版本的 Keil 、 RSC、固件,较新的 FSP
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
cubemx
PWM
flash
packages_软件包
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
C++_cpp
at_device
本月问答贡献
张世争
7
个答案
2
次被采纳
用户名由3_15位
10
个答案
1
次被采纳
KunYi
4
个答案
1
次被采纳
踩姑娘的小蘑菇
2
个答案
1
次被采纳
bernard
1
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
4
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部