rt-thread启动网络协议栈后无法在uboot命令行中启动

Surest 2018-12-29 11:05:48
硬件平台zynq7020,目前使用xilinx fsbl直接启动rt-thread内核正常,网卡正常
uboot 命令行启动rt-thread,正常启动后,协议栈发送arp请求时访问地址异常
信息如下:

msh >XEmacPs detect_phy: PHY detected at address 1.
status:0x796d
Start PHY autonegotiation
Waiting for PHY to complete autonegotiation.
etharp_timer
etharp_timer
etharp_timer
autonegotiation complete
link speed for phy address 1: 1000
etharp_request: sending ARP request.
etharp_raw: sending raw ARP packet.
data abort:Execption:
r00:0x00000100 r01:0x0000000a r02:0x00556f01 r03:0x00555588
r04:0xdeadbeef r05:0xdeadbeef r06:0xdeadbeef r07:0xdeadbeef
r08:0xdeadbeef r09:0xdeadbeef r10:0xdeadbeef
fp :0x0030360c ip :0x00225080
sp :0x003035e0 lr :0x0023d360 pc :0x0023d3d8
cpsr:0x20000013
thread pri status sp stack size max used left tick error
------ --- ------- ---------- ---------- ------ ---------- ---
tshell 20 suspend 0x000000c8 0x00001000 05% 0x0000000a 000
phy 30 ready 0x000000dc 0x00000400 26% 0x0000000f 000
tcpip 10 suspend 0x000000ec 0x00001000 08% 0x00000014 000
etx 12 suspend 0x000000a8 0x00001000 04% 0x00000640 000
erx 12 ready 0x000000b0 0x00001000 14% 0x00000640 000
tidle0 31 ready 0x0000005c 0x00000100 59% 0x00000004 000
shutdown...
(0) assertion failed at function:rt_hw_cpu_shutdown, line number:38


根据pc与lr地址反汇编后,发现发送arp包时某个指针异常,但是函数调用过程中这个指针一直是正常的,突然间这个地址就无法被访问造成了data abort

由于不经过uboot使用真整个程序都正常,只有在uboot下会出现问题,网络协议栈是lwip

求问整个问题查找的思路,已经被折磨疯了
...全文
4098 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2018-12-30
  • 打赏
  • 举报
回复
uboot 本身也是有网络驱动的,是否是也操作了寄存器导致让他thread 初始状态不对了

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧