Building the |me_h| Source for FreeRTOS
=======================================
Introduction
------------
This user guide explains the environment used to run Micro on FreeRTOS + LwIP
and is organized as follows:
- `Overview`_
- `Configuration`_
- `CMake Support`_
Overview
--------
FreeRTOS and LwIP are one of the OSs and protocol stacks where |me| is known
to run. STM32F769I-DISC0 has been chosen as reference hardware. This development
kit has a STM32F769NIH6 microcontroller with 2 Mbytes of Flash memory and 512
Kbytes of RAM. For a full description, please refer to the microcontroller
documentation.
STM provides a toolchain called SW4STM32. SW4STM32 is a free multi-OS software
environment based on Eclipse, which supports the full range of STM32
microcontrollers and associated boards. SW4STM32 includes the GCC
C/C++ compiler, a GDB-based debugger, and an Eclipse based IDE.
STM also provides STM32CubeF7. STM32CubeF7 gathers all the generic
embedded software components required to develop an application on
the STM32F7 microcontrollers in a single package.
STM32CubeF7 also includes many examples and demonstration applications.
The example *LwIP_HTTP_Server_Socket_RTOS* is particularly useful as it
provides a working FreeRTOS + LwIP configuration.
The following versions of the different components have been used:
- SW4STM32 version 2.1
- STM32Cube_FW_F7 version V1.7.0
- FreeRTOS version V9.0.0
- LwIP version V2.0.0
Configuration
-------------
Example LwIP and FreeRTOS configurations are provided below for reference.
This configuration must be tuned according to the needs. Details about
how to configure these third party components can be found in the
FreeRTOS and LwIP documentation.
- Example configuration for LwIP:
.. literalinclude:: ../examples/lwipopts.h
:language: c
- Example configuration for FreeRTOS:
.. literalinclude:: ../examples/FreeRTOSConfig.h
:language: c
CMake Support
-------------
Support to compile |me| libraries for FreeRTOS using `CMake `_
has been added. It is assumed that the |me| source-bundle is downloaded and
installed and that `CMake `_ is available.
1. Make sure `CMake `_ is in the path.
2. Enter the following command:
::
cd
resource/scripts/rtime-make --target FreeRTOS --name cortexm7FreeRTOS9.0gcc7.3.1 -G "Unix Makefiles" --build
3. The |me| libraries are available in:
::
/lib/cortexm7FreeRTOS9.0gcc7.3.1
NOTE: rtime-make uses the name specified with --name to determine a few
settings needed by |me|. Please refer to :ref:`prepare` for details.