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.