您的位置:首页 > 其它

以太网&&lwip协议栈调试笔记之邮件

2013-07-12 15:09 267 查看
调试笔记

1、自动协商是指10/100M自适应,主要在PHY层,默认打开的

2、MDI/MDIX和物理连接有关(是否可对绞),应用可占不支持

3、需明确一下几点:

1)、是否可以收到正常的接收中断

2)、可以在中断处理相关函数中插入一段代码(需开一个零时缓冲区)读出接收FIFO的内容,按照帧格式检查数据是否正确

注意以下几几点

1、在中服务程序中设置断点只有在测试是否能够进入中断服务程序才会用,测试完一般要去掉断点

2、对于本程序,断点可以设置在中断任务中,如果任务能够收到信号量,表明是能够中断的,收到新帧或发送完毕

3、中断处理任务中,收到报文后,会给TCP主任务发消息。注意消息和信号量的区别。消息是能够缓存的,主任务会一个一个地接收处理消息,缓冲区中能够存放的消息总数是有限的,在创建消息时设置。

4、你的问题是单步时被中断,由于操作系统的原因,就没有办法继续被中断的地方继续执行,这个问题很简单,调试注意如下几点:

1)在TCP主任务接收消息处设置断点

2)单步执行时,在距离其不远处设置断点,依次向前推进,如果单步被中断了,改用全速运行,设置的下一个断点能够捕捉到程序

调试方法

1、 按照我的理解,连接时,终端先发送ARP报文,等待服务器应答,已获取服务器MAC地址

2、 收到服务器的ARP报文后,会启动三次握手

1、 调试时再TCP主任务中接收消息的函数的下一行设置断点,跟踪发送报文,按照TCP/IP协议一层一层查看报文内容,在报文写到FIFO前全速运行。等待服务器的应答报文。收到服务器应答报文,会停在断点地方,然后再一层一层跟踪查看报文内容,如果此次通过ARP报文,则复位CPU,重新调试,进入步骤2。

2、 如1设置断点,全速运行到断点,再全速运行到断点,然后跟踪发送报文内容(发送第二个报文),报文发送前,在接收报文的地方设置一个断点,然后全速运行,等待接收第个二报文。

3、 以下如此类推!

7.4
.注意以下几几点
1、在中服务程序中设置断点只有在测试是否能够进入中断服务程序才会用,测试完一般要去掉断点
2、对于本程序,断点可以设置在中断任务中,如果任务能够收到信号量,表明是能够中断的,收到新帧或发送完毕
3、中断处理任务中,收到报文后,会给TCP主任务发消息。注意消息和信号量的区别。消息是能够缓存的,主任务会一个一个地接收处理消息,缓冲区中能够存放的消息总数是有限的,在创建消息时设置。
4、你的问题是单步时被中断,由于操作系统的原因,就没有办法继续被中断的地方继续执行,这个问题很简单,调试注意如下几点:
1)在TCP主任务接收消息处设置断点
2)单步执行时,在距离其不远处设置断点,依次向前推进,如果单步被中断了,改用全速运行,设置的下一个断点能够捕捉到程序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: