以太网&&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)单步执行时,在距离其不远处设置断点,依次向前推进,如果单步被中断了,改用全速运行,设置的下一个断点能够捕捉到程序
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)单步执行时,在距离其不远处设置断点,依次向前推进,如果单步被中断了,改用全速运行,设置的下一个断点能够捕捉到程序
相关文章推荐
- 以太网&&lwip移植调试记录7.1之前
- Wait4 & Ptrace & 进程调试 & 子进程状态获取 笔记总结
- 以太网LWIP协议栈调试记录7.1
- 加壳学习笔记(三)-简单的脱壳思路&调试思路
- Sharepoint学习笔记-- Debug&TroubleShooting--调试Sharepoint环境中的Javascript/ECMAScript
- LWIP中断服务程序解析&&调试记录7.3
- win32汇编 屏幕截图保存BMP 学习笔记<第三篇>之odbg调试
- DIY_DE2之DM9000A网卡调试系列例程(三)——基于LWIP协议栈的TCP/IP实现
- MC52i内部协议栈调试笔记
- C++ Primer 学习笔记:assert调试 && __FUNC__等宏定义
- Sharepoint学习笔记---Debug&TroubleShooting--一种调试Sharepoint2010 Solution的快捷方式
- PHP笔记=>var_dump,大小写,调试输出深度,字符串 this和self
- 关于开启lwIP协议栈的调试输出LWIP_DEBUGF
- asp.net在线发送邮件,以前没做过,调试好了。
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<反射>(二十九)
- 【JavaSE笔记】网络基础&网络编程
- 学习笔记のgetParameter&getAttribute
- 黑马程序员之WinForm编程基础学习笔记:在多行文本框中输入多行"姓名=成绩"格式的数据,要求输出成绩最高的学生的姓名和成绩。
- centos学习笔记--gdb调试部分
- 构建邮件系统的笔记--javamail