实例介绍
【实例简介】
该程序主要是在STM32F407平台下,外加一个LAN8742A的PHY模块,加载LwIP及FreeRTOS,本例使用CubeMX软件生成原始工程,并在该工程基础之上进行相应的线程添加,并调试完成,成功实现ping,TCP回响测试功能,达到预期的目的。
【实例截图】
【核心代码】
STM32F407_LAN8742A_LwIP_FreeRTOS
└── STM32F407_LAN8742A_LwIP_FreeRTOS
├── Drivers
│ ├── CMSIS
│ │ ├── Device
│ │ │ └── ST
│ │ │ └── STM32F4xx
│ │ │ └── Include
│ │ │ ├── stm32f407xx.h
│ │ │ ├── stm32f4xx.h
│ │ │ └── system_stm32f4xx.h
│ │ └── Include
│ │ ├── arm_common_tables.h
│ │ ├── arm_const_structs.h
│ │ ├── arm_math.h
│ │ ├── cmsis_armcc.h
│ │ ├── cmsis_armcc_V6.h
│ │ ├── cmsis_gcc.h
│ │ ├── core_cm0.h
│ │ ├── core_cm0plus.h
│ │ ├── core_cm3.h
│ │ ├── core_cm4.h
│ │ ├── core_cm7.h
│ │ ├── core_cmFunc.h
│ │ ├── core_cmInstr.h
│ │ ├── core_cmSimd.h
│ │ ├── core_sc000.h
│ │ └── core_sc300.h
│ └── STM32F4xx_HAL_Driver
│ ├── Inc
│ │ ├── Legacy
│ │ │ └── stm32_hal_legacy.h
│ │ ├── stm32f4xx_hal.h
│ │ ├── stm32f4xx_hal_cortex.h
│ │ ├── stm32f4xx_hal_def.h
│ │ ├── stm32f4xx_hal_dma.h
│ │ ├── stm32f4xx_hal_dma_ex.h
│ │ ├── stm32f4xx_hal_eth.h
│ │ ├── stm32f4xx_hal_flash.h
│ │ ├── stm32f4xx_hal_flash_ex.h
│ │ ├── stm32f4xx_hal_flash_ramfunc.h
│ │ ├── stm32f4xx_hal_gpio.h
│ │ ├── stm32f4xx_hal_gpio_ex.h
│ │ ├── stm32f4xx_hal_pwr.h
│ │ ├── stm32f4xx_hal_pwr_ex.h
│ │ ├── stm32f4xx_hal_rcc.h
│ │ ├── stm32f4xx_hal_rcc_ex.h
│ │ ├── stm32f4xx_hal_tim.h
│ │ ├── stm32f4xx_hal_tim_ex.h
│ │ └── stm32f4xx_hal_uart.h
│ └── Src
│ ├── stm32f4xx_hal.c
│ ├── stm32f4xx_hal_cortex.c
│ ├── stm32f4xx_hal_dma.c
│ ├── stm32f4xx_hal_dma_ex.c
│ ├── stm32f4xx_hal_eth.c
│ ├── stm32f4xx_hal_flash.c
│ ├── stm32f4xx_hal_flash_ex.c
│ ├── stm32f4xx_hal_flash_ramfunc.c
│ ├── stm32f4xx_hal_gpio.c
│ ├── stm32f4xx_hal_pwr.c
│ ├── stm32f4xx_hal_pwr_ex.c
│ ├── stm32f4xx_hal_rcc.c
│ ├── stm32f4xx_hal_rcc_ex.c
│ ├── stm32f4xx_hal_tim.c
│ ├── stm32f4xx_hal_tim_ex.c
│ └── stm32f4xx_hal_uart.c
├── Inc
│ ├── FreeRTOSConfig.h
│ ├── app_ethernet.h
│ ├── ethernetif.h
│ ├── gpio.h
│ ├── lwip.h
│ ├── lwipopts.h
│ ├── main.h
│ ├── stm32f4xx_hal_conf.h
│ ├── stm32f4xx_it.h
│ ├── tim.h
│ └── usart.h
├── MDK-ARM
│ ├── DebugConfig
│ │ └── STM32F407_LAN8742A_LwIP_FreeRTOS_STM32F407ZGTx.dbgconf
│ ├── RTE
│ │ └── RTE_Components.h
│ ├── STM32F407_LAN8742A_LwIP_FreeRTOS
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.axf
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.build_log.htm
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.hex
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.htm
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.lnp
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.map
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.sct
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS_STM32F407_LAN8742A_LwIP_FreeRTOS.dep
│ │ ├── api_lib.crf
│ │ ├── api_lib.d
│ │ ├── api_lib.o
│ │ ├── api_msg.crf
│ │ ├── api_msg.d
│ │ ├── api_msg.o
│ │ ├── app_ethernet.crf
│ │ ├── app_ethernet.d
│ │ ├── arc4.crf
│ │ ├── arc4.d
│ │ ├── arc4.o
│ │ ├── auth.crf
│ │ ├── auth.d
│ │ ├── auth.o
│ │ ├── autoip.crf
│ │ ├── autoip.d
│ │ ├── autoip.o
│ │ ├── ccp.crf
│ │ ├── ccp.d
│ │ ├── ccp.o
│ │ ├── chap-md5.crf
│ │ ├── chap-md5.d
│ │ ├── chap-md5.o
│ │ ├── chap-new.crf
│ │ ├── chap-new.d
│ │ ├── chap-new.o
│ │ ├── chap_ms.crf
│ │ ├── chap_ms.d
│ │ ├── chap_ms.o
│ │ ├── cmsis_os.crf
│ │ ├── cmsis_os.d
│ │ ├── cmsis_os.o
│ │ ├── croutine.crf
│ │ ├── croutine.d
│ │ ├── croutine.o
│ │ ├── def.crf
│ │ ├── def.d
│ │ ├── def.o
│ │ ├── demand.crf
│ │ ├── demand.d
│ │ ├── demand.o
│ │ ├── des.crf
│ │ ├── des.d
│ │ ├── des.o
│ │ ├── dhcp.crf
│ │ ├── dhcp.d
│ │ ├── dhcp.o
│ │ ├── dhcp6.crf
│ │ ├── dhcp6.d
│ │ ├── dhcp6.o
│ │ ├── dns.crf
│ │ ├── dns.d
│ │ ├── dns.o
│ │ ├── eap.crf
│ │ ├── eap.d
│ │ ├── eap.o
│ │ ├── ecp.crf
│ │ ├── ecp.d
│ │ ├── ecp.o
│ │ ├── err.crf
│ │ ├── err.d
│ │ ├── err.o
│ │ ├── etharp.crf
│ │ ├── etharp.d
│ │ ├── etharp.o
│ │ ├── ethernet.crf
│ │ ├── ethernet.d
│ │ ├── ethernet.o
│ │ ├── ethernetif.crf
│ │ ├── ethernetif.d
│ │ ├── ethernetif.o
│ │ ├── ethip6.crf
│ │ ├── ethip6.d
│ │ ├── ethip6.o
│ │ ├── eui64.crf
│ │ ├── eui64.d
│ │ ├── eui64.o
│ │ ├── event_groups.crf
│ │ ├── event_groups.d
│ │ ├── event_groups.o
│ │ ├── freertos.crf
│ │ ├── freertos.d
│ │ ├── freertos.o
│ │ ├── fsm.crf
│ │ ├── fsm.d
│ │ ├── fsm.o
│ │ ├── gpio.crf
│ │ ├── gpio.d
│ │ ├── gpio.o
│ │ ├── heap_4.crf
│ │ ├── heap_4.d
│ │ ├── heap_4.o
│ │ ├── icmp.crf
│ │ ├── icmp.d
│ │ ├── icmp.o
│ │ ├── icmp6.crf
│ │ ├── icmp6.d
│ │ ├── icmp6.o
│ │ ├── igmp.crf
│ │ ├── igmp.d
│ │ ├── igmp.o
│ │ ├── inet6.crf
│ │ ├── inet6.d
│ │ ├── inet6.o
│ │ ├── inet_chksum.crf
│ │ ├── inet_chksum.d
│ │ ├── inet_chksum.o
│ │ ├── init.crf
│ │ ├── init.d
│ │ ├── init.o
│ │ ├── ip.crf
│ │ ├── ip.d
│ │ ├── ip.o
│ │ ├── ip4.crf
│ │ ├── ip4.d
│ │ ├── ip4.o
│ │ ├── ip4_addr.crf
│ │ ├── ip4_addr.d
│ │ ├── ip4_addr.o
│ │ ├── ip4_frag.crf
│ │ ├── ip4_frag.d
│ │ ├── ip4_frag.o
│ │ ├── ip6.crf
│ │ ├── ip6.d
│ │ ├── ip6.o
│ │ ├── ip6_addr.crf
│ │ ├── ip6_addr.d
│ │ ├── ip6_addr.o
│ │ ├── ip6_frag.crf
│ │ ├── ip6_frag.d
│ │ ├── ip6_frag.o
│ │ ├── ipcp.crf
│ │ ├── ipcp.d
│ │ ├── ipcp.o
│ │ ├── ipv6cp.crf
│ │ ├── ipv6cp.d
│ │ ├── ipv6cp.o
│ │ ├── lcp.crf
│ │ ├── lcp.d
│ │ ├── lcp.o
│ │ ├── list.crf
│ │ ├── list.d
│ │ ├── list.o
│ │ ├── lowpan6.crf
│ │ ├── lowpan6.d
│ │ ├── lowpan6.o
│ │ ├── lwip.crf
│ │ ├── lwip.d
│ │ ├── lwip.o
│ │ ├── magic.crf
│ │ ├── magic.d
│ │ ├── magic.o
│ │ ├── main.crf
│ │ ├── main.d
│ │ ├── main.o
│ │ ├── md4.crf
│ │ ├── md4.d
│ │ ├── md4.o
│ │ ├── md5.crf
│ │ ├── md5.d
│ │ ├── md5.o
│ │ ├── mem.crf
│ │ ├── mem.d
│ │ ├── mem.o
│ │ ├── memp.crf
│ │ ├── memp.d
│ │ ├── memp.o
│ │ ├── mld6.crf
│ │ ├── mld6.d
│ │ ├── mld6.o
│ │ ├── mppe.crf
│ │ ├── mppe.d
│ │ ├── mppe.o
│ │ ├── multilink.crf
│ │ ├── multilink.d
│ │ ├── multilink.o
│ │ ├── nd6.crf
│ │ ├── nd6.d
│ │ ├── nd6.o
│ │ ├── netbuf.crf
│ │ ├── netbuf.d
│ │ ├── netbuf.o
│ │ ├── netdb.crf
│ │ ├── netdb.d
│ │ ├── netdb.o
│ │ ├── netif.crf
│ │ ├── netif.d
│ │ ├── netif.o
│ │ ├── netifapi.crf
│ │ ├── netifapi.d
│ │ ├── netifapi.o
│ │ ├── pbuf.crf
│ │ ├── pbuf.d
│ │ ├── pbuf.o
│ │ ├── port.crf
│ │ ├── port.d
│ │ ├── port.o
│ │ ├── ppp.crf
│ │ ├── ppp.d
│ │ ├── ppp.o
│ │ ├── pppapi.crf
│ │ ├── pppapi.d
│ │ ├── pppapi.o
│ │ ├── pppcrypt.crf
│ │ ├── pppcrypt.d
│ │ ├── pppcrypt.o
│ │ ├── pppoe.crf
│ │ ├── pppoe.d
│ │ ├── pppoe.o
│ │ ├── pppol2tp.crf
│ │ ├── pppol2tp.d
│ │ ├── pppol2tp.o
│ │ ├── pppos.crf
│ │ ├── pppos.d
│ │ ├── pppos.o
│ │ ├── queue.crf
│ │ ├── queue.d
│ │ ├── queue.o
│ │ ├── raw.crf
│ │ ├── raw.d
│ │ ├── raw.o
│ │ ├── sha1.crf
│ │ ├── sha1.d
│ │ ├── sha1.o
│ │ ├── slipif.crf
│ │ ├── slipif.d
│ │ ├── slipif.o
│ │ ├── sockets.crf
│ │ ├── sockets.d
│ │ ├── sockets.o
│ │ ├── startup_stm32f407xx.d
│ │ ├── startup_stm32f407xx.o
│ │ ├── stats.crf
│ │ ├── stats.d
│ │ ├── stats.o
│ │ ├── stm32f4xx_hal.crf
│ │ ├── stm32f4xx_hal.d
│ │ ├── stm32f4xx_hal.o
│ │ ├── stm32f4xx_hal_cortex.crf
│ │ ├── stm32f4xx_hal_cortex.d
│ │ ├── stm32f4xx_hal_cortex.o
│ │ ├── stm32f4xx_hal_dma.crf
│ │ ├── stm32f4xx_hal_dma.d
│ │ ├── stm32f4xx_hal_dma.o
│ │ ├── stm32f4xx_hal_dma_ex.crf
│ │ ├── stm32f4xx_hal_dma_ex.d
│ │ ├── stm32f4xx_hal_dma_ex.o
│ │ ├── stm32f4xx_hal_eth.crf
│ │ ├── stm32f4xx_hal_eth.d
│ │ ├── stm32f4xx_hal_eth.o
│ │ ├── stm32f4xx_hal_flash.crf
│ │ ├── stm32f4xx_hal_flash.d
│ │ ├── stm32f4xx_hal_flash.o
│ │ ├── stm32f4xx_hal_flash_ex.crf
│ │ ├── stm32f4xx_hal_flash_ex.d
│ │ ├── stm32f4xx_hal_flash_ex.o
│ │ ├── stm32f4xx_hal_flash_ramfunc.crf
│ │ ├── stm32f4xx_hal_flash_ramfunc.d
│ │ ├── stm32f4xx_hal_flash_ramfunc.o
│ │ ├── stm32f4xx_hal_gpio.crf
│ │ ├── stm32f4xx_hal_gpio.d
│ │ ├── stm32f4xx_hal_gpio.o
│ │ ├── stm32f4xx_hal_msp.crf
│ │ ├── stm32f4xx_hal_msp.d
│ │ ├── stm32f4xx_hal_msp.o
│ │ ├── stm32f4xx_hal_pwr.crf
│ │ ├── stm32f4xx_hal_pwr.d
│ │ ├── stm32f4xx_hal_pwr.o
│ │ ├── stm32f4xx_hal_pwr_ex.crf
│ │ ├── stm32f4xx_hal_pwr_ex.d
│ │ ├── stm32f4xx_hal_pwr_ex.o
│ │ ├── stm32f4xx_hal_rcc.crf
│ │ ├── stm32f4xx_hal_rcc.d
│ │ ├── stm32f4xx_hal_rcc.o
│ │ ├── stm32f4xx_hal_rcc_ex.crf
│ │ ├── stm32f4xx_hal_rcc_ex.d
│ │ ├── stm32f4xx_hal_rcc_ex.o
│ │ ├── stm32f4xx_hal_tim.crf
│ │ ├── stm32f4xx_hal_tim.d
│ │ ├── stm32f4xx_hal_tim.o
│ │ ├── stm32f4xx_hal_tim_ex.crf
│ │ ├── stm32f4xx_hal_tim_ex.d
│ │ ├── stm32f4xx_hal_tim_ex.o
│ │ ├── stm32f4xx_hal_uart.crf
│ │ ├── stm32f4xx_hal_uart.d
│ │ ├── stm32f4xx_hal_uart.o
│ │ ├── stm32f4xx_it.crf
│ │ ├── stm32f4xx_it.d
│ │ ├── stm32f4xx_it.o
│ │ ├── sys.crf
│ │ ├── sys.d
│ │ ├── sys.o
│ │ ├── sys_arch.crf
│ │ ├── sys_arch.d
│ │ ├── sys_arch.o
│ │ ├── system_stm32f4xx.crf
│ │ ├── system_stm32f4xx.d
│ │ ├── system_stm32f4xx.o
│ │ ├── tasks.crf
│ │ ├── tasks.d
│ │ ├── tasks.o
│ │ ├── tcp.crf
│ │ ├── tcp.d
│ │ ├── tcp.o
│ │ ├── tcp_in.crf
│ │ ├── tcp_in.d
│ │ ├── tcp_in.o
│ │ ├── tcp_out.crf
│ │ ├── tcp_out.d
│ │ ├── tcp_out.o
│ │ ├── tcpecho.crf
│ │ ├── tcpecho.d
│ │ ├── tcpecho.o
│ │ ├── tcpip.crf
│ │ ├── tcpip.d
│ │ ├── tcpip.o
│ │ ├── tim.crf
│ │ ├── tim.d
│ │ ├── tim.o
│ │ ├── timeouts.crf
│ │ ├── timeouts.d
│ │ ├── timeouts.o
│ │ ├── timers.crf
│ │ ├── timers.d
│ │ ├── timers.o
│ │ ├── udp.crf
│ │ ├── udp.d
│ │ ├── udp.o
│ │ ├── udpecho.crf
│ │ ├── udpecho.d
│ │ ├── udpecho.o
│ │ ├── upap.crf
│ │ ├── upap.d
│ │ ├── upap.o
│ │ ├── usart.crf
│ │ ├── usart.d
│ │ ├── usart.o
│ │ ├── utils.crf
│ │ ├── utils.d
│ │ ├── utils.o
│ │ ├── vj.crf
│ │ ├── vj.d
│ │ └── vj.o
│ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.uvguix.Administrator
│ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.uvoptx
│ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.uvprojx
│ ├── startup_stm32f407xx.lst
│ └── startup_stm32f407xx.s
├── Middlewares
│ └── Third_Party
│ ├── FreeRTOS
│ │ └── Source
│ │ ├── CMSIS_RTOS
│ │ │ ├── cmsis_os.c
│ │ │ └── cmsis_os.h
│ │ ├── croutine.c
│ │ ├── event_groups.c
│ │ ├── include
│ │ │ ├── FreeRTOS.h
│ │ │ ├── FreeRTOSConfig_template.h
│ │ │ ├── StackMacros.h
│ │ │ ├── croutine.h
│ │ │ ├── deprecated_definitions.h
│ │ │ ├── event_groups.h
│ │ │ ├── list.h
│ │ │ ├── mpu_prototypes.h
│ │ │ ├── mpu_wrappers.h
│ │ │ ├── portable.h
│ │ │ ├── projdefs.h
│ │ │ ├── queue.h
│ │ │ ├── semphr.h
│ │ │ ├── task.h
│ │ │ └── timers.h
│ │ ├── list.c
│ │ ├── portable
│ │ │ ├── MemMang
│ │ │ │ └── heap_4.c
│ │ │ └── RVDS
│ │ │ └── ARM_CM4F
│ │ │ ├── port.c
│ │ │ └── portmacro.h
│ │ ├── queue.c
│ │ ├── tasks.c
│ │ └── timers.c
│ └── LwIP
│ ├── src
│ │ ├── api
│ │ │ ├── api_lib.c
│ │ │ ├── api_msg.c
│ │ │ ├── err.c
│ │ │ ├── netbuf.c
│ │ │ ├── netdb.c
│ │ │ ├── netifapi.c
│ │ │ ├── sockets.c
│ │ │ └── tcpip.c
│ │ ├── core
│ │ │ ├── def.c
│ │ │ ├── dns.c
│ │ │ ├── inet_chksum.c
│ │ │ ├── init.c
│ │ │ ├── ip.c
│ │ │ ├── ipv4
│ │ │ │ ├── autoip.c
│ │ │ │ ├── dhcp.c
│ │ │ │ ├── etharp.c
│ │ │ │ ├── icmp.c
│ │ │ │ ├── igmp.c
│ │ │ │ ├── ip4.c
│ │ │ │ ├── ip4_addr.c
│ │ │ │ └── ip4_frag.c
│ │ │ ├── ipv6
│ │ │ │ ├── dhcp6.c
│ │ │ │ ├── ethip6.c
│ │ │ │ ├── icmp6.c
│ │ │ │ ├── inet6.c
│ │ │ │ ├── ip6.c
│ │ │ │ ├── ip6_addr.c
│ │ │ │ ├── ip6_frag.c
│ │ │ │ ├── mld6.c
│ │ │ │ └── nd6.c
│ │ │ ├── mem.c
│ │ │ ├── memp.c
│ │ │ ├── netif.c
│ │ │ ├── pbuf.c
│ │ │ ├── raw.c
│ │ │ ├── stats.c
│ │ │ ├── sys.c
│ │ │ ├── tcp.c
│ │ │ ├── tcp_in.c
│ │ │ ├── tcp_out.c
│ │ │ ├── timeouts.c
│ │ │ └── udp.c
│ │ ├── include
│ │ │ ├── lwip
│ │ │ │ ├── api.h
│ │ │ │ ├── apps
│ │ │ │ │ ├── fs.h
│ │ │ │ │ ├── httpd.h
│ │ │ │ │ ├── httpd_opts.h
│ │ │ │ │ ├── lwiperf.h
│ │ │ │ │ ├── mdns.h
│ │ │ │ │ ├── mdns_opts.h
│ │ │ │ │ ├── mdns_priv.h
│ │ │ │ │ ├── netbiosns.h
│ │ │ │ │ ├── netbiosns_opts.h
│ │ │ │ │ ├── snmp.h
│ │ │ │ │ ├── snmp_core.h
│ │ │ │ │ ├── snmp_mib2.h
│ │ │ │ │ ├── snmp_opts.h
│ │ │ │ │ ├── snmp_scalar.h
│ │ │ │ │ ├── snmp_table.h
│ │ │ │ │ ├── snmp_threadsync.h
│ │ │ │ │ ├── snmpv3.h
│ │ │ │ │ ├── sntp.h
│ │ │ │ │ ├── sntp_opts.h
│ │ │ │ │ ├── tftp_opts.h
│ │ │ │ │ └── tftp_server.h
│ │ │ │ ├── arch.h
│ │ │ │ ├── autoip.h
│ │ │ │ ├── debug.h
│ │ │ │ ├── def.h
│ │ │ │ ├── dhcp.h
│ │ │ │ ├── dhcp6.h
│ │ │ │ ├── dns.h
│ │ │ │ ├── err.h
│ │ │ │ ├── errno.h
│ │ │ │ ├── etharp.h
│ │ │ │ ├── ethip6.h
│ │ │ │ ├── icmp.h
│ │ │ │ ├── icmp6.h
│ │ │ │ ├── igmp.h
│ │ │ │ ├── inet.h
│ │ │ │ ├── inet_chksum.h
│ │ │ │ ├── init.h
│ │ │ │ ├── ip.h
│ │ │ │ ├── ip4.h
│ │ │ │ ├── ip4_addr.h
│ │ │ │ ├── ip4_frag.h
│ │ │ │ ├── ip6.h
│ │ │ │ ├── ip6_addr.h
│ │ │ │ ├── ip6_frag.h
│ │ │ │ ├── ip_addr.h
│ │ │ │ ├── mem.h
│ │ │ │ ├── memp.h
│ │ │ │ ├── mld6.h
│ │ │ │ ├── nd6.h
│ │ │ │ ├── netbuf.h
│ │ │ │ ├── netdb.h
│ │ │ │ ├── netif.h
│ │ │ │ ├── netifapi.h
│ │ │ │ ├── opt.h
│ │ │ │ ├── pbuf.h
│ │ │ │ ├── priv
│ │ │ │ │ ├── api_msg.h
│ │ │ │ │ ├── memp_priv.h
│ │ │ │ │ ├── memp_std.h
│ │ │ │ │ ├── tcp_priv.h
│ │ │ │ │ └── tcpip_priv.h
│ │ │ │ ├── prot
│ │ │ │ │ ├── autoip.h
│ │ │ │ │ ├── dhcp.h
│ │ │ │ │ ├── dns.h
│ │ │ │ │ ├── etharp.h
│ │ │ │ │ ├── ethernet.h
│ │ │ │ │ ├── icmp.h
│ │ │ │ │ ├── icmp6.h
│ │ │ │ │ ├── igmp.h
│ │ │ │ │ ├── ip.h
│ │ │ │ │ ├── ip4.h
│ │ │ │ │ ├── ip6.h
│ │ │ │ │ ├── mld6.h
│ │ │ │ │ ├── nd6.h
│ │ │ │ │ ├── tcp.h
│ │ │ │ │ └── udp.h
│ │ │ │ ├── raw.h
│ │ │ │ ├── sio.h
│ │ │ │ ├── snmp.h
│ │ │ │ ├── sockets.h
│ │ │ │ ├── stats.h
│ │ │ │ ├── sys.h
│ │ │ │ ├── tcp.h
│ │ │ │ ├── tcpip.h
│ │ │ │ ├── timeouts.h
│ │ │ │ └── udp.h
│ │ │ ├── netif
│ │ │ │ ├── etharp.h
│ │ │ │ ├── ethernet.h
│ │ │ │ ├── lowpan6.h
│ │ │ │ ├── lowpan6_opts.h
│ │ │ │ ├── ppp
│ │ │ │ │ ├── ccp.h
│ │ │ │ │ ├── chap-md5.h
│ │ │ │ │ ├── chap-new.h
│ │ │ │ │ ├── chap_ms.h
│ │ │ │ │ ├── eap.h
│ │ │ │ │ ├── ecp.h
│ │ │ │ │ ├── eui64.h
│ │ │ │ │ ├── fsm.h
│ │ │ │ │ ├── ipcp.h
│ │ │ │ │ ├── ipv6cp.h
│ │ │ │ │ ├── lcp.h
│ │ │ │ │ ├── magic.h
│ │ │ │ │ ├── mppe.h
│ │ │ │ │ ├── polarssl
│ │ │ │ │ │ ├── arc4.h
│ │ │ │ │ │ ├── des.h
│ │ │ │ │ │ ├── md4.h
│ │ │ │ │ │ ├── md5.h
│ │ │ │ │ │ └── sha1.h
│ │ │ │ │ ├── ppp.h
│ │ │ │ │ ├── ppp_impl.h
│ │ │ │ │ ├── ppp_opts.h
│ │ │ │ │ ├── pppapi.h
│ │ │ │ │ ├── pppcrypt.h
│ │ │ │ │ ├── pppdebug.h
│ │ │ │ │ ├── pppoe.h
│ │ │ │ │ ├── pppol2tp.h
│ │ │ │ │ ├── pppos.h
│ │ │ │ │ ├── upap.h
│ │ │ │ │ └── vj.h
│ │ │ │ └── slipif.h
│ │ │ └── posix
│ │ │ ├── errno.h
│ │ │ ├── netdb.h
│ │ │ └── sys
│ │ │ └── socket.h
│ │ └── netif
│ │ ├── ethernet.c
│ │ ├── lowpan6.c
│ │ ├── ppp
│ │ │ ├── auth.c
│ │ │ ├── ccp.c
│ │ │ ├── chap-md5.c
│ │ │ ├── chap-new.c
│ │ │ ├── chap_ms.c
│ │ │ ├── demand.c
│ │ │ ├── eap.c
│ │ │ ├── ecp.c
│ │ │ ├── eui64.c
│ │ │ ├── fsm.c
│ │ │ ├── ipcp.c
│ │ │ ├── ipv6cp.c
│ │ │ ├── lcp.c
│ │ │ ├── magic.c
│ │ │ ├── mppe.c
│ │ │ ├── multilink.c
│ │ │ ├── polarssl
│ │ │ │ ├── arc4.c
│ │ │ │ ├── des.c
│ │ │ │ ├── md4.c
│ │ │ │ ├── md5.c
│ │ │ │ └── sha1.c
│ │ │ ├── ppp.c
│ │ │ ├── pppapi.c
│ │ │ ├── pppcrypt.c
│ │ │ ├── pppoe.c
│ │ │ ├── pppol2tp.c
│ │ │ ├── pppos.c
│ │ │ ├── upap.c
│ │ │ ├── utils.c
│ │ │ └── vj.c
│ │ └── slipif.c
│ └── system
│ ├── OS
│ │ └── sys_arch.c
│ └── arch
│ ├── bpstruct.h
│ ├── cc.h
│ ├── cpu.h
│ ├── epstruct.h
│ ├── init.h
│ ├── lib.h
│ ├── perf.h
│ └── sys_arch.h
├── STM32F407_LAN8742A_LwIP_FreeRTOS.ioc
├── STM32F407_LAN8742A_LwIP_FreeRTOS.pdf
├── STM32F407_LAN8742A_LwIP_FreeRTOS.txt
└── Src
├── app_ethernet.c
├── ethernetif.c
├── freertos.c
├── gpio.c
├── lwip.c
├── main.c
├── stm32f4xx_hal_msp.c
├── stm32f4xx_it.c
├── system_stm32f4xx.c
├── tcpecho.c
├── tim.c
├── udpecho.c
└── usart.c
50 directories, 673 files
该程序主要是在STM32F407平台下,外加一个LAN8742A的PHY模块,加载LwIP及FreeRTOS,本例使用CubeMX软件生成原始工程,并在该工程基础之上进行相应的线程添加,并调试完成,成功实现ping,TCP回响测试功能,达到预期的目的。
【实例截图】
【核心代码】
STM32F407_LAN8742A_LwIP_FreeRTOS
└── STM32F407_LAN8742A_LwIP_FreeRTOS
├── Drivers
│ ├── CMSIS
│ │ ├── Device
│ │ │ └── ST
│ │ │ └── STM32F4xx
│ │ │ └── Include
│ │ │ ├── stm32f407xx.h
│ │ │ ├── stm32f4xx.h
│ │ │ └── system_stm32f4xx.h
│ │ └── Include
│ │ ├── arm_common_tables.h
│ │ ├── arm_const_structs.h
│ │ ├── arm_math.h
│ │ ├── cmsis_armcc.h
│ │ ├── cmsis_armcc_V6.h
│ │ ├── cmsis_gcc.h
│ │ ├── core_cm0.h
│ │ ├── core_cm0plus.h
│ │ ├── core_cm3.h
│ │ ├── core_cm4.h
│ │ ├── core_cm7.h
│ │ ├── core_cmFunc.h
│ │ ├── core_cmInstr.h
│ │ ├── core_cmSimd.h
│ │ ├── core_sc000.h
│ │ └── core_sc300.h
│ └── STM32F4xx_HAL_Driver
│ ├── Inc
│ │ ├── Legacy
│ │ │ └── stm32_hal_legacy.h
│ │ ├── stm32f4xx_hal.h
│ │ ├── stm32f4xx_hal_cortex.h
│ │ ├── stm32f4xx_hal_def.h
│ │ ├── stm32f4xx_hal_dma.h
│ │ ├── stm32f4xx_hal_dma_ex.h
│ │ ├── stm32f4xx_hal_eth.h
│ │ ├── stm32f4xx_hal_flash.h
│ │ ├── stm32f4xx_hal_flash_ex.h
│ │ ├── stm32f4xx_hal_flash_ramfunc.h
│ │ ├── stm32f4xx_hal_gpio.h
│ │ ├── stm32f4xx_hal_gpio_ex.h
│ │ ├── stm32f4xx_hal_pwr.h
│ │ ├── stm32f4xx_hal_pwr_ex.h
│ │ ├── stm32f4xx_hal_rcc.h
│ │ ├── stm32f4xx_hal_rcc_ex.h
│ │ ├── stm32f4xx_hal_tim.h
│ │ ├── stm32f4xx_hal_tim_ex.h
│ │ └── stm32f4xx_hal_uart.h
│ └── Src
│ ├── stm32f4xx_hal.c
│ ├── stm32f4xx_hal_cortex.c
│ ├── stm32f4xx_hal_dma.c
│ ├── stm32f4xx_hal_dma_ex.c
│ ├── stm32f4xx_hal_eth.c
│ ├── stm32f4xx_hal_flash.c
│ ├── stm32f4xx_hal_flash_ex.c
│ ├── stm32f4xx_hal_flash_ramfunc.c
│ ├── stm32f4xx_hal_gpio.c
│ ├── stm32f4xx_hal_pwr.c
│ ├── stm32f4xx_hal_pwr_ex.c
│ ├── stm32f4xx_hal_rcc.c
│ ├── stm32f4xx_hal_rcc_ex.c
│ ├── stm32f4xx_hal_tim.c
│ ├── stm32f4xx_hal_tim_ex.c
│ └── stm32f4xx_hal_uart.c
├── Inc
│ ├── FreeRTOSConfig.h
│ ├── app_ethernet.h
│ ├── ethernetif.h
│ ├── gpio.h
│ ├── lwip.h
│ ├── lwipopts.h
│ ├── main.h
│ ├── stm32f4xx_hal_conf.h
│ ├── stm32f4xx_it.h
│ ├── tim.h
│ └── usart.h
├── MDK-ARM
│ ├── DebugConfig
│ │ └── STM32F407_LAN8742A_LwIP_FreeRTOS_STM32F407ZGTx.dbgconf
│ ├── RTE
│ │ └── RTE_Components.h
│ ├── STM32F407_LAN8742A_LwIP_FreeRTOS
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.axf
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.build_log.htm
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.hex
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.htm
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.lnp
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.map
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.sct
│ │ ├── STM32F407_LAN8742A_LwIP_FreeRTOS_STM32F407_LAN8742A_LwIP_FreeRTOS.dep
│ │ ├── api_lib.crf
│ │ ├── api_lib.d
│ │ ├── api_lib.o
│ │ ├── api_msg.crf
│ │ ├── api_msg.d
│ │ ├── api_msg.o
│ │ ├── app_ethernet.crf
│ │ ├── app_ethernet.d
│ │ ├── arc4.crf
│ │ ├── arc4.d
│ │ ├── arc4.o
│ │ ├── auth.crf
│ │ ├── auth.d
│ │ ├── auth.o
│ │ ├── autoip.crf
│ │ ├── autoip.d
│ │ ├── autoip.o
│ │ ├── ccp.crf
│ │ ├── ccp.d
│ │ ├── ccp.o
│ │ ├── chap-md5.crf
│ │ ├── chap-md5.d
│ │ ├── chap-md5.o
│ │ ├── chap-new.crf
│ │ ├── chap-new.d
│ │ ├── chap-new.o
│ │ ├── chap_ms.crf
│ │ ├── chap_ms.d
│ │ ├── chap_ms.o
│ │ ├── cmsis_os.crf
│ │ ├── cmsis_os.d
│ │ ├── cmsis_os.o
│ │ ├── croutine.crf
│ │ ├── croutine.d
│ │ ├── croutine.o
│ │ ├── def.crf
│ │ ├── def.d
│ │ ├── def.o
│ │ ├── demand.crf
│ │ ├── demand.d
│ │ ├── demand.o
│ │ ├── des.crf
│ │ ├── des.d
│ │ ├── des.o
│ │ ├── dhcp.crf
│ │ ├── dhcp.d
│ │ ├── dhcp.o
│ │ ├── dhcp6.crf
│ │ ├── dhcp6.d
│ │ ├── dhcp6.o
│ │ ├── dns.crf
│ │ ├── dns.d
│ │ ├── dns.o
│ │ ├── eap.crf
│ │ ├── eap.d
│ │ ├── eap.o
│ │ ├── ecp.crf
│ │ ├── ecp.d
│ │ ├── ecp.o
│ │ ├── err.crf
│ │ ├── err.d
│ │ ├── err.o
│ │ ├── etharp.crf
│ │ ├── etharp.d
│ │ ├── etharp.o
│ │ ├── ethernet.crf
│ │ ├── ethernet.d
│ │ ├── ethernet.o
│ │ ├── ethernetif.crf
│ │ ├── ethernetif.d
│ │ ├── ethernetif.o
│ │ ├── ethip6.crf
│ │ ├── ethip6.d
│ │ ├── ethip6.o
│ │ ├── eui64.crf
│ │ ├── eui64.d
│ │ ├── eui64.o
│ │ ├── event_groups.crf
│ │ ├── event_groups.d
│ │ ├── event_groups.o
│ │ ├── freertos.crf
│ │ ├── freertos.d
│ │ ├── freertos.o
│ │ ├── fsm.crf
│ │ ├── fsm.d
│ │ ├── fsm.o
│ │ ├── gpio.crf
│ │ ├── gpio.d
│ │ ├── gpio.o
│ │ ├── heap_4.crf
│ │ ├── heap_4.d
│ │ ├── heap_4.o
│ │ ├── icmp.crf
│ │ ├── icmp.d
│ │ ├── icmp.o
│ │ ├── icmp6.crf
│ │ ├── icmp6.d
│ │ ├── icmp6.o
│ │ ├── igmp.crf
│ │ ├── igmp.d
│ │ ├── igmp.o
│ │ ├── inet6.crf
│ │ ├── inet6.d
│ │ ├── inet6.o
│ │ ├── inet_chksum.crf
│ │ ├── inet_chksum.d
│ │ ├── inet_chksum.o
│ │ ├── init.crf
│ │ ├── init.d
│ │ ├── init.o
│ │ ├── ip.crf
│ │ ├── ip.d
│ │ ├── ip.o
│ │ ├── ip4.crf
│ │ ├── ip4.d
│ │ ├── ip4.o
│ │ ├── ip4_addr.crf
│ │ ├── ip4_addr.d
│ │ ├── ip4_addr.o
│ │ ├── ip4_frag.crf
│ │ ├── ip4_frag.d
│ │ ├── ip4_frag.o
│ │ ├── ip6.crf
│ │ ├── ip6.d
│ │ ├── ip6.o
│ │ ├── ip6_addr.crf
│ │ ├── ip6_addr.d
│ │ ├── ip6_addr.o
│ │ ├── ip6_frag.crf
│ │ ├── ip6_frag.d
│ │ ├── ip6_frag.o
│ │ ├── ipcp.crf
│ │ ├── ipcp.d
│ │ ├── ipcp.o
│ │ ├── ipv6cp.crf
│ │ ├── ipv6cp.d
│ │ ├── ipv6cp.o
│ │ ├── lcp.crf
│ │ ├── lcp.d
│ │ ├── lcp.o
│ │ ├── list.crf
│ │ ├── list.d
│ │ ├── list.o
│ │ ├── lowpan6.crf
│ │ ├── lowpan6.d
│ │ ├── lowpan6.o
│ │ ├── lwip.crf
│ │ ├── lwip.d
│ │ ├── lwip.o
│ │ ├── magic.crf
│ │ ├── magic.d
│ │ ├── magic.o
│ │ ├── main.crf
│ │ ├── main.d
│ │ ├── main.o
│ │ ├── md4.crf
│ │ ├── md4.d
│ │ ├── md4.o
│ │ ├── md5.crf
│ │ ├── md5.d
│ │ ├── md5.o
│ │ ├── mem.crf
│ │ ├── mem.d
│ │ ├── mem.o
│ │ ├── memp.crf
│ │ ├── memp.d
│ │ ├── memp.o
│ │ ├── mld6.crf
│ │ ├── mld6.d
│ │ ├── mld6.o
│ │ ├── mppe.crf
│ │ ├── mppe.d
│ │ ├── mppe.o
│ │ ├── multilink.crf
│ │ ├── multilink.d
│ │ ├── multilink.o
│ │ ├── nd6.crf
│ │ ├── nd6.d
│ │ ├── nd6.o
│ │ ├── netbuf.crf
│ │ ├── netbuf.d
│ │ ├── netbuf.o
│ │ ├── netdb.crf
│ │ ├── netdb.d
│ │ ├── netdb.o
│ │ ├── netif.crf
│ │ ├── netif.d
│ │ ├── netif.o
│ │ ├── netifapi.crf
│ │ ├── netifapi.d
│ │ ├── netifapi.o
│ │ ├── pbuf.crf
│ │ ├── pbuf.d
│ │ ├── pbuf.o
│ │ ├── port.crf
│ │ ├── port.d
│ │ ├── port.o
│ │ ├── ppp.crf
│ │ ├── ppp.d
│ │ ├── ppp.o
│ │ ├── pppapi.crf
│ │ ├── pppapi.d
│ │ ├── pppapi.o
│ │ ├── pppcrypt.crf
│ │ ├── pppcrypt.d
│ │ ├── pppcrypt.o
│ │ ├── pppoe.crf
│ │ ├── pppoe.d
│ │ ├── pppoe.o
│ │ ├── pppol2tp.crf
│ │ ├── pppol2tp.d
│ │ ├── pppol2tp.o
│ │ ├── pppos.crf
│ │ ├── pppos.d
│ │ ├── pppos.o
│ │ ├── queue.crf
│ │ ├── queue.d
│ │ ├── queue.o
│ │ ├── raw.crf
│ │ ├── raw.d
│ │ ├── raw.o
│ │ ├── sha1.crf
│ │ ├── sha1.d
│ │ ├── sha1.o
│ │ ├── slipif.crf
│ │ ├── slipif.d
│ │ ├── slipif.o
│ │ ├── sockets.crf
│ │ ├── sockets.d
│ │ ├── sockets.o
│ │ ├── startup_stm32f407xx.d
│ │ ├── startup_stm32f407xx.o
│ │ ├── stats.crf
│ │ ├── stats.d
│ │ ├── stats.o
│ │ ├── stm32f4xx_hal.crf
│ │ ├── stm32f4xx_hal.d
│ │ ├── stm32f4xx_hal.o
│ │ ├── stm32f4xx_hal_cortex.crf
│ │ ├── stm32f4xx_hal_cortex.d
│ │ ├── stm32f4xx_hal_cortex.o
│ │ ├── stm32f4xx_hal_dma.crf
│ │ ├── stm32f4xx_hal_dma.d
│ │ ├── stm32f4xx_hal_dma.o
│ │ ├── stm32f4xx_hal_dma_ex.crf
│ │ ├── stm32f4xx_hal_dma_ex.d
│ │ ├── stm32f4xx_hal_dma_ex.o
│ │ ├── stm32f4xx_hal_eth.crf
│ │ ├── stm32f4xx_hal_eth.d
│ │ ├── stm32f4xx_hal_eth.o
│ │ ├── stm32f4xx_hal_flash.crf
│ │ ├── stm32f4xx_hal_flash.d
│ │ ├── stm32f4xx_hal_flash.o
│ │ ├── stm32f4xx_hal_flash_ex.crf
│ │ ├── stm32f4xx_hal_flash_ex.d
│ │ ├── stm32f4xx_hal_flash_ex.o
│ │ ├── stm32f4xx_hal_flash_ramfunc.crf
│ │ ├── stm32f4xx_hal_flash_ramfunc.d
│ │ ├── stm32f4xx_hal_flash_ramfunc.o
│ │ ├── stm32f4xx_hal_gpio.crf
│ │ ├── stm32f4xx_hal_gpio.d
│ │ ├── stm32f4xx_hal_gpio.o
│ │ ├── stm32f4xx_hal_msp.crf
│ │ ├── stm32f4xx_hal_msp.d
│ │ ├── stm32f4xx_hal_msp.o
│ │ ├── stm32f4xx_hal_pwr.crf
│ │ ├── stm32f4xx_hal_pwr.d
│ │ ├── stm32f4xx_hal_pwr.o
│ │ ├── stm32f4xx_hal_pwr_ex.crf
│ │ ├── stm32f4xx_hal_pwr_ex.d
│ │ ├── stm32f4xx_hal_pwr_ex.o
│ │ ├── stm32f4xx_hal_rcc.crf
│ │ ├── stm32f4xx_hal_rcc.d
│ │ ├── stm32f4xx_hal_rcc.o
│ │ ├── stm32f4xx_hal_rcc_ex.crf
│ │ ├── stm32f4xx_hal_rcc_ex.d
│ │ ├── stm32f4xx_hal_rcc_ex.o
│ │ ├── stm32f4xx_hal_tim.crf
│ │ ├── stm32f4xx_hal_tim.d
│ │ ├── stm32f4xx_hal_tim.o
│ │ ├── stm32f4xx_hal_tim_ex.crf
│ │ ├── stm32f4xx_hal_tim_ex.d
│ │ ├── stm32f4xx_hal_tim_ex.o
│ │ ├── stm32f4xx_hal_uart.crf
│ │ ├── stm32f4xx_hal_uart.d
│ │ ├── stm32f4xx_hal_uart.o
│ │ ├── stm32f4xx_it.crf
│ │ ├── stm32f4xx_it.d
│ │ ├── stm32f4xx_it.o
│ │ ├── sys.crf
│ │ ├── sys.d
│ │ ├── sys.o
│ │ ├── sys_arch.crf
│ │ ├── sys_arch.d
│ │ ├── sys_arch.o
│ │ ├── system_stm32f4xx.crf
│ │ ├── system_stm32f4xx.d
│ │ ├── system_stm32f4xx.o
│ │ ├── tasks.crf
│ │ ├── tasks.d
│ │ ├── tasks.o
│ │ ├── tcp.crf
│ │ ├── tcp.d
│ │ ├── tcp.o
│ │ ├── tcp_in.crf
│ │ ├── tcp_in.d
│ │ ├── tcp_in.o
│ │ ├── tcp_out.crf
│ │ ├── tcp_out.d
│ │ ├── tcp_out.o
│ │ ├── tcpecho.crf
│ │ ├── tcpecho.d
│ │ ├── tcpecho.o
│ │ ├── tcpip.crf
│ │ ├── tcpip.d
│ │ ├── tcpip.o
│ │ ├── tim.crf
│ │ ├── tim.d
│ │ ├── tim.o
│ │ ├── timeouts.crf
│ │ ├── timeouts.d
│ │ ├── timeouts.o
│ │ ├── timers.crf
│ │ ├── timers.d
│ │ ├── timers.o
│ │ ├── udp.crf
│ │ ├── udp.d
│ │ ├── udp.o
│ │ ├── udpecho.crf
│ │ ├── udpecho.d
│ │ ├── udpecho.o
│ │ ├── upap.crf
│ │ ├── upap.d
│ │ ├── upap.o
│ │ ├── usart.crf
│ │ ├── usart.d
│ │ ├── usart.o
│ │ ├── utils.crf
│ │ ├── utils.d
│ │ ├── utils.o
│ │ ├── vj.crf
│ │ ├── vj.d
│ │ └── vj.o
│ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.uvguix.Administrator
│ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.uvoptx
│ ├── STM32F407_LAN8742A_LwIP_FreeRTOS.uvprojx
│ ├── startup_stm32f407xx.lst
│ └── startup_stm32f407xx.s
├── Middlewares
│ └── Third_Party
│ ├── FreeRTOS
│ │ └── Source
│ │ ├── CMSIS_RTOS
│ │ │ ├── cmsis_os.c
│ │ │ └── cmsis_os.h
│ │ ├── croutine.c
│ │ ├── event_groups.c
│ │ ├── include
│ │ │ ├── FreeRTOS.h
│ │ │ ├── FreeRTOSConfig_template.h
│ │ │ ├── StackMacros.h
│ │ │ ├── croutine.h
│ │ │ ├── deprecated_definitions.h
│ │ │ ├── event_groups.h
│ │ │ ├── list.h
│ │ │ ├── mpu_prototypes.h
│ │ │ ├── mpu_wrappers.h
│ │ │ ├── portable.h
│ │ │ ├── projdefs.h
│ │ │ ├── queue.h
│ │ │ ├── semphr.h
│ │ │ ├── task.h
│ │ │ └── timers.h
│ │ ├── list.c
│ │ ├── portable
│ │ │ ├── MemMang
│ │ │ │ └── heap_4.c
│ │ │ └── RVDS
│ │ │ └── ARM_CM4F
│ │ │ ├── port.c
│ │ │ └── portmacro.h
│ │ ├── queue.c
│ │ ├── tasks.c
│ │ └── timers.c
│ └── LwIP
│ ├── src
│ │ ├── api
│ │ │ ├── api_lib.c
│ │ │ ├── api_msg.c
│ │ │ ├── err.c
│ │ │ ├── netbuf.c
│ │ │ ├── netdb.c
│ │ │ ├── netifapi.c
│ │ │ ├── sockets.c
│ │ │ └── tcpip.c
│ │ ├── core
│ │ │ ├── def.c
│ │ │ ├── dns.c
│ │ │ ├── inet_chksum.c
│ │ │ ├── init.c
│ │ │ ├── ip.c
│ │ │ ├── ipv4
│ │ │ │ ├── autoip.c
│ │ │ │ ├── dhcp.c
│ │ │ │ ├── etharp.c
│ │ │ │ ├── icmp.c
│ │ │ │ ├── igmp.c
│ │ │ │ ├── ip4.c
│ │ │ │ ├── ip4_addr.c
│ │ │ │ └── ip4_frag.c
│ │ │ ├── ipv6
│ │ │ │ ├── dhcp6.c
│ │ │ │ ├── ethip6.c
│ │ │ │ ├── icmp6.c
│ │ │ │ ├── inet6.c
│ │ │ │ ├── ip6.c
│ │ │ │ ├── ip6_addr.c
│ │ │ │ ├── ip6_frag.c
│ │ │ │ ├── mld6.c
│ │ │ │ └── nd6.c
│ │ │ ├── mem.c
│ │ │ ├── memp.c
│ │ │ ├── netif.c
│ │ │ ├── pbuf.c
│ │ │ ├── raw.c
│ │ │ ├── stats.c
│ │ │ ├── sys.c
│ │ │ ├── tcp.c
│ │ │ ├── tcp_in.c
│ │ │ ├── tcp_out.c
│ │ │ ├── timeouts.c
│ │ │ └── udp.c
│ │ ├── include
│ │ │ ├── lwip
│ │ │ │ ├── api.h
│ │ │ │ ├── apps
│ │ │ │ │ ├── fs.h
│ │ │ │ │ ├── httpd.h
│ │ │ │ │ ├── httpd_opts.h
│ │ │ │ │ ├── lwiperf.h
│ │ │ │ │ ├── mdns.h
│ │ │ │ │ ├── mdns_opts.h
│ │ │ │ │ ├── mdns_priv.h
│ │ │ │ │ ├── netbiosns.h
│ │ │ │ │ ├── netbiosns_opts.h
│ │ │ │ │ ├── snmp.h
│ │ │ │ │ ├── snmp_core.h
│ │ │ │ │ ├── snmp_mib2.h
│ │ │ │ │ ├── snmp_opts.h
│ │ │ │ │ ├── snmp_scalar.h
│ │ │ │ │ ├── snmp_table.h
│ │ │ │ │ ├── snmp_threadsync.h
│ │ │ │ │ ├── snmpv3.h
│ │ │ │ │ ├── sntp.h
│ │ │ │ │ ├── sntp_opts.h
│ │ │ │ │ ├── tftp_opts.h
│ │ │ │ │ └── tftp_server.h
│ │ │ │ ├── arch.h
│ │ │ │ ├── autoip.h
│ │ │ │ ├── debug.h
│ │ │ │ ├── def.h
│ │ │ │ ├── dhcp.h
│ │ │ │ ├── dhcp6.h
│ │ │ │ ├── dns.h
│ │ │ │ ├── err.h
│ │ │ │ ├── errno.h
│ │ │ │ ├── etharp.h
│ │ │ │ ├── ethip6.h
│ │ │ │ ├── icmp.h
│ │ │ │ ├── icmp6.h
│ │ │ │ ├── igmp.h
│ │ │ │ ├── inet.h
│ │ │ │ ├── inet_chksum.h
│ │ │ │ ├── init.h
│ │ │ │ ├── ip.h
│ │ │ │ ├── ip4.h
│ │ │ │ ├── ip4_addr.h
│ │ │ │ ├── ip4_frag.h
│ │ │ │ ├── ip6.h
│ │ │ │ ├── ip6_addr.h
│ │ │ │ ├── ip6_frag.h
│ │ │ │ ├── ip_addr.h
│ │ │ │ ├── mem.h
│ │ │ │ ├── memp.h
│ │ │ │ ├── mld6.h
│ │ │ │ ├── nd6.h
│ │ │ │ ├── netbuf.h
│ │ │ │ ├── netdb.h
│ │ │ │ ├── netif.h
│ │ │ │ ├── netifapi.h
│ │ │ │ ├── opt.h
│ │ │ │ ├── pbuf.h
│ │ │ │ ├── priv
│ │ │ │ │ ├── api_msg.h
│ │ │ │ │ ├── memp_priv.h
│ │ │ │ │ ├── memp_std.h
│ │ │ │ │ ├── tcp_priv.h
│ │ │ │ │ └── tcpip_priv.h
│ │ │ │ ├── prot
│ │ │ │ │ ├── autoip.h
│ │ │ │ │ ├── dhcp.h
│ │ │ │ │ ├── dns.h
│ │ │ │ │ ├── etharp.h
│ │ │ │ │ ├── ethernet.h
│ │ │ │ │ ├── icmp.h
│ │ │ │ │ ├── icmp6.h
│ │ │ │ │ ├── igmp.h
│ │ │ │ │ ├── ip.h
│ │ │ │ │ ├── ip4.h
│ │ │ │ │ ├── ip6.h
│ │ │ │ │ ├── mld6.h
│ │ │ │ │ ├── nd6.h
│ │ │ │ │ ├── tcp.h
│ │ │ │ │ └── udp.h
│ │ │ │ ├── raw.h
│ │ │ │ ├── sio.h
│ │ │ │ ├── snmp.h
│ │ │ │ ├── sockets.h
│ │ │ │ ├── stats.h
│ │ │ │ ├── sys.h
│ │ │ │ ├── tcp.h
│ │ │ │ ├── tcpip.h
│ │ │ │ ├── timeouts.h
│ │ │ │ └── udp.h
│ │ │ ├── netif
│ │ │ │ ├── etharp.h
│ │ │ │ ├── ethernet.h
│ │ │ │ ├── lowpan6.h
│ │ │ │ ├── lowpan6_opts.h
│ │ │ │ ├── ppp
│ │ │ │ │ ├── ccp.h
│ │ │ │ │ ├── chap-md5.h
│ │ │ │ │ ├── chap-new.h
│ │ │ │ │ ├── chap_ms.h
│ │ │ │ │ ├── eap.h
│ │ │ │ │ ├── ecp.h
│ │ │ │ │ ├── eui64.h
│ │ │ │ │ ├── fsm.h
│ │ │ │ │ ├── ipcp.h
│ │ │ │ │ ├── ipv6cp.h
│ │ │ │ │ ├── lcp.h
│ │ │ │ │ ├── magic.h
│ │ │ │ │ ├── mppe.h
│ │ │ │ │ ├── polarssl
│ │ │ │ │ │ ├── arc4.h
│ │ │ │ │ │ ├── des.h
│ │ │ │ │ │ ├── md4.h
│ │ │ │ │ │ ├── md5.h
│ │ │ │ │ │ └── sha1.h
│ │ │ │ │ ├── ppp.h
│ │ │ │ │ ├── ppp_impl.h
│ │ │ │ │ ├── ppp_opts.h
│ │ │ │ │ ├── pppapi.h
│ │ │ │ │ ├── pppcrypt.h
│ │ │ │ │ ├── pppdebug.h
│ │ │ │ │ ├── pppoe.h
│ │ │ │ │ ├── pppol2tp.h
│ │ │ │ │ ├── pppos.h
│ │ │ │ │ ├── upap.h
│ │ │ │ │ └── vj.h
│ │ │ │ └── slipif.h
│ │ │ └── posix
│ │ │ ├── errno.h
│ │ │ ├── netdb.h
│ │ │ └── sys
│ │ │ └── socket.h
│ │ └── netif
│ │ ├── ethernet.c
│ │ ├── lowpan6.c
│ │ ├── ppp
│ │ │ ├── auth.c
│ │ │ ├── ccp.c
│ │ │ ├── chap-md5.c
│ │ │ ├── chap-new.c
│ │ │ ├── chap_ms.c
│ │ │ ├── demand.c
│ │ │ ├── eap.c
│ │ │ ├── ecp.c
│ │ │ ├── eui64.c
│ │ │ ├── fsm.c
│ │ │ ├── ipcp.c
│ │ │ ├── ipv6cp.c
│ │ │ ├── lcp.c
│ │ │ ├── magic.c
│ │ │ ├── mppe.c
│ │ │ ├── multilink.c
│ │ │ ├── polarssl
│ │ │ │ ├── arc4.c
│ │ │ │ ├── des.c
│ │ │ │ ├── md4.c
│ │ │ │ ├── md5.c
│ │ │ │ └── sha1.c
│ │ │ ├── ppp.c
│ │ │ ├── pppapi.c
│ │ │ ├── pppcrypt.c
│ │ │ ├── pppoe.c
│ │ │ ├── pppol2tp.c
│ │ │ ├── pppos.c
│ │ │ ├── upap.c
│ │ │ ├── utils.c
│ │ │ └── vj.c
│ │ └── slipif.c
│ └── system
│ ├── OS
│ │ └── sys_arch.c
│ └── arch
│ ├── bpstruct.h
│ ├── cc.h
│ ├── cpu.h
│ ├── epstruct.h
│ ├── init.h
│ ├── lib.h
│ ├── perf.h
│ └── sys_arch.h
├── STM32F407_LAN8742A_LwIP_FreeRTOS.ioc
├── STM32F407_LAN8742A_LwIP_FreeRTOS.pdf
├── STM32F407_LAN8742A_LwIP_FreeRTOS.txt
└── Src
├── app_ethernet.c
├── ethernetif.c
├── freertos.c
├── gpio.c
├── lwip.c
├── main.c
├── stm32f4xx_hal_msp.c
├── stm32f4xx_it.c
├── system_stm32f4xx.c
├── tcpecho.c
├── tim.c
├── udpecho.c
└── usart.c
50 directories, 673 files
标签:
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论