diff --git a/frameworks/mbed_extra.rst b/frameworks/mbed_extra.rst index ae5f388e3c..3d45753ea9 100644 --- a/frameworks/mbed_extra.rst +++ b/frameworks/mbed_extra.rst @@ -24,11 +24,8 @@ Configuration system In Mbed OS 6 the list of supported boards was heavily reduced, only officially supported and well maintained targets left. More information in `the official explanation `_. - In order to keep legacy projects built on top of Mbed OS 5 compilable, each - development platform contains a list of deprecated boards that is used to dynamically - select the proper version of Mbed OS (OS5 or OS6). -PlatformIO allows you to customize mbed OS compile time configuration +PlatformIO allows you to customize Mbed OS compile time configuration parameters using ``mbed_app.json`` manifest. It should be placed into the root of your project and located on the same level as :ref:`projectconf`. @@ -40,9 +37,9 @@ Some examples of configuration parameters: * The receive buffer size of a serial communication library. * The flash and RAM memory size of a target board. -See more details in the official `ARM Mbed OS Configuration System `_. +See more details in the official `ARM Mbed OS Configuration System `_. -A few PlatformIO-ready projects based on ARM mbed OS which use ``mbed_app.json``: +A few PlatformIO-ready projects based on ARM Mbed OS which use ``mbed_app.json``: * `Freescale Kinetis: mbed-rtos-kvstore `_ * `ST STM32: mbed-rtos-mesh-minimal `_ @@ -54,12 +51,8 @@ A few PlatformIO-ready projects based on ARM mbed OS which use ``mbed_app.json`` compilation error for some targets. It's possible to shorten these paths is to install packages in root of any logical disk by specifying :ref:`projectconf_pio_core_dir`. - -Mbed OS 6 -^^^^^^^^^ - Using Bare Metal profile -"""""""""""""""""""""""" +^^^^^^^^^^^^^^^^^^^^^^^^ The bare metal profile implements a subset of Mbed OS's RTOS APIs that are useful in non-threaded applications, such as semaphores (calling the release API from interrupts) @@ -72,37 +65,8 @@ Useful links: * `Detailed description of bare metal profile `_ * `Porting a target from Mbed OS 2 to Mbed OS 6 bare metal `_ - -Mbed OS 5 and Mbed 2 -^^^^^^^^^^^^^^^^^^^^ - -PlatformIO allows compiling projects with or without Mbed OS 5. By default, project -is built without the OS feature. Most of the framework functionality requires the OS to -be enabled. To add the OS feature you can use a special macro definition that needs be -added to :ref:`projectconf_build_flags` of :ref:`projectconf`: - -.. list-table:: - :header-rows: 1 - - * - Name - - Description - - * - ``PIO_FRAMEWORK_MBED_RTOS_PRESENT`` - - Build the project with enabled ``rtos`` - -An example of :ref:`projectconf` with enabled ``rtos`` - -.. code-block:: ini - - [env:wizwiki_w7500p] - platform = wiznet7500 - framework = mbed - board = wizwiki_w7500p - build_flags = -D PIO_FRAMEWORK_MBED_RTOS_PRESENT - - Build profiles -~~~~~~~~~~~~~~ +"""""""""""""" By default, PlatformIO builds your project using ``develop profile`` which provides optimized firmware size with full error information and allows MCU to go to sleep mode. @@ -123,28 +87,25 @@ You can change build profile :ref:`projectconf_build_flags` of :ref:`projectconf - Debug profile (largest firmware, disabled sleep mode) More information about differences between build profiles can be found on the -official page `ARM Mbed OS Build Profiles `_. +official page `ARM Mbed OS Build Profiles `_. Ignoring particular components -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In case you don't need all parts of the framework or you want to reduce the compilation time, you can explicitly exclude folders with redundant sources. For example, to remove -``cellular``, ``mbedtls`` and ``nanostack`` features from the build process, navigate -to :ref:`projectconf_pio_packages_dir` and create a new file ``framework-mbed/features/.mbedignore`` -with the following contents: +``cellular``, ``kvstore`` and ``nanostack`` features from the build process, navigate +to the root of your project and create a new file ``.mbedignore`` with the following +contents: .. code-block:: ini - cellular/* - mbedtls/* - nanostack/* - -If you want to exclude the entire folder, simply create ``.mbedignore`` file and add -only one symbol ``*`` to this file. + mbed-os/connectivity/cellular/* + mbed-os/connectivity/nanostack/* + mbed-os/storage/kvstore/* Custom Targets -~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^ In case when your board is not officially supported by :ref:`framework_mbed` you can manually add custom board definitions to your project. First of all, you need to create