diff --git a/examples/stm32/nucleo-f429zi-baremetal/README.md b/examples/stm32/nucleo-f429zi-baremetal/README.md index 20ebceb9..6bddcf06 100644 --- a/examples/stm32/nucleo-f429zi-baremetal/README.md +++ b/examples/stm32/nucleo-f429zi-baremetal/README.md @@ -1,6 +1,6 @@ -# Baremetal webserver on NUCLEO-F429ZG +# Baremetal webserver on NUCLEO-F429ZI -This firmware uses experimental TCP/IP stack of the Mongoose Network Library, +This firmware uses MIP, an experimental TCP/IP stack of the Mongoose Network Library, which implements the following: - A complete [HTTP device dashboard](../../device-dashboard) with: @@ -18,9 +18,13 @@ which implements the following: ## Requirements -- GNU make -- [ARM GCC](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm) toolchain for build -- [st-link](https://github.com/stlink-org/stlink) for flashing +- [GNU make](http://mongoose.ws/tutorials/tools/#gnu-make) +- [ARM GCC](http://mongoose.ws/tutorials/tools/#arm-gcc) +- [stlink](http://mongoose.ws/tutorials/tools/#stlink) for flashing + +The Makefile defaults to using Docker for the compiler, so you don't actually need to install it if you are using a Linux/Mac workstation. If you are not, or you want to run your local ARM compiler, just append `DOCKER=` to the make commands depicted below to call the compiler directly; it must be in your executable path. + +In any case, the links above will send you to tutorials on how to install each of those tools in your workstation for Linux, Mac, and Windows. ## Usage @@ -37,4 +41,6 @@ To see debug log, use any serial monitor program like `picocom` at 115200 bps an $ picocom /dev/ttyACM0 -i -b 115200 --imap=lfcrlf ``` +There is also a [detailed tutorial on this example](https://mongoose.ws/tutorials/stm32/nucleo-f746zg-baremetal/) but for the NUCLEO-F746ZG board + For more details and benchmark data on MIP, check the [F746ZG example](../nucleo-f746zg-baremetal/) diff --git a/examples/stm32/nucleo-f429zi-freertos-mip/README.md b/examples/stm32/nucleo-f429zi-freertos-mip/README.md new file mode 100644 index 00000000..e4fad0d2 --- /dev/null +++ b/examples/stm32/nucleo-f429zi-freertos-mip/README.md @@ -0,0 +1,41 @@ +# 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](../../../drivers/mip_driver_stm32.c) +- Basic HAL header [mcu.h](mcu.h) based on CMSIS +- Blue LED blinky, based on another FreeRTOS task +- Debug log on UART3 (st-link) + +## Requirements + +- [GNU make](http://mongoose.ws/tutorials/tools/#gnu-make) +- [ARM GCC](http://mongoose.ws/tutorials/tools/#arm-gcc) +- [stlink](http://mongoose.ws/tutorials/tools/#stlink) for flashing + +The Makefile defaults to using Docker for the compiler, so you don't actually need to install it if you are using a Linux/Mac workstation. If you are not, or you want to run your local ARM compiler, just append `DOCKER=` to the make commands depicted below to call the compiler directly; it must be in your executable path. + +In any case, 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](https://github.com/FreeRTOS/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: + +```sh +$ 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: + +```sh +$ picocom /dev/ttyACM0 -i -b 115200 --imap=lfcrlf +``` + +There is also a [detailed tutorial on this example](http://mongoose.ws/tutorials/stm32/nucleo-f429zi-freertos-mip/) + +For more details and benchmark data on MIP, check the [F746ZG example](../nucleo-f746zg-baremetal/) diff --git a/examples/stm32/nucleo-f746zg-baremetal/README.md b/examples/stm32/nucleo-f746zg-baremetal/README.md index 7a7d58a3..9c98c58d 100644 --- a/examples/stm32/nucleo-f746zg-baremetal/README.md +++ b/examples/stm32/nucleo-f746zg-baremetal/README.md @@ -1,6 +1,6 @@ # Baremetal webserver on NUCLEO-F746ZG -This firmware uses experimental TCP/IP stack of the Mongoose Network Library, +This firmware uses MIP, an experimental TCP/IP stack of the Mongoose Network Library, which implements the following: - A complete [HTTP device dashboard](../../device-dashboard) with: @@ -10,7 +10,7 @@ which implements the following: - MQTT communication with a remote MQTT server - Implements SNTP time synchronisation - No dependencies: no HAL, no CMSIS, no RTOS -- Hand-written [mcu.h](mcu.h) header based on a [datasheet](https://www.st.com/resource/en/reference_manual/rm0385-stm32f75xxx-and-stm32f74xxx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf) +- Hand-written [mcu.h](mcu.h) header based on the [datasheet](https://www.st.com/resource/en/reference_manual/rm0385-stm32f75xxx-and-stm32f74xxx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf) - Interrupt-driven [Ethernet driver](../../../mip/driver_stm32.c) - Blue LED blinky, based on SysTick interrupt - User button handler, turns off/on green LED, based on EXTI, interrupt-driven @@ -19,9 +19,13 @@ which implements the following: ## Requirements -- GNU make -- [ARM GCC](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm) toolchain for build -- [st-link](https://github.com/stlink-org/stlink) for flashing +- [GNU make](http://mongoose.ws/tutorials/tools/#gnu-make) +- [ARM GCC](http://mongoose.ws/tutorials/tools/#arm-gcc) +- [stlink](http://mongoose.ws/tutorials/tools/#stlink) for flashing + +The Makefile defaults to using Docker for the compiler, so you don't actually need to install it if you are using a Linux/Mac workstation. If you are not, or you want to run your local ARM compiler, just append `DOCKER=` to the make commands depicted below to call the compiler directly; it must be in your executable path. + +In any case, the links above will send you to tutorials on how to install each of those tools in your workstation for Linux, Mac, and Windows. ## Usage @@ -38,6 +42,8 @@ To see debug log, use any serial monitor program like `picocom` at 115200 bps an $ picocom /dev/ttyACM0 -i -b 115200 --imap=lfcrlf ``` +There is also a [detailed tutorial on this example](https://mongoose.ws/tutorials/stm32/nucleo-f746zg-baremetal/) + ## Benchmark A quick comparison is made with several other implementations. diff --git a/examples/ti/ek-tm4c1294xl-baremetal/README.md b/examples/ti/ek-tm4c1294xl-baremetal/README.md index 0b46307f..2e3c6307 100644 --- a/examples/ti/ek-tm4c1294xl-baremetal/README.md +++ b/examples/ti/ek-tm4c1294xl-baremetal/README.md @@ -18,9 +18,14 @@ which implements the following: ## Requirements -- GNU make -- [ARM GCC](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm) toolchain for build -- [Uniflash](https://www.ti.com/tool/UNIFLASH) for flashing +- [GNU make](http://mongoose.ws/tutorials/tools/#gnu-make) +- [ARM GCC](http://mongoose.ws/tutorials/tools/#arm-gcc) +- [Uniflash](https://mongoose.ws/tutorials/ti/ek-tm4c1294xl-baremetal/#build-and-run) for flashing + +The Makefile defaults to using Docker for the compiler, so you don't actually need to install it if you are using a Linux/Mac workstation. If you are not, or you want to run your local ARM compiler, just append `DOCKER=` to the make commands depicted below to call the compiler directly; it must be in your executable path. + +In any case, the links above will send you to tutorials on how to install each of those tools in your workstation for Linux, Mac, and Windows. + ## Usage @@ -28,8 +33,9 @@ Plugin your board into USB, and attach an Ethernet cable. To build: ```sh -$ make clean nuild +$ make clean build ``` + To flash: use Uniflash To see debug log, use any serial monitor program like `picocom` at 115200 bps and configure it to insert carriage returns after line feeds: @@ -38,4 +44,6 @@ To see debug log, use any serial monitor program like `picocom` at 115200 bps an $ picocom /dev/ttyACM0 -i -b 115200 --imap=lfcrlf ``` +There is also a [detailed tutorial on this example](https://mongoose.ws/tutorials/ti/ek-tm4c1294xl-baremetal/) + For more details and benchmark data on MIP, check the [F746ZG example](../nucleo-f746zg-baremetal/)