mongoose/examples/stm32/nucleo-f429zi-freertos-mip
Sergio R. Caprile 491596d03d minor updates
2023-02-10 19:41:27 -03:00
..
cmsis Add nucleo-f429zi-freertos-mip example 2022-11-09 18:25:11 +00:00
FreeRTOSConfig.h Fix UART1,2 clocking in all other examples 2023-01-20 17:49:57 -03:00
link.ld Add nucleo-f429zi-freertos-mip example 2022-11-09 18:25:11 +00:00
main.c Move mip/ -> src/tcpip/, rename mip_ -> mg_tcpip_ 2023-02-07 21:35:37 +00:00
Makefile minor updates 2023-02-10 19:41:27 -03:00
mcu.h Kill ARP cache, kill qprofile 2023-02-07 14:26:03 +00:00
mongoose_custom.h Move mip/ -> src/tcpip/, rename mip_ -> mg_tcpip_ 2023-02-07 21:35:37 +00:00
README.md Move mip/ -> src/tcpip/, rename mip_ -> mg_tcpip_ 2023-02-07 21:35:37 +00:00
startup.c Add nucleo-f429zi-freertos-mip example 2022-11-09 18:25:11 +00:00
syscalls.c Kill ARP cache, kill qprofile 2023-02-07 14:26:03 +00:00

MIP webserver over FreeRTOS on NUCLEO-F429ZI

This firmware uses MIP, an experimental TCP/IP stack of the Mongoose Network Library, running as a FreeRTOS task. It implements the following:

  • Minimal elementary web server, as simple as possible
  • Interrupt-driven Ethernet driver
  • Basic HAL header mcu.h based on CMSIS
  • Blue LED blinky, based on another FreeRTOS task
  • Debug log on UART3 (st-link)

Requirements

The links above will send you to tutorials on how to install each of those tools in your workstation for Linux, Mac, and Windows.

You'll also need git so the Makefile can clone the FreeRTOS-Kernel repository. We assume you have it since you got to get this repository somehow. If you don't, and don't want to install it, just get the proper FreeRTOS-Kernel version (see the Makefile) from its repository, as you did with the Mongoose repository.

Usage

Plugin your Nucleo board into USB, and attach an Ethernet cable. To build and flash:

$ make clean flash

To see debug log, use any serial monitor program like picocom at 115200 bps and configure it to insert carriage returns after line feeds:

$ picocom /dev/ttyACM0 -i -b 115200 --imap=lfcrlf

There is also a detailed tutorial on this example

For more details and benchmark data on MIP, check the F746ZG example