mongoose/examples/stm32/nucleo-f429zi-baremetal
2022-08-29 19:20:20 -03:00
..
boot.c Add baremetal example on Nucleo-F429ZI 2022-08-29 19:20:20 -03:00
link.ld Add baremetal example on Nucleo-F429ZI 2022-08-29 19:20:20 -03:00
main.c Add baremetal example on Nucleo-F429ZI 2022-08-29 19:20:20 -03:00
Makefile Add baremetal example on Nucleo-F429ZI 2022-08-29 19:20:20 -03:00
mcu.h Add baremetal example on Nucleo-F429ZI 2022-08-29 19:20:20 -03:00
README.md Add baremetal example on Nucleo-F429ZI 2022-08-29 19:20:20 -03:00
syscalls.c Add baremetal example on Nucleo-F429ZI 2022-08-29 19:20:20 -03:00

Baremetal webserver on NUCLEO-F429ZG

This firmware uses experimental TCP/IP stack of the Mongoose Network Library, which implements the following:

  • Implements HTTP server and SNTP time synchronisation
  • No dependencies: no HAL, no CMSIS, no RTOS
  • Hand-written mcu.h header based on a datasheet
  • Interrupt-driven mip_driver_stm32.h ethernet driver
  • Blue LED blinky, based on SysTick interrupt
  • User button handler, turns off/on green LED, based on EXTI, interrupt-driven
  • HardFault handler that blinks red LED
  • Debug log on UART3 (st-link)

Requirements

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

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