mbed 中的 Hello World MQTT 程序

Hello World MQTT program in mbed

我刚刚在我的 mbed 板上测试一个简单的 hello world mqtt 程序,但我不断收到此错误:

Error: Cannot open source input file "fsl_enet.h": No such file or directory in "EthernetInterface/lwip-eth/arch/TARGET_Freescale/k64f_emac_config.h", Line: 33, Col: 23. Error

我什至尝试按照编译器的建议通过添加 mbed-dev 库来修复错误,但错误仍然存​​在。

#ifndef K64F_EMAC_CONFIG_H__
#define K64F_EMAC_CONFIG_H__

#include "fsl_enet.h"

#define ENET_RX_RING_LEN              (16)
#define ENET_TX_RING_LEN              (8)

#define ENET_ETH_MAX_FLEN             (1522) // recommended size for a VLAN frame

#if defined(__cplusplus)
extern "C" {
#endif

int phy_link_status(void);

#if defined(__cplusplus)
}
#endif

#endif // #define K64F_EMAC_CONFIG_H__

看起来 K64F 的 EthernetLibrary 最近坏了。如果您导入 https://developer.mbed.org/teams/mqtt/code/HelloMQTT/,并选择 NOT 来更新库,它可以很好地为 K64F 编译。

感谢您的报告。工具脚本未更新(+ mbed lib),导致以太网库中出现此损坏。因为以太网库需要一些尚不可用的新 KSDK 文件。

下一个 mbed SDK 版本将于明天发布,应该会解决这个问题。与此同时,我们将研究这个问题,以找到更好的解决方案——例如将 lwip/arch 中的目标代码移动到 HAL 中。今天去看看