diff --git a/Ubiquitous/XiZi_IIoT/arch/arm/cortex-m7/Makefile b/Ubiquitous/XiZi_IIoT/arch/arm/cortex-m7/Makefile index 509b1107c..e77845c7e 100644 --- a/Ubiquitous/XiZi_IIoT/arch/arm/cortex-m7/Makefile +++ b/Ubiquitous/XiZi_IIoT/arch/arm/cortex-m7/Makefile @@ -2,6 +2,10 @@ ifeq ($(CONFIG_BOARD_CORTEX_M7_EVB),y) SRC_FILES := boot.S interrupt.c interrupt_vector.S endif +ifeq ($(CONFIG_BOARD_IMXRT1176_SBC_EVB),y) +SRC_FILES := boot.S interrupt.c interrupt_vector.S +endif + ifeq ($(CONFIG_BOARD_CORTEX_V2M_EVB),y) SRC_DIR += V2M endif diff --git a/Ubiquitous/XiZi_IIoT/board/imxrt1176-sbc/third_party_driver/ethernet/enet_ethernetif.c b/Ubiquitous/XiZi_IIoT/board/imxrt1176-sbc/third_party_driver/ethernet/enet_ethernetif.c index ac69b5cc0..27f6ca749 100644 --- a/Ubiquitous/XiZi_IIoT/board/imxrt1176-sbc/third_party_driver/ethernet/enet_ethernetif.c +++ b/Ubiquitous/XiZi_IIoT/board/imxrt1176-sbc/third_party_driver/ethernet/enet_ethernetif.c @@ -231,6 +231,19 @@ void ethernetif_input(void *netif_arg) } } +/** + * This function should be called when a packet is ready to be read + * from the interface. It uses the function ethernetif_linkinput() that + * should handle the actual reception of bytes from the network + * interface. Then the type of the received packet is determined and + * the appropriate input function is called. + * + * @param netif the lwip network interface structure for this ethernetif + */ +void ethernetif_input2(void *netif_arg){ + ethernetif_input(netif_arg); +} + void *ethernetif_get_enet_base(const uint8_t enetIdx) { ENET_Type *enets[] = ENET_BASE_PTRS; diff --git a/Ubiquitous/XiZi_IIoT/board/imxrt1176-sbc/third_party_driver/include/enet_ethernetif.h b/Ubiquitous/XiZi_IIoT/board/imxrt1176-sbc/third_party_driver/include/enet_ethernetif.h index e8fb06718..f7b1fb943 100644 --- a/Ubiquitous/XiZi_IIoT/board/imxrt1176-sbc/third_party_driver/include/enet_ethernetif.h +++ b/Ubiquitous/XiZi_IIoT/board/imxrt1176-sbc/third_party_driver/include/enet_ethernetif.h @@ -160,6 +160,7 @@ err_t ethernetif1_init(struct netif *netif); * @param netif the lwip network interface structure for this ethernetif */ void ethernetif_input( void *netif_arg); +void ethernetif_input2( void *netif_arg); int ETH_BSP_Config(void); void *ethernetif_config_enet_set(uint8_t enet_port); diff --git a/Ubiquitous/XiZi_IIoT/resources/ethernet/LwIP/arch/lwipopts.h b/Ubiquitous/XiZi_IIoT/resources/ethernet/LwIP/arch/lwipopts.h index ffbb51d74..023b4280b 100644 --- a/Ubiquitous/XiZi_IIoT/resources/ethernet/LwIP/arch/lwipopts.h +++ b/Ubiquitous/XiZi_IIoT/resources/ethernet/LwIP/arch/lwipopts.h @@ -506,7 +506,9 @@ The STM32F4x7 allows computing and verifying the IP, UDP, TCP and ICMP checksums #define IP_REASSEMBLY 1 #define IP_FRAG 1 #define IP_REASS_MAX_PBUFS 10 +#ifndef MEMP_NUM_REASSDATA #define MEMP_NUM_REASSDATA 10 +#endif #else #define IP_REASSEMBLY 0 #define IP_FRAG 0