完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我使用的STM32F407 UVISION 编译工具
prev = NULL; PCB = tcp_active_pcbs; if (pcb == NULL) { LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: no active pcbsn")); } while (pcb != NULL) { LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: processing active pcbn")); LWIP_ASSERT("tcp_slowtmr: active pcb->state != CLOSEDn", pcb->state != CLOSED); LWIP_ASSERT("tcp_slowtmr: active pcb->state != LISTENn", pcb->state != LISTEN); LWIP_ASSERT("tcp_slowtmr: active pcb->state != TIME-WAITn", pcb->state != TIME_WAIT); if (pcb->last_timer == tcp_timer_ctr) { /* skip this pcb, we have already processed it */ pcb = pcb->next; continue; } 调试这里,发现很奇怪 编程软件之后 tcp_active_pcbs 就为0 了 所以程序就出错了 但是 这是个结构体 struct tcp_pcb *tcp_active_pcbs; 指针怎么会是0呢 而且程序编译后,tcp_active_pcbs 就为0 但是把 tcp_active_pcbs 放到WATCH窗口里又能看到数据 我用标准的例子程序编译也是同样的结果 我查看MAP 文件 这些代码是在 TCP.C 文件里 MAP 里有给TCP.C 分配位置 0x200000c9 COMPRESSED 0x00000003 PAD 0x200000cc COMPRESSED 0x00000004 Data RW 1542 .data raw.o 0x200000d0 COMPRESSED 0x00000024 Data RW 1564 .data tcp.o 0x200000f4 COMPRESSED 0x00000020 Data RW 1590 .data tcp_in.o 0x20000114 COMPRESSED 0x0000000c Data RW 1628 .data timers.o 0x20000120 COMPRESSED 0x00000008 Data RW 1645 .data udp.o 0x20000128 COMPRESSED 0x00000012 Data RW 1727 .data ip.o 不知道哪位大侠知道是什么原因么 另外 程序优化等级为0 |
|
相关推荐
1个回答
|
|
|
对指针不太了解,来学习一下
|
|
|
|
|
只有小组成员才能发言,加入小组>>
6527 浏览 0 评论
2416 浏览 1 评论
3833 浏览 1 评论
使用RealView MDK-ARM用于Microchip AT91SAM7器件
4703 浏览 1 评论
Keil、uVision、RealView、MDK、Keil C51之间的区别比较
4935 浏览 2 评论
468浏览 0评论
286浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:49 , Processed in 0.667526 second(s), Total 95, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2226