只是在我的mbed板上测试一个简单的hello world mqtt程序,我一直收到这个错误:
错误:无法打开源输入文件“fsl_enet.h”:“EthernetInterface / lwip-eth / arch / TARGET_Freescale / k64f_emac_config.h”中没有此类文件或目录,行: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__
答案 0 :(得分:1)
看起来最近以太网图书馆因K64F而被破坏。如果您导入https://developer.mbed.org/teams/mqtt/code/HelloMQTT/,并选择 NOT 来更新库,则可以为K64F编译。
答案 1 :(得分:1)
感谢报道。工具脚本未更新(+ mbed lib),这导致以太网库中的这种破坏。因为ethernet lib需要一些尚未提供的新KSDK文件。
下一个mbed SDK发布是明天,应该解决这个问题。与此同时,我们将研究这个问题,以找到更好的解决方案 - 例如将lwip / arch中的目标代码移动到HAL中。我今天看看。