1. lwip在调用tcp_write后不会立即发送数据,而会等到tcp_slow_tmr中再发送。如需立即发送,可以在tcp_write后调用tcp_output。lwip的这种处理方式对连续调用tcp_write的场合(例如要发送的App层报文头在A处,报文数据在B处)非常合适:在最后一次tcp_write后调用tcp_output。

2. 如果抓包工具报告有不连续的tcp报文(例如本该是报文1,2,3,只捕获到报文1,3),可能是过于频繁的调用了tcp_output,导致上次tcp_output尚未完成(low_level_output的DMA进行中),下次的tcp_out又开始low_level_output。ST的Demo未能很好的处理该问题。可在ethernetif中为low_level_output建立link list,当发送engine忙时,暂时将待发数据link起来。性能要求不严格的情况下,避免频繁调用tcp_output即可。

3. PHY配置为自动协商,*不*要强制为Full Duplex/100MHz,否则会遇到PHY数据包丢失的问题(可能是因为线缆顺序、极性等原因)。

lwip调试记录的更多相关文章

  1. SPI 核软件调试记录

    SPI 核软件调试记录 1.首先说说int SpiFlashWaitForFlashReady(void)这一函数,基本上其它函数在执行的时候,都会事先执行一次此函数.    因为此函数的作用主要是用 ...

  2. Video Timing Controller v6.1软件调试记录

    Video Timing Controller v6.1软件调试记录 GUI配置: . case XVTC_VMODE_PAL: //576i@50 { TimingPtr->Interlace ...

  3. Video Test Pattern Generator(7.0)软件调试记录

    Video Test Pattern Generator(7.0)软件调试记录 . XVidC_VideoMode XVIDC_VM_576_50_I = XVIDC_VM_720x576_50_I ...

  4. MA82G5D16AS16 主频调试记录

    MA82G5D16AS16 主频调试记录 当 SCKS 设置 为 MCKDO / 128 时 MCU 的电流为 0.58mA,100UF 电容可以维持 0.5S,大概可以满足. 但是需要注意外围的线路 ...

  5. Apusic中间件结合MyEclipse进行远程调试记录

    Apusic中间件结合MyEclipse进行远程调试记录. 在金蝶域中正常部署应用. 启动金蝶中间件时使用"startapusic -ds"命令. 在MyEclipse的Run-- ...

  6. http://stblog.baidu-tech.com/?p=1684) coredump调试记录 - PHP篇 原创: 扶墙 贝壳产品技术 今天

    http://stblog.baidu-tech.com/?p=1684) coredump调试记录 - PHP篇 原创: 扶墙 贝壳产品技术 今天

  7. 基于freescale i.Mx6(ARM)的阿里云oss调试记录

    交叉编译阿里OSS调试记录 1.1 开通oss服务 具体参考以下链接: https://help.aliyun.com/document_detail/31884.html?spm=a2c4g.111 ...

  8. [ZJCTF 2019]EasyHeap | house of spirit 调试记录

    BUUCTF 上的题目,由于部分环境没有复现,解法是非期望的 house of spirit 第一次接触伪造堆的利用方式,exp 用的是 Pwnki 师傅的,本文为调试记录及心得体会. 逆向分析的过程 ...

  9. [未完] Linux 4.4 USB —— spiflash模拟usb大容量存储设备 调试记录 Gadget Mass Stroage

    linux 4.4 USB Gadget Mass Stroage 硬件平台: licheepi nano衍生 调试记录 驱动信息 │ This driver is a replacement for ...

随机推荐

  1. Filesystem has been set read-only problem.

    case: when system is running well ,sudden tf became read-only; analyze: read the kernel log using dm ...

  2. 关于display:grid layout

    .wrapper { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; grid-auto-rows: min ...

  3. .net面试题精选

    1.面向对象的三个特征?面向对象的五个基本设计原则? 2.接口与抽象类的区别? 3.谈谈设计模式? 4.线程与进程的区别?开发多线程程序应该考虑哪些问题? 5.简述 .NET中的Task? 6.简述. ...

  4. Java——String类

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. L1-002 打印沙漏

    所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两行符号数差2:符号数先从大到小顺序递减到1,再从小到大顺序递增:首尾符号数相等. 给定任意N个符号,不一定能正好组成一个沙漏.要求打印 ...

  6. Android Studio打开React Native创建的项目

    1.点击 Import project 2.找到项目下android文件夹,选择build.gradle文件,open

  7. iOS plist文件的读写

    原帖:http://blog.csdn.net/totogo2010/article/details/7634185 在做iOS开发时,经常用到到plist文件,  那plist文件是什么呢? 它全名 ...

  8. NBUT 1219 Time 2010辽宁省赛

    Time limit   1000 ms Memory limit   131072 kB Digital clock use 4 digits to express time, each digit ...

  9. magento常见的问题及解决方法

    刚接触magento时,会遇到很多问题,大多数都是些magento配置及操作上的问题,因为刚接触magento不久所有对这些问题比较陌生也不知道如何处理.今日根据模版堂技术指导下和网上的相关例子,这里 ...

  10. 【linux】使用swap文件恢复非正常关闭的文件

    前言 使用vim的时候,文件编辑过程中可能会出现bug,导致非正常关闭.为了保存刚刚修改的内容,需要对文件进行恢复. 操作过程 1.查看目录文件 zrj@zrj-ThinkPad-E470:~/wor ...