历史上的今天
返回首页

历史上的今天

今天是:2025年04月22日(星期二)

正在发生

2018年04月22日 | STM32F4 LAN8720以及LWIP的移植调试记录 (2)

2018-04-22 来源:eefocus

背景

在硬件工程师完成了PCB和原理图设计后,根据正点原子的教程对例程进行修改,验证了硬件的正确性。 
STM32F407和LAN8720调试记录. 
正点原子 网络通信实验

下一步的工作需要在产品的板子上实现功能。 
原产品采用W5500的硬TCP/IP协议方案。 
调试路线尝试先从UDP回环开始。

ICMP协议的介绍 
可以看到协议里指出,错误类型属于端口无法到达。 
拿其他程序测试了一下,果然当目标设备的IP正确,而目标设备上没有对应的端口时,确实会回复ICMP报文。 
可见问题出在端口初始化上。

3. 原厂例程测试

无奈之下只能和原子原本的例程对比。能够正常发送报文并接受消息。 
在测试过程中无意中截到这样的报文: 
报文截图 
可以观察到,只有当原地址和目标地址均为8089时,ICMP才没有回错误报文。 
当两者中任意一者不是8089时均会报错。 
回去仔细查看代码,确实有两个地方用到了UDP_DEMO_PORT。 
分别是

err = udp_connect(udppcb, &rmtipaddr, UDP_DEMO_PORT);

err = udp_bind(udppcb, IP_ADDR_ANY, UDP_DEMO_PORT);

一个绑定了本地的端口和IP,另一个绑定了远程设备的IP和端口。 

其中udp_connect这个函数是之前没有用过的。LWIP的手册对该函数作了描述: 

LwIP Application Developers Manual


Connected pcbs only receive data from the connected remote address, while unconected pcbs receive datagrams from any remote address.

因此经过connect的UDP端口将只接收绑定过的源地址源端口的报文。 
尝试把udp_connect这句函数注释掉,果然所有报文都能顺利接收。

推荐阅读

史海拾趣

Excel-Display Corporation公司的发展小趣事

Excel-Display Corporation(以下简称EDC)成立于XX世纪初,由一群富有远见的电子工程师和企业家共同创立。他们看到了当时显示技术领域的巨大潜力,决定成立一家专注于研发和生产高质量显示器的公司。

EDC在创立初期就注重技术研发和产品质量,投入大量资金引进先进的生产设备和技术人才。经过几年的努力,EDC成功推出了一系列性能稳定、画质优良的显示器产品,逐渐在市场上崭露头角。

与此同时,EDC也积极开拓国际市场,与多家国际知名企业建立了合作关系。这些合作不仅为EDC带来了技术上的支持,也为其产品的国际化推广奠定了坚实的基础。

Caliber公司的发展小趣事

Caliber公司自创立之初,便以技术创新为核心竞争力。在电子行业的早期,该公司敏锐地捕捉到市场对高性能计算芯片的需求,投入大量资源进行研发。经过数年的努力,Caliber成功推出了一款具有划时代意义的芯片产品,以其出色的性能和稳定性赢得了市场的广泛认可。这一创新不仅为Caliber带来了巨大的商业成功,也为整个电子行业的发展注入了新的活力。

爱浦电子(AIPULNION)公司的发展小趣事

爱浦电子自成立以来,一直致力于模块电源技术的研发与创新。在成立初期,公司便凭借其专业的研发团队和先进的生产设备,成功研发出多款具有竞争力的模块电源产品。随着技术的不断进步,爱浦电子不断对产品进行升级和优化,以满足市场日益增长的需求。公司不仅通过了ISO9001质量管理体系认证,还成功获得了CE、RoHS等国际认证,进一步提升了产品的品质和竞争力。

ddm hopt + schuler GmbH & Co KG公司的发展小趣事

为了保持技术领先地位和市场竞争力,ddm hopt + schuler公司积极开展跨界合作和创新发展。公司与多所知名高校和研究机构建立了产学研合作关系,共同研发新技术、新产品。此外,公司还积极参与国际交流与合作,引进国际先进技术和管理经验。这些合作不仅为公司带来了更多的创新资源,也提升了公司的国际影响力和竞争力。

Herga公司的发展小趣事

进入21世纪后,Herga公司意识到全球化市场的重要性,开始实施积极的国际化战略。公司首先在欧洲市场建立了稳固的根据地,随后通过并购和合资等方式,逐步进入北美、亚洲等新兴市场。在这个过程中,Herga公司不仅提供了符合当地市场需求的产品和服务,还积极融入当地文化,建立了良好的品牌形象。这些努力使得Herga公司的全球市场份额逐年上升,成为国际电子行业中不可忽视的力量。

富士康(FOXCONN)公司的发展小趣事

为了更好地服务全球客户,FMS积极实施全球化战略。公司在中国深圳设立了子公司——深圳市美丽微半导体有限公司,作为在中国大陆的主要生产基地与销售窗口。同时,FMS还在亚洲、欧洲、美洲等地设立了多个销售据点,形成了覆盖全球的营销网络。这一布局不仅提升了FMS的市场响应速度,也极大地增强了其品牌影响力。

问答坊 | AI 解惑

avr 的书

AVR单片机C语言开发入门指导…

查看全部问答>

請問可以同時插兩只CSR的Bluetooth dongle么?

現正在學習BCHS Application Demo,通信時需要兩臺PC,各插一只dongle,很不方便。請問可以在同一臺PC上插兩只dongle么。理論上是完全可行的,而且從設備管理器中也可以找到兩個設備(dongle),但不知道如何與應用程序關聯起來,應用程序只能同時打 ...…

查看全部问答>

嵌入式,项目,求救!

各位朋友,本人有一些Windows平台的C++开发经验,现在想做嵌入式,自己也有一块ARM的板子,搞过linux的bootloader和内核移植,但是却没有项目可以去学习。本来想去参加培训,可是没有时间。不知哪位朋友现在是否在开发什么项目,能否带小弟一起学习 ...…

查看全部问答>

从EPCS加裁NIOS

公司最近有一个项目,用到EP3C55这个器件,希望能把FPGA配置文件SOF和NIOS的程序文件一并烧写的EPCS芯片上!    在SOPC中添加了EPCS CONTROLLER,并在NIOS的RESET ADDRESS设定为EPCS CONTROLLER的地址!现在有两上问题没有想清楚:  ...…

查看全部问答>

请教汇编指令EALLOW和EDIS的含义

#define  EALLOW asm(\\" EALLOW\\" #define  EDIS   asm(\\" EDIS\\" #define  ESTOP0 asm(\\" ESTOP0\\" 在上面定义的 指令中,不知道三个汇编指令的含义,还请高手赐教,谢谢!! ...…

查看全部问答>

IAR 3.41A 求助

刚刚下了个3.41a的4K限制版在用 发现了几个问题 我用的是MSP430F1121A 我创建了一个C的项目,他提供了一个一条#include "io430.h",如果我加上这句话#include <msp430x11x1.h> 就报错 说很多变量已经定义了 于是我把#include "io430.h ...…

查看全部问答>