Code Monkey home page Code Monkey logo

mbed-tools's Introduction

Mbed Tools

Package Documentation PyPI PyPI - Status PyPI - Python Version

License

Build Status Test Coverage Maintainability

Overview

This is the future command line tool for Mbed OS. It provides the ability to detect Mbed Enabled devices connected by USB, checkout Mbed projects and perform builds amongst other operations.

⚠️ While this package is generally available it is not complete. The available functionality can be viewed with the --help option once installed. Please note that the current tools for Mbed OS 5.x and above can be found at https://github.com/ARMmbed/mbed-cli.

Releases

For release notes and a history of changes of all production releases, please see the following:

For a the list of all available versions please, please see the:

Versioning

The version scheme used follows PEP440 and Semantic Versioning. For production quality releases the version will look as follows:

  • <major>.<minor>.<patch>

Pre releases are used to give early access to new functionality, for testing and to get feedback on experimental features. As such these releases may not be stable and should not be used for production. Additionally any interfaces introduced in a pre release may be removed or changed without notice. For pre releases the version will look as follows:

  • <major>.<minor>.<patch>.dev<pre-release-number>

Installation

mbed-tools relies on the Ninja build system and CMake.

We recommend installing mbed-tools in a Python virtual environment to avoid dependency conflicts.

To install the most recent production quality release use:

pip install mbed-tools

To install a specific release:

pip install mbed-tools==<version>

Usage

Interface definition and usage documentation (for developers of Mbed OS tooling) is available for the most recent production release here:

Project Structure

The follow described the major aspects of the project structure:

  • azure-pipelines/ - CI configuration files for Azure Pipelines.
  • src/mbed_tools/ - Python source files.
  • news/ - Collection of news files for unreleased changes.
  • tests/ - Unit and integration tests.

Getting Help

  • For interface definition and usage documentation, please see GitHub Pages.
  • For a list of known issues and possible work arounds, please see Known Issues.
  • To raise a defect or enhancement please use GitHub Issues.
  • To ask a question please use the Mbed Forum.

Contributing

  • Mbed OS is an open source project and we are committed to fostering a welcoming community, please see our Code of Conduct for more information.
  • For how to contribute to the project, including how to develop the project, please see the Contributions Guidelines

mbed-tools's People

Contributors

0xc0170 avatar acabarbaye avatar atmobica avatar cyliangtw avatar g-arjones avatar hugueskamba avatar ithinuel avatar jainvikas8 avatar ladislas avatar ldong-arm avatar madchutney avatar mark-edgeworth avatar meano avatar monty-bot avatar muchzill4 avatar patater avatar rajkan01 avatar rwalton-arm avatar urutva avatar wernerlewis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mbed-tools's Issues

Missing --depth option for deploy/new commands

Description

Old tools mbed-cli has amazing option --depth for more fast and efficient downloading mbed-os sources, but new tools mbed-tools don't have this option.

But this option very useful on limited and slow internet connections. And takes up less space on hdd.

Issue request type

  • Enhancement
  • Bug

No build profile option for `build` sub-command

Description

The ability to specify the build profile when building an application would be nice to have.
For example:
$ mbedtools build -t <TOOLCHAIN> -m <MBEd_TARGET> -p <BUILD_PROFILE>

Issue request type

  • Enhancement
  • Bug

config: failure to override target attributes

Description

mbed-tools fails to parse mbed_app.json when target attributes are overridden.

Steps to reproduce:

  1. Clone https://github.com/ARMmbed/mbed-os-example-blinky-baremetal/tree/feature-cmake
  2. Ensure the example project uses the master branch of Mbed OS (https://github.com/ARMmbed/mbed-os)
  3. Run mbedtools build -t <TOOLCHAIN> -m <MBED_TARGET> -c

Expect result:
The application is successfully built.

Actual result:

Configuring project and generating build system...
Traceback (most recent call last):
  File "/usr/local/bin/mbedtools", line 33, in <module>
    sys.exit(load_entry_point('mbed-tools', 'console_scripts', 'mbedtools')())
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/path/to/mbed/mbed-tools/src/mbed_tools/cli/main.py", line 37, in invoke
    super().invoke(context)
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/path/to/mbed/mbed-tools/src/mbed_tools/cli/build.py", line 57, in build
    generate_config(mbed_target.upper(), toolchain, program)
  File "/path/to/mbed/mbed-tools/src/mbed_tools/build/config.py", line 27, in generate_config
    config = assemble_config(target_build_attributes, program.root, program.files.app_config_file)
  File "/path/to/mbed/mbed-tools/src/mbed_tools/build/_internal/config/assemble_build_config.py", line 23, in assemble_config
    return _assemble_config_from_sources_and_lib_files(target_attributes, mbed_lib_files, mbed_app_file)
  File "/path/to/mbed/mbed-tools/src/mbed_tools/build/_internal/config/assemble_build_config.py", line 47, in _assemble_config_from_sources_and_lib_files
    return Config.from_sources(all_sources)
  File "/path/to/mbed/mbed-tools/src/mbed_tools/build/_internal/config/config.py", line 119, in from_sources
    _update_config_option(config, key, value, source)
  File "/path/to/mbed/mbed-tools/src/mbed_tools/build/_internal/config/config.py", line 134, in _update_config_option
    f"Can't update option which does not exist."
ValueError: Can't update option which does not exist. Attempting to set 'target.c_lib' to 'small' in 'File: /path/to/mbed/examples/mbed-os-example-blinky-baremetal/mbed_app.json'.

If target.c_lib is removed from mbed)app.json but target.printf_lib is still there:

Configuring project and generating build system...
Traceback (most recent call last):
  File "/usr/local/bin/mbedtools", line 33, in <module>
    sys.exit(load_entry_point('mbed-tools', 'console_scripts', 'mbedtools')())
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/path/to/mbed-tools/src/mbed_tools/cli/main.py", line 37, in invoke
    super().invoke(context)
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/path/to/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/path/to/mbed-tools/src/mbed_tools/cli/build.py", line 57, in build
    generate_config(mbed_target.upper(), toolchain, program)
  File "/path/to/mbed-tools/src/mbed_tools/build/config.py", line 27, in generate_config
    config = assemble_config(target_build_attributes, program.root, program.files.app_config_file)
  File "/path/to/mbed-tools/src/mbed_tools/build/_internal/config/assemble_build_config.py", line 23, in assemble_config
    return _assemble_config_from_sources_and_lib_files(target_attributes, mbed_lib_files, mbed_app_file)
  File "/path/to/mbed-tools/src/mbed_tools/build/_internal/config/assemble_build_config.py", line 47, in _assemble_config_from_sources_and_lib_files
    return Config.from_sources(all_sources)
  File "/path/to/mbed-tools/src/mbed_tools/build/_internal/config/config.py", line 119, in from_sources
    _update_config_option(config, key, value, source)
  File "/path/to/mbed-tools/src/mbed_tools/build/_internal/config/config.py", line 134, in _update_config_option
    f"Can't update option which does not exist."
ValueError: Can't update option which does not exist. Attempting to set 'target.printf_lib' to 'minimal-printf' in 'File: /path/to/mbed-os-example-blinky-baremetal/mbed_app.json'.

Issue request type

  • Enhancement
  • Bug

`mbed-tools detect` causes Python stack trace from mbed_tools/devices on unknown OS

Description

Desired behavior:

  • mbed-tools detect lists out USB-connected boards, or a friendly message if it can't

Actual behavior:

  • mbed-tools detect causes a Python stack trace to be printed
[mbedtools] [email protected]:~ % mbed-tools detect
Traceback (most recent call last):
  File "/home/patater/venvs/mbedtools/bin/mbed-tools", line 8, in <module>
    sys.exit(cli())
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/mbed_tools/cli/main.py", line 38, in invoke
    super().invoke(context)
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/mbed_tools/cli/list_connected_devices.py", line 29, in list_connected_devices
    connected_devices = get_connected_devices()
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/mbed_tools/devices/devices.py", line 32, in get_connected_devices
    for candidate_device in detect_candidate_devices():
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/mbed_tools/devices/_internal/detect_candidate_devices.py", line 16, in detect_candidate_devices
    return detector.find_candidates()
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/mbed_tools/devices/_internal/darwin/device_detector.py", line 40, in find_candidates
    usb_devices_data = system_profiler.get_end_usb_devices_data()
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/mbed_tools/devices/_internal/darwin/system_profiler.py", line 42, in get_end_usb_devices_data
    data = get_all_usb_devices_data()
  File "/home/patater/venvs/mbedtools/lib/python3.7/site-packages/mbed_tools/devices/_internal/darwin/system_profiler.py", line 34, in get_all_usb_devices_data
    output = subprocess.check_output(["system_profiler", "-xml", "SPUSBDataType"], stderr=subprocess.DEVNULL)
  File "/usr/local/lib/python3.7/subprocess.py", line 411, in check_output
    **kwargs).stdout
  File "/usr/local/lib/python3.7/subprocess.py", line 488, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/local/lib/python3.7/subprocess.py", line 800, in __init__
    restore_signals, start_new_session)
  File "/usr/local/lib/python3.7/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'system_profiler': 'system_profiler'

It looks like something called darwin/device_detector.py is being used, but my host OS is not Darwin or macOS. It's just your friendly, neighborhood FreeBSD. I'd guess the OS detection is not very sophisticated.

[mbedtools] [email protected]:~ % mbed-tools --version
5.4.0

Issue request type

  • Enhancement
  • Bug

Config settings defined in an mbed_lib.json can be overridden by another mbed_lib.json

Description

The old tools would only allow you to override config parameters defined in an mbed_lib.json from mbed_app.json.
Our new tools currently do not raise an error in this situation and attempt to override the parameter.
This leads to undefined behaviour as we don't enforce any policy on the order of overrides from multiple mbed_lib.json files.
The new tools should raise an error in this situation to avoid the undefined behaviour, like the old tools (although we should ensure we emit a more useful error message than the old tools).

Issue request type

  • Enhancement
  • Bug

Program map HTML representation is unreadable in most cases

Description

I'm not sure if this is a bug in the new tools but using the old tools (which I am assuming use the same HTML generation code) the "no-change" highlighting color is unreadable. The contrast is so low it's an attack on my eyeballs. White text on light yellow?

🔪
__:eye: __

See screenshot below:

unreadable-yellow

Issue request type

  • Enhancement
  • Bug

Remove false dependencies

Description

We are currently adding dependencies on a few libraries that mbed-tools doesn't require, but that mbed-os does require. We are doing this to make it easier to get started developing on Mbed OS. This is an interim solution, however, and comes with a number of drawbacks. In particular, adding these dependencies now means that the mbed-os version and the mbed-tools version are coupled: you can no longer build any version of Mbed OS 6.5 and up with any mbed-tools version.

We should only depend on what mbed-tools itself needs, and count on an Mbed Installer to have installed anything that mbed-os needs.

Issue request type

  • Enhancement
  • Bug

Function invoked with incorrect arguments for function named: mbed_set_linker_script

Description

I have custom target with custom CMakeFile.txt https://github.com/Azq2/mbed-test-project/blob/master/TARGET_STM32F405XG/CMakeLists.txt

I overrided CMakeLists.txt for custom linker script and startup file.

But mbed build system don't load TARGET_STM32F405XG/CMakeLists.txt into cmake project and i see error:

CMake Error at mbed-os/CMakeLists.txt:136 (mbed_set_linker_script):
  mbed_set_linker_script Function invoked with incorrect arguments for
  function named: mbed_set_linker_script


-- Configuring incomplete, errors occurred!

But if i manually add loading of TARGET_STM32F405XG/CMakeLists.txt into main CMakeLists.txt of project:

if(${MBED_TARGET} STREQUAL "STM32F405XG")
	include(${MBED_PATH}/tools/cmake/set_linker_script.cmake)
	add_subdirectory(TARGET_STM32F405XG)
endif()

All builds fine.

But i think, its not apropriate way. May be, mbed build system must automaticaly loads any CMakeLists.txt files in custom targets?

Steps for reproduce:

git clone https://github.com/Azq2/mbed-test-project
cd mbed-test-project
mbed-tools deploy
mbed-tools compile --toolchain GCC_ARM --mbed-target STM32F405XG

And we see error about mbed_set_linker_script

But if enable these lines (bad workaround): https://github.com/Azq2/mbed-test-project/blob/15f0021234df4b200f62a4f536fb7ed2004553f5/CMakeLists.txt#L12

No any errors occured.

Issue request type

  • Enhancement
  • Bug

Changing toolchain for building does not work

Description

$ mbedtools --version
3.4.0

Steps to reproduce:

  1. Build mbed-os-example-blinky with mbedtools build -t GCC_ARM -m K64F
  2. After the build is completed, run mbedtools build -t ARM -m K64F -c

Expected:
The application is rebuilt again from scratch with the ARM toolchain

Actual:
The application does not rebuild.

Generating Mbed config...
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/hugkam01/projects/mbed/examples/mbed-os-example-blinky/cmake_build
ninja: no work to do.

The cmake-build directory has to be manually deleted to rebuild.

Issue request type

  • Enhancement
  • Bug

Difference between mbedls and mbedtools detect : version is missing

Description

"old" tool:

$ mbedls
| platform_name | platform_name_unique | mount_point | serial_port | target_id                | interface_version |
|---------------|----------------------|-------------|-------------|--------------------------|-------------------|
| NUCLEO_G474RE | NUCLEO_G474RE[0]     | D:          | COM31       | 08410221114268032E06F17F | V3J7M2            |

Now:

$ mbedtools detect
Board name                Serial number  Serial port    Mount point(s)    Build target(s)
-------------  ------------------------  -------------  ----------------  -----------------
NUCLEO-G474RE  003900423137510133333639  COM31          D:                NUCLEO_G474RE
  • Serial number addition is very nice!
  • Target Id information was not used, so no problem to remove it
  • But I think interface version is really missing, can we add it back ?

Thx

@MarceloSalazar

Issue request type

  • Enhancement
  • Bug

Lack of handling of "requires" in mbed_app.json

Description

The Mbed configuration system has a "requires" field (see example) to restrict compilation to certain libraries instead of the whole Mbed OS. This also affects what macros get defined, i.e. macros are only generated from mbed_lib.json of libraries we build.

The current version of mbed-tools defines macros from all libraries, regardless of "defines". This causes issues (see discussion in ARMmbed/mbed-os#13934) when we need to define a macro only when the library is enabled.

Note: If this issue is resolved, we should not need #78 anymore. But there's a more fundamental issue: the "requires": [...] field duplicates the purpose CMake dependency lists:

target_link_libraries(${APP_TARGET}
    PRIVATE
        mbed-os
        mbed-netsocket
)

Such duplication means users would list dependencies twice, once for CMake, once in "requires". How could we handle this?

Issue request type

  • Enhancement
  • Bug

Make a different cmake_build tree for ARM and GCC and for each target

Description

Hi

With previous system build, ARM and GCC built files are in a different tree.
I could then verify development and applications with both toolchain in //

Now it is no more possible...

In previous build, development and debug profiles were also different.

And I think seperating os build from baremetal build would be also appreciated :-)

Thx

Issue request type

  • Enhancement
  • Bug

mbedtools detect with multiple targets

Description

What is the expected behavior when same target is connected several times?

"old" tool:

$ mbedls
| platform_name | platform_name_unique | mount_point | serial_port | target_id                | interface_version |
|---------------|----------------------|-------------|-------------|--------------------------|-------------------|
| NUCLEO_WB55RG | NUCLEO_WB55RG[0]     | E:          | COM26       | 08390221104868612F0CF165 | 0221              |
| NUCLEO_WB55RG | NUCLEO_WB55RG[1]     | F:          | COM42       | 08390221104968152F0DF111 | V2J37M26          |

=> platform_name_unique could be used

Now:

$ mbedtools detect
Board name     Serial number             Serial port    Mount point(s)    Build target(s)
-------------  ------------------------  -------------  ----------------  -----------------
NUCLEO-WB55RG  066dff535456807867075351  COM42          F:                NUCLEO_WB55RG
NUCLEO-WB55RG  066dff545057717867195937  COM26          E:                NUCLEO_WB55RG

@MarceloSalazar

Issue request type

  • Enhancement
  • Bug

Installing tox -e dev fails on macOS Big Sur

Description

While working on my PR, I tried to follow the dev instructions.

I'm not able to run tox -e dev, it fails with the following:

ERROR: Command errored out with exit status 1: /Users/ladislas/dev/ladislas/mbed-tools/.venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/2q/lt774llx3rd74b0r2yz3pxzw0000gn/T/pip-install-w6c4p_3y/coverage/setup.py'"'"'; __file__='"'"'/private/var/folders/2q/lt774llx3rd74b0r2yz3pxzw0000gn/T/pip-install-w6c4p_3y/coverage/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/2q/lt774llx3rd74b0r2yz3pxzw0000gn/T/pip-record-za6_77sm/install-record.txt --single-version-externally-managed --compile --install-headers /Users/ladislas/dev/ladislas/mbed-tools/.venv/include/site/python3.9/coverage Check the logs for full command output.
WARNING: You are using pip version 20.2.4; however, version 20.3.1 is available.
You should consider upgrading via the '/Users/ladislas/dev/ladislas/mbed-tools/.venv/bin/python -m pip install --upgrade pip' command.

===================================== log end =====================================
ERROR: could not install deps [-rrequirements-test.txt, -rrequirements-dev.txt]; v = InvocationError('/Users/ladislas/dev/ladislas/mbed-tools/.venv/bin/python -m pip install -rrequirements-test.txt -rrequirements-dev.txt', 1)
_____________________________________ summary _____________________________________
ERROR:   dev: could not install deps [-rrequirements-test.txt, -rrequirements-dev.txt]; v = InvocationError('/Users/ladislas/dev/ladislas/mbed-tools/.venv/bin/python -m pip install -rrequirements-test.txt -rrequirements-dev.txt', 1)

Issue request type

  • Enhancement
  • Bug

Add baremetal support to CI

Description

As mbed-tools is supporting Mbed OS baremetal profile, the CI job needs to add a mbed-os-baremetal-blinky example build to make sure the tools are tested.

Issue request type

  • Enhancement
  • Bug

Unable to create `.mbedbuild/mbed_config.cmake` for WIO_3G target

Description

Steps to reproduce:

  1. Clone mbed-os-example-blinky.
  2. In the root of the project, run the following command:
    $ mbedtools configure -t ARM -m WIO_3G
    

Expected output:
.mbedbuild/mbed_config.cmake is created at the root of the example project.

Actual:

$ mbedtools configure -t ARM -m WIO_3G
Traceback (most recent call last):
  File "/usr/local/bin/mbedtools", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/mbed_tools/cli/main.py", line 38, in invoke
    super().invoke(context)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/mbed_tools/cli/configure.py", line 54, in configure
    cmake_file_contents = generate_mbed_config_cmake_file(mbed_target, target_build_attributes, config, toolchain)
  File "/usr/local/lib/python3.7/site-packages/mbed_tools/build/_internal/cmake_file.py", line 31, in generate_mbed_config_cmake_file
    return _render_mbed_config_cmake_template(target_build_attributes, config, toolchain_name, mbed_target_name,)
  File "/usr/local/lib/python3.7/site-packages/mbed_tools/build/_internal/cmake_file.py", line 60, in _render_mbed_config_cmake_template
    "supported_form_factors": target_build_attributes["supported_form_factors"],
KeyError: 'supported_form_factors'

Issue request type

  • Enhancement
  • Bug

Unable to compile on Windows due to command length limits

Description

While testing the new CMake tooling on a Windows machine I was unable to successfully compile the blinky example for the K64F target. I was able to configure CMake successfully but when building ninja output a wall of text outputting details of failed compiled commands was observed.

For example, the output of cmake --build generated a few instances of this:

[18/846] Building CXX object mbed-os/CMakeFiles/mbed-os....nectivity/drivers/cellular/UBLOX/N2XX/UBLOX_N2XX.cpp.obj
FAILED: mbed-os/CMakeFiles/mbed-os.dir/connectivity/drivers/cellular/UBLOX/N2XX/UBLOX_N2XX.cpp.obj
C:\PROGRA~2\GNUARM~1\92020-~1\bin\AR10B2~1.EXE -DARM_MATH_CM4 -DCOMPONENT_FLASHIAP=1 [...] -c ../mbed-os/connectivity/drivers/cellular/UBLOX/N2XX/UBLOX_N2XX.cpp
AR10B2~1.EXE: fatal error: cannot execute 'c:/progra~2/gnuarm~1/92020-~1/bin/../lib/gcc/arm-none-eabi/9.3.1/cc1plus.exe': CreateProcess: No such file or directory
compilation terminated.
ninja: build stopped: subcommand failed.

Where [...] is more compiler options (note the odd paths with ~ are short paths). In an attempt to debug this error I ran an example command directly in the commandline:

> C:\PROGRA~2\GNUARM~1\92020-~1\bin\AR10B2~1.EXE -DARM_MATH_CM4 -DCOMPONENT_FLASHIAP=1 -DCOMPONENT_SD=1 -DCPU_MK64FN1M0VMD12 -DDEVICE_ANALOGIN=1 -DDEVICE_ANALOGOUT=1 -DDEVICE_CRC=1 -DDEVICE_EMAC=1 -DDEVICE_FLASH=1 -DDEVICE_I2C=1 -DDEVICE_I2CSLAVE=1 -DDEVICE_INTERRUPTIN=1 -DDEVICE_LPTICKER=1 -DDEVICE_PORTIN=1 -DDEVICE_PORTINOUT=1 -DDEVICE_PORTOUT=1 -DDEVICE_PWMOUT=1 -DDEVICE_RESET_REASON=1 -DDEVICE_RTC=1 -DDEVICE_SERIAL=1 -DDEVICE_SERIAL_ASYNCH=1 -DDEVICE_SERIAL_FC=1 -DDEVICE_SLEEP=1 -DDEVICE_SPI=1 -DDEVICE_SPISLAVE=1 -DDEVICE_SPI_ASYNCH=1 -DDEVICE_STDIO_MESSAGES=1 -DDEVICE_TRNG=1 -DDEVICE_USBDEVICE=1 -DDEVICE_USTICKER=1 -DDEVICE_WATCHDOG=1 -DFEATURE_PSA=1 -DFSL_RTOS_MBED -DMBEDTLS_CIPHER_MODE_CTR -DMBED_CONF_ALT1250_PPP_BAUDRATE=115200 -DMBED_CONF_ALT1250_PPP_PROVIDE_DEFAULT=0 -DMBED_CONF_ATMEL_RF_ASSUME_SPACED_SPI=0 -DMBED_CONF_ATMEL_RF_FULL_SPI_SPEED=7500000 -DMBED_CONF_ATMEL_RF_FULL_SPI_SPEED_BYTE_SPACING=250 -DMBED_CONF_ATMEL_RF_IRQ_THREAD_STACK_SIZE=1024 -DMBED_CONF_ATMEL_RF_LOW_SPI_SPEED=3750000 -DMBED_CONF_ATMEL_RF_PROVIDE_DEFAULT=0 -DMBED_CONF_ATMEL_RF_USE_SPI_SPACING_API=0 -DMBED_CONF_CELLULAR_CONTROL_PLANE_OPT=0 -DMBED_CONF_CELLULAR_DEBUG_AT=0 -DMBED_CONF_CELLULAR_MAX_CP_DATA_RECV_LEN=1358 -DMBED_CONF_CELLULAR_RANDOM_MAX_START_DELAY=0 -DMBED_CONF_CELLULAR_USE_APN_LOOKUP=0 -DMBED_CONF_CELLULAR_USE_SMS=0 -DMBED_CONF_DRIVERS_QSPI_CSN=QSPI_FLASH1_CSN -DMBED_CONF_DRIVERS_QSPI_IO0=QSPI_FLASH1_IO0 -DMBED_CONF_DRIVERS_QSPI_IO1=QSPI_FLASH1_IO1 -DMBED_CONF_DRIVERS_QSPI_IO2=QSPI_FLASH1_IO2 -DMBED_CONF_DRIVERS_QSPI_IO3=QSPI_FLASH1_IO3 -DMBED_CONF_DRIVERS_QSPI_SCK=QSPI_FLASH1_SCK -DMBED_CONF_DRIVERS_UART_SERIAL_RXBUF_SIZE=256 -DMBED_CONF_DRIVERS_UART_SERIAL_TXBUF_SIZE=256 -DMBED_CONF_ESP8266_BUILT_IN_DNS=0 -DMBED_CONF_ESP8266_DEBUG=0 -DMBED_CONF_ESP8266_POWER_OFF_TIME_MS=3 -DMBED_CONF_ESP8266_POWER_ON_POLARITY=0 -DMBED_CONF_ESP8266_POWER_ON_TIME_MS=3 -DMBED_CONF_ESP8266_PROVIDE_DEFAULT=0 -DMBED_CONF_ESP8266_SERIAL_BAUDRATE=115200 -DMBED_CONF_ESP8266_SNTP_ENABLE=0 -DMBED_CONF_ESP8266_SNTP_SERVER0=\"\" -DMBED_CONF_ESP8266_SNTP_SERVER1=\"\" -DMBED_CONF_ESP8266_SNTP_SERVER2=\"\" -DMBED_CONF_ESP8266_SNTP_TIMEZONE=0 -DMBED_CONF_ESP8266_SOCKET_BUFSIZE=8192 -DMBED_CONF_EVENTS_PRESENT=1 -DMBED_CONF_EVENTS_SHARED_DISPATCH_FROM_APPLICATION=0 -DMBED_CONF_EVENTS_SHARED_EVENTSIZE=768 -DMBED_CONF_EVENTS_SHARED_HIGHPRIO_EVENTSIZE=256 -DMBED_CONF_EVENTS_SHARED_HIGHPRIO_STACKSIZE=1024 -DMBED_CONF_EVENTS_SHARED_STACKSIZE=2048 -DMBED_CONF_EVENTS_USE_LOWPOWER_TIMER_TICKER=0 -DMBED_CONF_FAT_CHAN_FFS_DBG=0 -DMBED_CONF_FAT_CHAN_FF_CODE_PAGE=437 -DMBED_CONF_FAT_CHAN_FF_FS_EXFAT=0 -DMBED_CONF_FAT_CHAN_FF_FS_HEAPBUF=1 -DMBED_CONF_FAT_CHAN_FF_FS_LOCK=0 -DMBED_CONF_FAT_CHAN_FF_FS_MINIMIZE=0 -DMBED_CONF_FAT_CHAN_FF_FS_NOFSINFO=0 -DMBED_CONF_FAT_CHAN_FF_FS_NORTC=0 -DMBED_CONF_FAT_CHAN_FF_FS_READONLY=0 -DMBED_CONF_FAT_CHAN_FF_FS_REENTRANT=0 -DMBED_CONF_FAT_CHAN_FF_FS_RPATH=1 -DMBED_CONF_FAT_CHAN_FF_FS_TIMEOUT=1000 -DMBED_CONF_FAT_CHAN_FF_FS_TINY=1 -DMBED_CONF_FAT_CHAN_FF_LFN_BUF=255 -DMBED_CONF_FAT_CHAN_FF_LFN_UNICODE=0 -DMBED_CONF_FAT_CHAN_FF_MAX_LFN=255 -DMBED_CONF_FAT_CHAN_FF_MAX_SS=4096 -DMBED_CONF_FAT_CHAN_FF_MIN_SS=512 -DMBED_CONF_FAT_CHAN_FF_MULTI_PARTITION=0 -DMBED_CONF_FAT_CHAN_FF_NORTC_MDAY=1 -DMBED_CONF_FAT_CHAN_FF_NORTC_MON=1 -DMBED_CONF_FAT_CHAN_FF_NORTC_YEAR=2017 -DMBED_CONF_FAT_CHAN_FF_SFN_BUF=12 -DMBED_CONF_FAT_CHAN_FF_STRF_ENCODE=3 -DMBED_CONF_FAT_CHAN_FF_STR_VOLUME_ID=0 -DMBED_CONF_FAT_CHAN_FF_SYNC_T=HANDLE -DMBED_CONF_FAT_CHAN_FF_USE_CHMOD=0 -DMBED_CONF_FAT_CHAN_FF_USE_EXPAND=0 -DMBED_CONF_FAT_CHAN_FF_USE_FASTSEEK=0 -DMBED_CONF_FAT_CHAN_FF_USE_FIND=0 -DMBED_CONF_FAT_CHAN_FF_USE_FORWARD=0 -DMBED_CONF_FAT_CHAN_FF_USE_LABEL=0 -DMBED_CONF_FAT_CHAN_FF_USE_LFN=3 -DMBED_CONF_FAT_CHAN_FF_USE_MKFS=1 -DMBED_CONF_FAT_CHAN_FF_USE_STRFUNC=0 -DMBED_CONF_FAT_CHAN_FF_USE_TRIM=1 -DMBED_CONF_FAT_CHAN_FF_VOLUMES=4 -DMBED_CONF_FAT_CHAN_FF_VOLUME_STRS=\"RAM\",\"NAND\",\"CF\",\"SD\",\"SD2\",\"USB\",\"USB2\",\"USB3\" -DMBED_CONF_FAT_CHAN_FLUSH_ON_NEW_CLUSTER=0 -DMBED_CONF_FAT_CHAN_FLUSH_ON_NEW_SECTOR=1 -DMBED_CONF_FILESYSTEM_PRESENT=1 -DMBED_CONF_FLASHIAP_BLOCK_DEVICE_BASE_ADDRESS=0xFFFFFFFF -DMBED_CONF_FLASHIAP_BLOCK_DEVICE_SIZE=0 -DMBED_CONF_GEMALTO_CINTERION_BAUDRATE=115200 -DMBED_CONF_GEMALTO_CINTERION_PROVIDE_DEFAULT=0 -DMBED_CONF_GENERIC_AT3GPP_BAUDRATE=115200 -DMBED_CONF_GENERIC_AT3GPP_PROVIDE_DEFAULT=0 -DMBED_CONF_KINETIS_EMAC_RX_RING_LEN=2 -DMBED_CONF_KINETIS_EMAC_TX_RING_LEN=1 -DMBED_CONF_LORA_ADR_ON=1 -DMBED_CONF_LORA_APPLICATION_EUI="{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}" -DMBED_CONF_LORA_APPLICATION_KEY="{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}" -DMBED_CONF_LORA_APPSKEY="{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}" -DMBED_CONF_LORA_APP_PORT=15 -DMBED_CONF_LORA_AUTOMATIC_UPLINK_MESSAGE=1 -DMBED_CONF_LORA_DEVICE_ADDRESS=0x00000000 -DMBED_CONF_LORA_DEVICE_EUI="{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}" -DMBED_CONF_LORA_DOWNLINK_PREAMBLE_LENGTH=5 -DMBED_CONF_LORA_DUTY_CYCLE_ON=1 -DMBED_CONF_LORA_DUTY_CYCLE_ON_JOIN=1 -DMBED_CONF_LORA_FSB_MASK="{0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00FF}" -DMBED_CONF_LORA_FSB_MASK_CHINA="{0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}" -DMBED_CONF_LORA_LBT_ON=0 -DMBED_CONF_LORA_MAX_SYS_RX_ERROR=5 -DMBED_CONF_LORA_NB_TRIALS=12 -DMBED_CONF_LORA_NWKSKEY="{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}" -DMBED_CONF_LORA_OVER_THE_AIR_ACTIVATION=1 -DMBED_CONF_LORA_PHY=EU868 -DMBED_CONF_LORA_PUBLIC_NETWORK=1 -DMBED_CONF_LORA_TX_MAX_SIZE=64 -DMBED_CONF_LORA_UPLINK_PREAMBLE_LENGTH=8 -DMBED_CONF_LORA_WAKEUP_TIME=5 -DMBED_CONF_LWIP_ADDR_TIMEOUT=5 -DMBED_CONF_LWIP_ADDR_TIMEOUT_MODE=1 -DMBED_CONF_LWIP_DEBUG_ENABLED=0 -DMBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE=512 -DMBED_CONF_LWIP_DHCP_TIMEOUT=60 -DMBED_CONF_LWIP_ENABLE_PPP_TRACE=0 -DMBED_CONF_LWIP_ETHERNET_ENABLED=1 -DMBED_CONF_LWIP_IPV4_ENABLED=1 -DMBED_CONF_LWIP_IPV6_ENABLED=0 -DMBED_CONF_LWIP_IP_VER_PREF=4 -DMBED_CONF_LWIP_L3IP_ENABLED=0 -DMBED_CONF_LWIP_MBOX_SIZE=8 -DMBED_CONF_LWIP_MEMP_NUM_TCPIP_MSG_INPKT=8 -DMBED_CONF_LWIP_MEMP_NUM_TCP_SEG=16 -DMBED_CONF_LWIP_MEM_SIZE=33270 -DMBED_CONF_LWIP_NUM_NETBUF=8 -DMBED_CONF_LWIP_NUM_PBUF=8 -DMBED_CONF_LWIP_PBUF_POOL_SIZE=5 -DMBED_CONF_LWIP_PPP_ENABLED=0 -DMBED_CONF_LWIP_PPP_IPV4_ENABLED=0 -DMBED_CONF_LWIP_PPP_IPV6_ENABLED=0 -DMBED_CONF_LWIP_PPP_THREAD_STACKSIZE=768 -DMBED_CONF_LWIP_PRESENT=1 -DMBED_CONF_LWIP_RAW_SOCKET_ENABLED=0 -DMBED_CONF_LWIP_SOCKET_MAX=4 -DMBED_CONF_LWIP_TCPIP_THREAD_PRIORITY=osPriorityNormal -DMBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE=1200 -DMBED_CONF_LWIP_TCP_CLOSE_TIMEOUT=1000 -DMBED_CONF_LWIP_TCP_ENABLED=1 -DMBED_CONF_LWIP_TCP_MAXRTX=6 -DMBED_CONF_LWIP_TCP_MSS=536 -DMBED_CONF_LWIP_TCP_SERVER_MAX=4 -DMBED_CONF_LWIP_TCP_SND_BUF="(2 * TCP_MSS)" -DMBED_CONF_LWIP_TCP_SOCKET_MAX=4 -DMBED_CONF_LWIP_TCP_SYNMAXRTX=6 -DMBED_CONF_LWIP_TCP_WND="(4 * TCP_MSS)" -DMBED_CONF_LWIP_UDP_SOCKET_MAX=4 -DMBED_CONF_LWIP_USE_MBED_TRACE=0 -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL=0 -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK=0x7fff800 -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE=0 -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_DEVICE_TYPE=NET_6LOWPAN_ROUTER -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_PANID_FILTER=0xffff -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY="{0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf}" -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID=1 -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE=NONE -DMBED_CONF_MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL=5 -DMBED_CONF_MBED_MESH_API_HEAP_SIZE=32500 -DMBED_CONF_MBED_MESH_API_HEAP_STAT_INFO=NULL -DMBED_CONF_MBED_MESH_API_MAC_NEIGH_TABLE_SIZE=32 -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL=22 -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK=0x7fff800 -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE=0 -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP=0x10000 -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID="{0xf1, 0xb5, 0xa1, 0xb2,0xc4, 0xd5, 0xa1, 0xbd }" -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_ML_PREFIX="{0xfd, 0x0, 0x0d, 0xb8, 0x0, 0x0, 0x0, 0x0}" -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME="\"Thread Network\"" -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_PANID=0x0700 -DMBED_CONF_MBED_MESH_API_THREAD_CONFIG_PSKC="{0xc8, 0xa6, 0x2e, 0xae, 0xf3, 0x68, 0xf3, 0x46, 0xa9, 0x9e, 0x57, 0x85, 0x98, 0x9d, 0x1c, 0xd0}" -DMBED_CONF_MBED_MESH_API_THREAD_DEVICE_TYPE=MESH_DEVICE_TYPE_THREAD_ROUTER -DMBED_CONF_MBED_MESH_API_THREAD_MASTER_KEY="{0x10, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}" -DMBED_CONF_MBED_MESH_API_THREAD_PSKD=\"ABCDEFGH\" -DMBED_CONF_MBED_MESH_API_THREAD_SECURITY_POLICY=255 -DMBED_CONF_MBED_MESH_API_THREAD_USE_STATIC_LINK_CONFIG=1 -DMBED_CONF_MBED_MESH_API_USE_MALLOC_FOR_HEAP=0 -DMBED_CONF_MBED_MESH_API_WISUN_BC_CHANNEL_FUNCTION=255 -DMBED_CONF_MBED_MESH_API_WISUN_BC_DWELL_INTERVAL=0 -DMBED_CONF_MBED_MESH_API_WISUN_BC_FIXED_CHANNEL=65535 -DMBED_CONF_MBED_MESH_API_WISUN_BC_INTERVAL=0 -DMBED_CONF_MBED_MESH_API_WISUN_DEVICE_TYPE=MESH_DEVICE_TYPE_WISUN_ROUTER -DMBED_CONF_MBED_MESH_API_WISUN_NETWORK_NAME="\"Wi-SUN Network\"" -DMBED_CONF_MBED_MESH_API_WISUN_OPERATING_CLASS=255 -DMBED_CONF_MBED_MESH_API_WISUN_OPERATING_MODE=255 -DMBED_CONF_MBED_MESH_API_WISUN_REGULATORY_DOMAIN=3 -DMBED_CONF_MBED_MESH_API_WISUN_UC_CHANNEL_FUNCTION=255 -DMBED_CONF_MBED_MESH_API_WISUN_UC_DWELL_INTERVAL=255 -DMBED_CONF_MBED_MESH_API_WISUN_UC_FIXED_CHANNEL=65535 -DMBED_CONF_MCR20A_PROVIDE_DEFAULT=0 -DMBED_CONF_NANOSTACK_CONFIGURATION=nanostack_full -DMBED_CONF_NANOSTACK_HAL_CRITICAL_SECTION_USABLE_FROM_INTERRUPT=0 -DMBED_CONF_NANOSTACK_HAL_EVENT_LOOP_DISPATCH_FROM_APPLICATION=0 -DMBED_CONF_NANOSTACK_HAL_EVENT_LOOP_THREAD_STACK_SIZE=6144 -DMBED_CONF_NANOSTACK_HAL_EVENT_LOOP_USE_MBED_EVENTS=0 -DMBED_CONF_NANOSTACK_HAL_KVSTORE_PATH=\"/kv/\" -DMBED_CONF_NANOSTACK_HAL_USE_KVSTORE=0 -DMBED_CONF_NSAPI_DEFAULT_MESH_TYPE=THREAD -DMBED_CONF_NSAPI_DEFAULT_STACK=LWIP -DMBED_CONF_NSAPI_DEFAULT_WIFI_SECURITY=NONE -DMBED_CONF_NSAPI_DNS_ADDRESSES_LIMIT=10 -DMBED_CONF_NSAPI_DNS_CACHE_SIZE=3 -DMBED_CONF_NSAPI_DNS_RESPONSE_WAIT_TIME=10000 -DMBED_CONF_NSAPI_DNS_RETRIES=1 -DMBED_CONF_NSAPI_DNS_TOTAL_ATTEMPTS=10 -DMBED_CONF_NSAPI_PRESENT=1 -DMBED_CONF_NSAPI_SOCKET_STATS_ENABLED=0 -DMBED_CONF_NSAPI_SOCKET_STATS_MAX_COUNT=10 -DMBED_CONF_PLATFORM_CALLBACK_COMPARABLE=1 -DMBED_CONF_PLATFORM_CALLBACK_NONTRIVIAL=0 -DMBED_CONF_PLATFORM_CRASH_CAPTURE_ENABLED=1 -DMBED_CONF_PLATFORM_CTHUNK_COUNT_MAX=8 -DMBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE=9600 -DMBED_CONF_PLATFORM_ERROR_ALL_THREADS_INFO=0 -DMBED_CONF_PLATFORM_ERROR_FILENAME_CAPTURE_ENABLED=0 -DMBED_CONF_PLATFORM_ERROR_HIST_ENABLED=0 -DMBED_CONF_PLATFORM_ERROR_HIST_SIZE=4 -DMBED_CONF_PLATFORM_ERROR_REBOOT_MAX=1 -DMBED_CONF_PLATFORM_FATAL_ERROR_AUTO_REBOOT_ENABLED=1 -DMBED_CONF_PLATFORM_MAX_ERROR_FILENAME_LEN=16 -DMBED_CONF_PLATFORM_MINIMAL_PRINTF_ENABLE_64_BIT=1 -DMBED_CONF_PLATFORM_MINIMAL_PRINTF_ENABLE_FLOATING_POINT=0 -DMBED_CONF_PLATFORM_MINIMAL_PRINTF_SET_FLOATING_POINT_MAX_DECIMALS=6 -DMBED_CONF_PLATFORM_POLL_USE_LOWPOWER_TIMER=0 -DMBED_CONF_PLATFORM_STDIO_BAUD_RATE=9600 -DMBED_CONF_PLATFORM_STDIO_BUFFERED_SERIAL=0 -DMBED_CONF_PLATFORM_STDIO_CONVERT_NEWLINES=1 -DMBED_CONF_PLATFORM_STDIO_CONVERT_TTY_NEWLINES=1 -DMBED_CONF_PLATFORM_STDIO_FLUSH_AT_EXIT=1 -DMBED_CONF_PLATFORM_STDIO_MINIMAL_CONSOLE_ONLY=0 -DMBED_CONF_PLATFORM_USE_MPU=1 -DMBED_CONF_PPP_ENABLED=0 -DMBED_CONF_PPP_ENABLE_TRACE=0 -DMBED_CONF_PPP_IPV4_ENABLED=1 -DMBED_CONF_PPP_IPV6_ENABLED=0 -DMBED_CONF_PPP_MBED_EVENT_QUEUE=0 -DMBED_CONF_PPP_THREAD_STACKSIZE=816 -DMBED_CONF_QUECTEL_BC95_BAUDRATE=9600 -DMBED_CONF_QUECTEL_BC95_PROVIDE_DEFAULT=0 -DMBED_CONF_QUECTEL_BG96_BAUDRATE=115200 -DMBED_CONF_QUECTEL_BG96_PROVIDE_DEFAULT=0 -DMBED_CONF_QUECTEL_EC2X_BAUDRATE=115200 -DMBED_CONF_QUECTEL_EC2X_PROVIDE_DEFAULT=0 -DMBED_CONF_QUECTEL_EC2X_START_TIMEOUT=15000 -DMBED_CONF_QUECTEL_M26_BAUDRATE=115200 -DMBED_CONF_QUECTEL_M26_PROVIDE_DEFAULT=0 -DMBED_CONF_QUECTEL_UG96_BAUDRATE=115200 -DMBED_CONF_QUECTEL_UG96_PROVIDE_DEFAULT=0 -DMBED_CONF_RM1000_AT_BAUDRATE=230400 -DMBED_CONF_RM1000_AT_PROVIDE_DEFAULT=0 -DMBED_CONF_RTOS_API_PRESENT=1 -DMBED_CONF_RTOS_EVFLAGS_NUM=0 -DMBED_CONF_RTOS_IDLE_THREAD_STACK_SIZE=512 -DMBED_CONF_RTOS_IDLE_THREAD_STACK_SIZE_DEBUG_EXTRA=0 -DMBED_CONF_RTOS_IDLE_THREAD_STACK_SIZE_TICKLESS_EXTRA=256 -DMBED_CONF_RTOS_MAIN_THREAD_STACK_SIZE=4096 -DMBED_CONF_RTOS_MSGQUEUE_DATA_SIZE=0 -DMBED_CONF_RTOS_MSGQUEUE_NUM=0 -DMBED_CONF_RTOS_MUTEX_NUM=0 -DMBED_CONF_RTOS_PRESENT=1 -DMBED_CONF_RTOS_SEMAPHORE_NUM=0 -DMBED_CONF_RTOS_THREAD_NUM=0 -DMBED_CONF_RTOS_THREAD_STACK_SIZE=4096 -DMBED_CONF_RTOS_THREAD_USER_STACK_SIZE=0 -DMBED_CONF_RTOS_TIMER_NUM=0 -DMBED_CONF_RTOS_TIMER_THREAD_STACK_SIZE=768 -DMBED_CONF_S2LP_PROVIDE_DEFAULT=0 -DMBED_CONF_SARA4_PPP_BAUDRATE=115200 -DMBED_CONF_SARA4_PPP_PROVIDE_DEFAULT=0 -DMBED_CONF_SD_CMD0_IDLE_STATE_RETRIES=5 -DMBED_CONF_SD_CMD_TIMEOUT=10000 -DMBED_CONF_SD_CRC_ENABLED=0 -DMBED_CONF_SD_FSFAT_SDCARD_INSTALLED=1 -DMBED_CONF_SD_INIT_FREQUENCY=100000 -DMBED_CONF_SD_SPI_CLK=SPI_SCK -DMBED_CONF_SD_SPI_CS=SPI_CS -DMBED_CONF_SD_SPI_MISO=SPI_MISO -DMBED_CONF_SD_SPI_MOSI=SPI_MOSI -DMBED_CONF_SD_TEST_BUFFER=8192 -DMBED_CONF_SD_TRX_FREQUENCY=1000000 -DMBED_CONF_STORAGE_DEFAULT_KV=kv -DMBED_CONF_STORAGE_FILESYSTEM_BLOCKDEVICE=default -DMBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS=0 -DMBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE=0 -DMBED_CONF_STORAGE_FILESYSTEM_FILESYSTEM=default -DMBED_CONF_STORAGE_FILESYSTEM_FOLDER_PATH=kvstore -DMBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS=0 -DMBED_CONF_STORAGE_FILESYSTEM_MOUNT_POINT=kv -DMBED_CONF_STORAGE_FILESYSTEM_NO_RBP_BLOCKDEVICE=default -DMBED_CONF_STORAGE_FILESYSTEM_NO_RBP_EXTERNAL_BASE_ADDRESS=0 -DMBED_CONF_STORAGE_FILESYSTEM_NO_RBP_EXTERNAL_SIZE=0 -DMBED_CONF_STORAGE_FILESYSTEM_NO_RBP_FILESYSTEM=default -DMBED_CONF_STORAGE_FILESYSTEM_NO_RBP_FOLDER_PATH=kvstore -DMBED_CONF_STORAGE_FILESYSTEM_NO_RBP_MOUNT_POINT=kv -DMBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE=0 -DMBED_CONF_STORAGE_STORAGE_TYPE=default -DMBED_CONF_STORAGE_TDB_EXTERNAL_BLOCKDEVICE=default -DMBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_BASE_ADDRESS=0 -DMBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_SIZE=0 -DMBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS=0 -DMBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_BLOCKDEVICE=default -DMBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_BASE_ADDRESS=0 -DMBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_SIZE=0 -DMBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE=0 -DMBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=0 -DMBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=0 -DMBED_CONF_TARGET_BOOT_STACK_SIZE=0x400 -DMBED_CONF_TARGET_CONSOLE_UART=1 -DMBED_CONF_TARGET_DEEP_SLEEP_LATENCY=0 -DMBED_CONF_TARGET_DEFAULT_ADC_VREF=NAN -DMBED_CONF_TARGET_INIT_US_TICKER_AT_BOOT=0 -DMBED_CONF_TARGET_MPU_ROM_END=0x0fffffff -DMBED_CONF_TARGET_NETWORK_DEFAULT_INTERFACE_TYPE=ETHERNET -DMBED_CONF_TARGET_TICKLESS_FROM_US_TICKER=0 -DMBED_CONF_TARGET_XIP_ENABLE=0 -DMBED_CONF_TELIT_HE910_BAUDRATE=115200 -DMBED_CONF_TELIT_HE910_PROVIDE_DEFAULT=0 -DMBED_CONF_TELIT_ME310_BAUDRATE=115200 -DMBED_CONF_TELIT_ME310_PROVIDE_DEFAULT=0 -DMBED_CONF_TELIT_ME910_BAUDRATE=115200 -DMBED_CONF_TELIT_ME910_PROVIDE_DEFAULT=0 -DMBED_CONF_UBLOX_AT_BAUDRATE=115200 -DMBED_CONF_UBLOX_AT_PROVIDE_DEFAULT=0 -DMBED_CONF_UBLOX_N2XX_BAUDRATE=9600 -DMBED_CONF_UBLOX_N2XX_PROVIDE_DEFAULT=0 -DMBED_CONF_UBLOX_PPP_BAUDRATE=115200 -DMBED_CONF_UBLOX_PPP_PROVIDE_DEFAULT=0 -DMBED_CRC_TABLE_SIZE=16 -DMBED_DEBUG -DMBED_LFS2_BLOCK_CYCLES=1024 -DMBED_LFS2_BLOCK_SIZE=512 -DMBED_LFS2_CACHE_SIZE=64 -DMBED_LFS2_ENABLE_INFO=0 -DMBED_LFS2_INTRINSICS=1 -DMBED_LFS2_LOOKAHEAD_SIZE=64 -DMBED_LFS_BLOCK_SIZE=512 -DMBED_LFS_ENABLE_INFO=0 -DMBED_LFS_INTRINSICS=1 -DMBED_LFS_LOOKAHEAD=512 -DMBED_LFS_PROG_SIZE=64 -DMBED_LFS_READ_SIZE=64 -DMBED_SPLIT_HEAP -DMBED_STACK_DUMP_ENABLED=0 -DMBED_TICKLESS -DMBED_TRAP_ERRORS_ENABLED=1 -DMEM_ALLOC=malloc -DMEM_FREE=free -DNSAPI_PPP_AVAILABLE="(MBED_CONF_PPP_ENABLED || MBED_CONF_LWIP_PPP_ENABLED)" -DNS_USE_EXTERNAL_MBED_TLS -DPPP_DEBUG=0 -DTARGET_CORTEX -DTARGET_CORTEX_M -DTARGET_FF_ARDUINO -DTARGET_FRDM -DTARGET_Freescale -DTARGET_Freescale_EMAC -DTARGET_K64F -DTARGET_KPSDK_CODE -DTARGET_KPSDK_MCUS -DTARGET_KSDK2_MCUS -DTARGET_LIKE_CORTEX_M4 -DTARGET_LIKE_MBED -DTARGET_M4 -DTARGET_MBED_PSA_SRV -DTARGET_MCUXpresso_MCUS -DTARGET_MCU_K64F -DTARGET_PSA_Target -DTARGET_PSA_V7_M -DTARGET_RTOS_M4_M7 -DTARGET_Target -DTOOLCHAIN_GCC -DTOOLCHAIN_GCC_ARM -DUNITY_INCLUDE_CONFIG_H -D_RTE_ -D__CMSIS_RTOS -D__CORTEX_M4 -D__FPU_PRESENT=1 -D__MBED_CMSIS_RTOS_CM -D__MBED__=1 -I../mbed-os -I../mbed-os/cmsis/TARGET_CORTEX_M -I../mbed-os/cmsis -I../mbed-os/connectivity/cellular -I../mbed-os/connectivity/cellular/include -I../mbed-os/connectivity/cellular/include/cellular -I../mbed-os/connectivity/cellular/include/cellular/framework -I../mbed-os/connectivity/cellular/include/cellular/framework/API -I../mbed-os/connectivity/cellular/include/cellular/framework/AT -I../mbed-os/connectivity/cellular/include/cellular/framework/common -I../mbed-os/connectivity/cellular/include/cellular/framework/device -I../mbed-os/connectivity/drivers/802.15.4_RF/atmel-rf-driver/atmel-rf-driver -I../mbed-os/connectivity/drivers/802.15.4_RF/atmel-rf-driver/source -I../mbed-os/connectivity/drivers/802.15.4_RF/mcr20a-rf-driver/mcr20a-rf-driver -I../mbed-os/connectivity/drivers/802.15.4_RF/mcr20a-rf-driver/source -I../mbed-os/connectivity/drivers/802.15.4_RF/stm-s2lp-rf-driver/stm-s2lp-rf-driver -I../mbed-os/connectivity/drivers/802.15.4_RF/stm-s2lp-rf-driver/source -I../mbed-os/connectivity/drivers/cellular/Altair/ALT1250/PPP -I../mbed-os/connectivity/drivers/cellular/GEMALTO/CINTERION -I../mbed-os/connectivity/drivers/cellular/GENERIC/GENERIC_AT3GPP -I../mbed-os/connectivity/drivers/cellular/MultiTech/DragonflyNano/PPP -I../mbed-os/connectivity/drivers/cellular/QUECTEL/BC95 -I../mbed-os/connectivity/drivers/cellular/QUECTEL/BG96 -I../mbed-os/connectivity/drivers/cellular/QUECTEL/EC2X -I../mbed-os/connectivity/drivers/cellular/QUECTEL/M26 -I../mbed-os/connectivity/drivers/cellular/QUECTEL/UG96 -I../mbed-os/connectivity/drivers/cellular/RiotMicro/AT -I../mbed-os/connectivity/drivers/cellular/TELIT/HE910 -I../mbed-os/connectivity/drivers/cellular/TELIT/ME310 -I../mbed-os/connectivity/drivers/cellular/TELIT/ME910 -I../mbed-os/connectivity/drivers/cellular/UBLOX/AT -I../mbed-os/connectivity/drivers/cellular/UBLOX/N2XX -I../mbed-os/connectivity/drivers/cellular/UBLOX/PPP -I../mbed-os/connectivity/drivers/cellular -I../mbed-os/connectivity/drivers/emac/TARGET_Freescale_EMAC -I../mbed-os/connectivity/drivers/nfc/PN512/include -I../mbed-os/connectivity/drivers/nfc/PN512/include/nfc -I../mbed-os/connectivity/drivers/nfc/PN512/include/nfc/controllers -I../mbed-os/connectivity/drivers/nfc/PN512/source -I../mbed-os/connectivity/drivers/nfc/PN512/source/transceiver -I../mbed-os/connectivity/drivers/wifi/esp8266-driver -I../mbed-os/connectivity/drivers/wifi/esp8266-driver/ESP8266 -I../mbed-os/connectivity/libraries/mbed-coap -I../mbed-os/connectivity/libraries/mbed-coap/mbed-coap -I../mbed-os/connectivity/libraries/mbed-coap/source/include -I../mbed-os/connectivity/libraries/nanostack-libservice -I../mbed-os/connectivity/libraries/nanostack-libservice/mbed-client-libservice -I../mbed-os/connectivity/libraries/nanostack-libservice/mbed-client-libservice/platform -I../mbed-os/connectivity/libraries/ppp -I../mbed-os/connectivity/libraries/ppp/include -I../mbed-os/connectivity/libraries/ppp/include/polarssl -I../mbed-os/connectivity/libraries/ppp/include/ppp -I../mbed-os/connectivity/lorawan/lorastack -I../mbed-os/connectivity/lorawan/lorastack/mac -I../mbed-os/connectivity/lorawan/lorastack/phy -I../mbed-os/connectivity/lorawan/system -I../mbed-os/connectivity/lorawan -I../mbed-os/connectivity/lorawan/include -I../mbed-os/connectivity/lorawan/include/lorawan -I../mbed-os/connectivity/lwipstack -I../mbed-os/connectivity/lwipstack/include -I../mbed-os/connectivity/lwipstack/include/lwipstack -I../mbed-os/connectivity/lwipstack/lwip/src/include -I../mbed-os/connectivity/lwipstack/lwip/src/include/lwip -I../mbed-os/connectivity/lwipstack/lwip-sys -I../mbed-os/connectivity/lwipstack/lwip-sys/arch -I../mbed-os/connectivity/mbedtls -I../mbed-os/connectivity/mbedtls/include -I../mbed-os/connectivity/mbedtls/include/mbedtls -I../mbed-os/connectivity/mbedtls/platform -I../mbed-os/connectivity/mbedtls/platform/inc -I../mbed-os/connectivity/nanostack/coap-service -I../mbed-os/connectivity/nanostack/coap-service/coap-service -I../mbed-os/connectivity/nanostack/coap-service/source/include -I../mbed-os/connectivity/nanostack/mbed-mesh-api -I../mbed-os/connectivity/nanostack/mbed-mesh-api/mbed-mesh-api -I../mbed-os/connectivity/nanostack/mbed-mesh-api/source/include -I../mbed-os/connectivity/nanostack/nanostack-hal-mbed-cmsis-rtos -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/Bootstraps -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/Fragmentation -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/IPHC_Decode -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/MAC -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/Mesh -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ND -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/NVM -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/Thread -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/BorderRouter -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Common_Protocols -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Core -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Core/include -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/DHCPv6_Server -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/DHCPv6_client -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/MAC -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/MAC/IEEE802_15_4 -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/MAC/virtual_rf -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/MLE -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/MPL -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/NWK_INTERFACE -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/NWK_INTERFACE/Include -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/RPL -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/Common -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/PANA -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/TLS -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/eapol -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/kmp -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/protocols -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/protocols/eap_tls_sec_prot -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/protocols/fwh_sec_prot -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/protocols/gkh_sec_prot -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/protocols/key_sec_prot -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Security/protocols/tls_sec_prot -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/Neighbor_cache -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/Trickle -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/blacklist -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/etx -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/fhss -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/fnv_hash -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/hmac -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/ieee_802_11 -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/load_balance -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mac_neighbor_table -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/port -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/port/compiler -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/port/cpu -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services/dns -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services/mdns -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services/poll -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services/serial -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/stack -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/mle_service -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/nd_proxy -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/nist_aes_kw -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/pan_blacklist -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/utils -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/Service_Libs/whiteboard -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/configs -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/configs/base -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/ipv6_stack -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/libDHCPv6 -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/libNET -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source/libNET/src -I../mbed-os/connectivity/nanostack/sal-stack-nanostack -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/nanostack -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/nanostack/platform -I../mbed-os/connectivity/nanostack/sal-stack-nanostack/source -I../mbed-os/connectivity/nanostack/sal-stack-nanostack-eventloop -I../mbed-os/connectivity/nanostack/sal-stack-nanostack-eventloop/nanostack-event-loop -I../mbed-os/connectivity/nanostack/sal-stack-nanostack-eventloop/nanostack-event-loop/platform -I../mbed-os/connectivity/nanostack/sal-stack-nanostack-eventloop/source -I../mbed-os/connectivity/nanostack -I../mbed-os/connectivity/nanostack/include -I../mbed-os/connectivity/nanostack/include/nanostack-interface -I../mbed-os/connectivity/netsocket -I../mbed-os/connectivity/netsocket/include -I../mbed-os/connectivity/netsocket/include/netsocket -I../mbed-os/connectivity/nfc/libraries/acore -I../mbed-os/connectivity/nfc/libraries/acore/acore -I../mbed-os/connectivity/nfc/libraries/stack/tech/iso7816 -I../mbed-os/connectivity/nfc/libraries/stack/tech/isodep -I../mbed-os/connectivity/nfc/libraries/stack/tech/type4 -I../mbed-os/connectivity/nfc/libraries/stack/transceiver -I../mbed-os/connectivity/nfc/libraries/stack -I../mbed-os/connectivity/nfc/libraries/stack/ndef -I../mbed-os/connectivity/nfc/libraries/stack/platform -I../mbed-os/connectivity/nfc/libraries -I../mbed-os/connectivity/nfc -I../mbed-os/connectivity/nfc/include -I../mbed-os/connectivity/nfc/include/nfc -I../mbed-os/connectivity/nfc/include/nfc/ndef -I../mbed-os/connectivity/nfc/include/nfc/ndef/common -I../mbed-os/connectivity -I../mbed-os/drivers -I../mbed-os/drivers/include -I../mbed-os/drivers/include/drivers -I../mbed-os/drivers/include/drivers/internal -I../mbed-os/events -I../mbed-os/events/include -I../mbed-os/events/include/events -I../mbed-os/events/include/events/internal -I../mbed-os/features/device_key/source -I../mbed-os/features/frameworks/mbed-client-randlib/mbed-client-randlib -I../mbed-os/features/frameworks/mbed-client-randlib/mbed-client-randlib/platform -I../mbed-os/features/frameworks/mbed-trace -I../mbed-os/features/frameworks/mbed-trace/mbed-trace -I../mbed-os/features/frameworks/mbed-client-cli -I../mbed-os/features/frameworks/mbed-client-cli/mbed-client-cli -I../mbed-os/features -I../mbed-os/hal -I../mbed-os/hal/usb -I../mbed-os/platform/cxxsupport -I../mbed-os/platform/source/minimal-printf -I../mbed-os/platform -I../mbed-os/platform/include -I../mbed-os/platform/include/platform -I../mbed-os/platform/include/platform/internal -I../mbed-os/platform/source -I../mbed-os/rtos/source/TARGET_CORTEX/rtx5/RTX/Config -I../mbed-os/rtos/source/TARGET_CORTEX/rtx5/RTX/Include -I../mbed-os/rtos/source/TARGET_CORTEX/rtx5/RTX/Source -I../mbed-os/rtos/source/TARGET_CORTEX/rtx5/Include -I../mbed-os/rtos/source/TARGET_CORTEX -I../mbed-os/rtos/source/TARGET_CORTEX/rtx4 -I../mbed-os/rtos -I../mbed-os/rtos/include -I../mbed-os/rtos/include/rtos -I../mbed-os/rtos/include/rtos/internal -I../mbed-os/rtos/source -I../mbed-os/storage/blockdevice/COMPONENT_FLASHIAP -I../mbed-os/storage/blockdevice/COMPONENT_SD -I../mbed-os/storage/blockdevice -I../mbed-os/storage/blockdevice/include -I../mbed-os/storage/blockdevice/include/blockdevice -I../mbed-os/storage/filesystem/fat -I../mbed-os/storage/filesystem/fat/include -I../mbed-os/storage/filesystem/fat/include/fat -I../mbed-os/storage/filesystem/fat/ChaN -I../mbed-os/storage/filesystem/littlefs -I../mbed-os/storage/filesystem/littlefs/include -I../mbed-os/storage/filesystem/littlefs/include/littlefs -I../mbed-os/storage/filesystem/littlefs/littlefs -I../mbed-os/storage/filesystem/littlefsv2 -I../mbed-os/storage/filesystem/littlefsv2/include -I../mbed-os/storage/filesystem/littlefsv2/include/littlefsv2 -I../mbed-os/storage/filesystem/littlefsv2/littlefs -I../mbed-os/storage/filesystem -I../mbed-os/storage/filesystem/include -I../mbed-os/storage/filesystem/include/filesystem -I../mbed-os/storage/kvstore/direct_access_devicekey -I../mbed-os/storage/kvstore/direct_access_devicekey/include -I../mbed-os/storage/kvstore/direct_access_devicekey/include/direct_access_devicekey -I../mbed-os/storage/kvstore/kv_config -I../mbed-os/storage/kvstore/kv_config/include -I../mbed-os/storage/kvstore/kv_config/include/kv_config -I../mbed-os/storage/kvstore/securestore -I../mbed-os/storage/kvstore/securestore/include -I../mbed-os/storage/kvstore/securestore/include/securestore -I../mbed-os/storage/kvstore -I../mbed-os/storage/kvstore/include -I../mbed-os/storage/kvstore/include/kvstore -I../mbed-os/storage -I../mbed-os/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/api -I../mbed-os/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K64F/device -I../mbed-os/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K64F/TARGET_FRDM -I../mbed-os/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K64F -I../mbed-os/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K64F/drivers -I../mbed-os/targets/TARGET_Freescale -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fmessage-length=0 -fno-exceptions -ffunction-sections -fdata-sections -funsigned-char -MMD -fomit-frame-pointer -g3 -c -fno-rtti -Wvla -Og -std=gnu++14 -MD -MT mbed-os/CMakeFiles/mbed-os.dir/connectivity/drivers/cellular/TELIT/ME910/TELIT_ME910_CellularNetwork.cpp.obj -MF mbed-os\CMakeFiles\mbed-os.dir\connectivity\drivers\cellular\TELIT\ME910\TELIT_ME910_CellularNetwork.cpp.obj.d -o mbed-os/CMakeFiles/mbed-os.dir/connectivity/drivers/cellular/TELIT/ME910/TELIT_ME910_CellularNetwork.cpp.obj -c ../mbed-os/connectivity/drivers/cellular/TELIT/ME910/TELIT_ME910_CellularNetwork.cpp

Program 'AR10B2~1.EXE' failed to run: The filename or extension is too longAt line:1 char:1
+ C:\PROGRA~2\GNUARM~1\92020-~1\bin\AR10B2~1.EXE -DARM_MATH_CM4 -DCOMPO ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.
At line:1 char:1
+ C:\PROGRA~2\GNUARM~1\92020-~1\bin\AR10B2~1.EXE -DARM_MATH_CM4 -DCOMPO ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [], ApplicationFailedException
    + FullyQualifiedErrorId : NativeCommandFailed

This was using PowerShell, on a command prompt, the input is just truncated.

It appears that the command length limit on Windows is being reached and causing compilation to fail.

https://support.microsoft.com/en-us/help/830473/command-prompt-cmd-exe-command-line-string-limitation

By removing some of the -D definitions I was able to get the compiler to run but it failed due to undefined symbols (as expected).

Issue request type

  • Enhancement
  • Bug

memap.py causes dependency issues

Description

Hi all,

Finally I had the chance to try out the new CLI. I installed mbed-tools according to the docs. After realizing that the usage docs are already outdated with the 4.x release 😢, I managed the compile, but at the end I receive a missing dependency error from memap.py. I did a fresh installation in the conda package manager, so the previous Mbed CLI related packages were not installed. I believe this is the core problem. Has anyone else noticed this? I guess the dependencies should be updated if we are still dependent on the packages of the old CLI.

  • mbed-tools 4.0.0
  • Windows 10
  • Python 3.9.0
[1/1] Linking CXX executable mbed-os-example-blinky
FAILED: mbed-os-example-blinky mbed-os-example-blinky.link_script.ld
cmd.exe [...]
-- built: C:/Users/oezgen.NANTIS/Desktop/mbed-os-example-blinky/cmake_build/mbed-os-example-blinky.bin
-- built: C:/Users/oezgen.NANTIS/Desktop/mbed-os-example-blinky/cmake_build/mbed-os-example-blinky.hex
Traceback (most recent call last):
  File "C:\Users\oezgen.NANTIS\Desktop\mbed-os-example-blinky\mbed-os\tools\memap.py", line 33, in <module>
    from prettytable import PrettyTable, HEADER
ModuleNotFoundError: No module named 'prettytable'
ninja: build stopped: subcommand failed.

Issue request type

  • Enhancement
  • Bug

Add Python 3.9 to CI

Description

Python 3.9 is now brew's default version of python. We need to test mbed-tools works correctly with python 3.9 by adding it to our CI matrix.

Issue request type

  • Enhancement
  • Bug

README.md : miss cmake and ninja information

Description

Hi
This morning, I spent some time on a new PC to install this new mbed tool,
This was not working, and I got several not friendly messages...
... till I remembered that I didn't install cmake yet...

So my request would be:

  • to update tools when cmake is not installed with some friendly message "please install cmake"
  • same for ninja
  • to update README.md to add information how to install cmake and ninja

Thx

@0xc0170
@MarceloSalazar
@JeanMarcR

Issue request type

  • Enhancement
  • Bug

Missing package dependencies in pip package

Description

  • I have installed python 3.9.1 on macOS 11.1 using brew.
  • I installed mbed-tools 4.3.0 using python3 -m pip install mbed-tools. (I have since upgraded to 4.4.0)
  • I than ran mbed-tools compile
  • I got successive errors that the following Python modules where missing:
    • prettytable
    • future
    • intelhex

After installing the above three packages via pip, everything worked. It seems there are missing package dependencies in the mbed-tools package.

Issue request type

  • Enhancement
  • [x ] Bug

mbed-tools fails to handle config options that contain quotes

Description

From @rajkan01:

For the below mbed_lib.json config

"iotc-mqtt-host": { 	 
    "help": "IOTC MQTT host configuration. Defaults to mqtt.2030.ltsapis.goog host and port number 8883 if undefined", 	 
    "value": "{\"mqtt.2030.ltsapis.goog\", IOTC_MQTT_PORT}", 	 
    "macro_name": "IOTC_MQTT_HOST" 	 
 }

Mbedtools is generating "-DIOTC_MQTT_HOST={"mqtt.2030.ltsapis.goog", IOTC_MQTT_PORT}" config starts double-quotes from -D itself, and CMake prepossessing time this macro gets divided into multiple #define like below because of this define begin with double-quotes and also the value ("mqtt.2030.ltsapis.goog") with double-quote consider to be a string

#define IOTC_MQTT_HOST { 
#define mqtt .2030.ltsapis.goog, IOTC_MQTT_PORT} 1 

Could someone check this, why is the mbedtools generating macros starts with double-quotes which include -D and fix.

I've attached main.ii and mbed_config.cmake
mbed_config.zip

Issue request type

  • Enhancement
  • Bug

Allow `configure` to not look for mbed-os.lib and provide a path to mbed-os instead

Description

When running mbed-tools configure, the absence of mbed-os.lib will raise an error.

In our case, mbed-os is located at $root_of_project/extern/mbed-os.

It would be nice to be able to tell mbed-tools to not look for mbed-os.lib and instead provide a path the the mbed-os directory.

I'm happy to work on a PR if you'd be interested.

Issue request type

  • Enhancement
  • Bug

docs: Building the project

Description

The project build instructions https://github.com/ARMmbed/mbed-tools/blob/master/docs/howto/mbed-tools-howto.md#build-the-project doesn't mention checking out feature-cmake branch of mbed-os. Without this step build fails with

CMake Error at CMakeLists.txt:10 (add_subdirectory):
  The source directory

    /Users/devran01/Documents/devaraj/working/tmp/tmp/mbed-os-example-blinky/mbed-os

  does not contain a CMakeLists.txt file.


CMake Error at CMakeLists.txt:16 (mbed_configure_app_target):
  Unknown CMake command "mbed_configure_app_target".


-- Configuring incomplete, errors occurred!

Issue request type

  • Enhancement
  • Bug

ELF file is generated without extension

Description

Self-explanatory.

Additionally, when not using Ninja, no elf files are generated. Not an issue if using Ninja is a constraint.

mbed-tools 4.0.0
Windows 10

Issue request type

  • Enhancement
  • Bug

config: failure to override "provide-default" config

Description

mbed-tools fails to parse mbed_app.json.

Steps to reproduce:

  1. Clone https://github.com/ARMmbed/mbed-os-example-wifi/tree/add_cmakelists
  2. Ensure the example project uses the master branch of Mbed OS (https://github.com/ARMmbed/mbed-os)
  3. Run mbedtools build -t <TOOLCHAIN> -m DISCO_L475VG_IOT01A -c

Expect result:
The application is successfully built.

Actual result:

Configuring project and generating build system...
Traceback (most recent call last):
  File "/home/arm/.local/bin/mbedtools", line 11, in <module>
    sys.exit(cli())
  File "/home/arm/.local/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/arm/.local/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/arm/.local/lib/python3.6/site-packages/mbed_tools/cli/main.py", line 37, in invoke
    super().invoke(context)
  File "/home/arm/.local/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/arm/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/arm/.local/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/arm/.local/lib/python3.6/site-packages/mbed_tools/cli/build.py", line 57, in build
    generate_config(mbed_target.upper(), toolchain, program)
  File "/home/arm/.local/lib/python3.6/site-packages/mbed_tools/build/config.py", line 27, in generate_config
    config = assemble_config(target_build_attributes, program.root, program.files.app_config_file)
  File "/home/arm/.local/lib/python3.6/site-packages/mbed_tools/build/_internal/config/assemble_build_config.py", line 23, in assemble_config
    return _assemble_config_from_sources_and_lib_files(target_attributes, mbed_lib_files, mbed_app_file)
  File "/home/arm/.local/lib/python3.6/site-packages/mbed_tools/build/_internal/config/assemble_build_config.py", line 47, in _assemble_config_from_sources_and_lib_files
    return Config.from_sources(all_sources)
  File "/home/arm/.local/lib/python3.6/site-packages/mbed_tools/build/_internal/config/config.py", line 119, in from_sources
    _update_config_option(config, key, value, source)
  File "/home/arm/.local/lib/python3.6/site-packages/mbed_tools/build/_internal/config/config.py", line 134, in _update_config_option
    f"Can't update option which does not exist."
ValueError: Can't update option which does not exist. Attempting to set **'ism43362.provide-default'** to 'True' in 'File: /home/arm/projects/mbed/examples/mbed-os-example-wifi/mbed_app.json'

Issue request type

  • Enhancement
  • Bug

Compilation of targets with sector attribute in targets.json fails

Description

The tool raises the following TypeError when building targets with the sector attribute in targets.json: TypeError: unhashable type: 'list'. The issues starts with release 4.6.1 where these changes were introduced. Observed this building the blinky application for GR_MANGO on MacOS 11.1 with the GCC toolchain.

Issue request type

  • Enhancement
  • Bug

Flash indication in console

Description

Minor point: when -f option is used with compile, there is no indication that flashing has been done.

Maybe you could add some quick print there:
https://github.com/ARMmbed/mbed-tools/blob/master/src/mbed_tools/cli/build.py#L112
or in the flash_binary function

PS: MBED CLI1 console print was quite basic :-)

        1 file(s) copied.

Maybe you should also link this request with #181
as flash option should flash all found targets, which is not currenly the case

@MarceloSalazar

Issue request type

  • Enhancement
  • Bug

Add test command

Description

A test command like in CLI 1 should be added with options to run unit tests and Greentea tests separately, possibly with groups and single modules etc. This time it should support custom tests, too.

Issue request type

  • Enhancement
  • Bug

Remove `_clone_dependencies` from CI

Description

_clone_dependencies was introduced to support mbed-os examples that have sub-example folder. But the latest mbed-tools import ( >3.5.0) command now supports examples with sub-example folder. _clone_dependencies functionality should be replaced by mbed-tools import command.

Issue request type

  • Enhancement
  • Bug

Remove testing with Python 3.7

Description

We consider the major versions of Python to be the following.

  • Ubuntu 18.04 LTS - Python 3.6
  • Ubuntu 20.04 LTS - Python 3.8
  • Latest Python - Python 3.9

With this in mind, we no longer need to perform testing on Python 3.7 as a primary configuration. Remove Python 3.7 testing from Tox and CI.

Issue request type

  • Enhancement
  • Bug

target.requires breaks configuration

Description

Version: 4.2.0
Ubuntu 20.04 LTS

Issue request type

Configuration fails with target override for requires:

    "target_overrides": {
        "*": {
            "target.requires": ["ble-service-link-loss","ble-current-time-service"]
        },

This should work the same as requires in the root of the config. Currently it fails with

Configuring project and generating build system...
Traceback (most recent call last):
  File "/home/paul/.local/bin/mbed-tools", line 8, in <module>
    sys.exit(cli())
  File "/home/paul/.local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/paul/.local/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/paul/.local/lib/python3.8/site-packages/mbed_tools/cli/main.py", line 38, in invoke
    super().invoke(context)
  File "/home/paul/.local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/paul/.local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/paul/.local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/paul/.local/lib/python3.8/site-packages/mbed_tools/cli/build.py", line 96, in build
    generate_config(mbed_target.upper(), toolchain, program)
  File "/home/paul/.local/lib/python3.8/site-packages/mbed_tools/build/config.py", line 27, in generate_config
    config = assemble_config(target_build_attributes, program.root, program.files.app_config_file)
  File "/home/paul/.local/lib/python3.8/site-packages/mbed_tools/build/_internal/config/assemble_build_config.py", line 23, in assemble_config
    return _assemble_config_from_sources_and_lib_files(target_attributes, mbed_lib_files, mbed_app_file)
  File "/home/paul/.local/lib/python3.8/site-packages/mbed_tools/build/_internal/config/assemble_build_config.py", line 47, in _assemble_config_from_sources_and_lib_files
    return Config.from_sources(all_sources)
  File "/home/paul/.local/lib/python3.8/site-packages/mbed_tools/build/_internal/config/config.py", line 119, in from_sources
    _update_config_option(config, key, value, source)
  File "/home/paul/.local/lib/python3.8/site-packages/mbed_tools/build/_internal/config/config.py", line 133, in _update_config_option
    raise ValueError(
ValueError: Can't update option which does not exist. Attempting to set 'target.requires' to '['ble-service-link-loss', 'ble-current-time-service']' in 'File: /home/paul/gh/mbed-os-example-ble/BLE_GattServer_ExperimentalServices/mbed_app.json'.
  • Enhancement
  • Bug

Adding option to explicitly specify build directory

Description

mbed-tools configure stores target specifc configuration (.mbedbuild/) in a project dir - this can't be overridden with different path.
It is a little bit inconvenient, especially in situation when we want to use single project directory to work with multiple HW targets (or with tests on multiple HW in CI/CD).

Maybe we could add a new option to mbed-tool configure | mbed-tool compile commands, which would explicitly specify build directory where .mbedbuild will be created (something similar to -B flag from cmake >3.19)

For example:

mbed-tools configure -B <build_directory> ...
cmake  -B <build_directory> ...
cmake --build <build_directory>

or

mbed-tools compile -B <build_directory> ...

mbed-tools import fails to import an example with ssh url

Description

mbed-tools version: 5.0.0

Command:

mbed-tools -vv import [email protected]:ARMmbed/mbed-os-example-blinky.git

Expected:

mbed-os-example-blinky example cloned onto a local machine.

Output:


Cloning Mbed program '[email protected]:ARMmbed/mbed-os-example-blinky.git'
Resolving program library dependencies.
ERROR: Cloning git repository from url 'https://github.com/armmbed/[email protected]:ARMmbed/mbed-os-example-blinky.git' failed. Error from VCS: Cmd('git') failed due to: exit code(128)
cmdline: git clone --progress -v https://github.com/armmbed/[email protected]:ARMmbed/mbed-os-example-blinky.git mbed-os-example-blinky.git

More information may be available by using the command line option '-vvv'.

Issue request type

  • Enhancement
  • Bug

detect: External STLink support

Description

Hi

I am using an external st-link probe:
https://www.st.com/en/development-tools/stlink-v3set.html
https://www.st.com/en/development-tools/stlink-v3mini.html

Windows drive is well mounted, COM port is available,
but detect feature is not working:

$ mbedtools detect -a
ERROR: A problem occurred when looking up board data for connected devices.

More information may be available by using the command line option '-v'.

It is very useful for custom boards.

@MarceloSalazar

Issue request type

  • Enhancement
  • Bug

Unable to use custom mbed-os location

Description

With the former mbed-cli, one could add a .mbed file to the root of the project to setup the following:

ROOT=.
MBED_OS_DIR=./extern/mbed-os
TARGET=DISCO_F769NI
TOOLCHAIN=GCC_ARM

The ROOT and MBED_OS_DIR are really useful for project with custom/specific directory organisation.

Ref: https://github.com/ARMmbed/mbed-cli/blob/76c92d07f77c8571e734e4ea122d51e93489893b/mbed/mbed.py#L1899

I'm wondering if it's something that is being worked on or will be worked on in the future? If needed, I could make a PR for this feature.

Issue request type

  • Enhancement
  • Bug

Handle numeric lists as config values

Description

As observed by #182, there are some config values that we don't handle hashing properly of. We should, in addition to target properties, also ensure we handle numeric lists as config values anywhere in Mbed configuration json.

Issue request type

  • Enhancement
  • Bug

Steep and confusing learning curve to contributing

Description

It is a bit difficult to get going on this project.

Our documentation should be improved to help with this in a scalable way.

We have a DEVELOPMENT.md and another CONTRIBUTING.md. We should put all the DEVELOPMENT information into CONTRIBUTING, so that CONTRIBUTING is a self-contained guide with all the onboarding information to get going on the project.

We should show a few handy tox commands, too. Some of these can replace our existing documentation on how to run pre-commit, black, and flake8 individually.

  • tox -e linting
  • tox -e py37
  • tox -e checknews

We can also show how to set up tox on Mac and Linux, and link to Tox docs for Windows or for more information about Tox.

Issue request type

  • Enhancement
  • Bug

Add possibility to use external scripts to detect target, flash firmware, reset board and discover serial port for custom boards

Description

The old mbed-cli tool supports custom boards like Bluepill, but it doesn't allow to flash firmware and run greentea tests on them, as some hardware debugger/programmers (like stlink v2) aren't supported or don't have virtual COM port functionality.
Could you please add a hook for external user scripts/programs that can implement target detection, firmware uploading, board resetting and serial port discovery itself for program uploading and greentea testing.

I have an example of such approach to run greentea tests with mbed-cli tool on Bluepill target using stlink v2 and external UART adapter, but it uses monkey patching to add this functionality: https://github.com/vznncv/vznncv-mbed-greentea

Issue request type

  • Enhancement
  • Bug

Configure STM32WB55RG for Mbed CLI2

Hi,
I am using Mbed CLI2 to add a custom target STM32WB55RGV6. My system is Windows10 and I am using latest Mbed version. Since Mbed CLI2 supports boards K64F, DISCO_L475VG_IOT01A and NRF52840_DK only, I tried to add a custom target for my requirement following the given link.
https://os.mbed.com/docs/mbed-os/v6.6/program-setup/adding-and-configuring-targets.html
When I tried to configure the new target, error is obtained that 'Attributes are not found'. Is this the right step to be followed or is there some other steps to be followed?
Also since the version of Mbed CLI2 is beta, is there any other option to add a custom board?

Thanks & Regards
Keerthi

CI: Use released CMake versions

Description

Currently, Mbed OS depends on pre-release versions of CMake. We are installing these in our CI in order to have a green CI. When Mbed OS limits themselves to depending only on release versions of CMake, we should also update our CI to install only release versions of CMake.

Issue request type

  • Enhancement
  • Bug

mbedtools clone <example> fails

Description

The clone command mbedtools clone https://github.com/ARMmbed/mbed-os-example-blinky fails with following error:

Cloning Mbed program 'https://github.com/ARMmbed/mbed-os-example-blinky'
Resolving program library dependencies.
ERROR: Cloning git repository from url 'https://github.com/ARMmbed/mbed-os/' failed. Error from VCS:

More information may be available by using the command line option '-v'.

Issue request type

  • Enhancement
  • Bug

deploy: cannot update to latest version of a library by modifying `.lib`

Description

mbedtools deploy command fails to fetch latest version of library after .lib is updated.

Steps to reproduce:

The version of mbed-os is still 8ef0a435b2356f8159dea8e427b2935d177309f8 (mbed-os-6.4.0) and not f2278567d09b9ae9f4843e1d9d393526b9462783 (mbed-os-6.5.0).

Issue request type

  • Enhancement
  • Bug

Fix `mbed-os.lib` for the following examples

Description

$mbed-tools -vvv clone mbed-os-example-ble
Cloning Mbed program 'mbed-os-example-ble'
Resolving program library dependencies.
DEBUG: Searching for mbed-os.lib file at path C:\Work\Workspace\trial\mbed-os-example-ble
DEBUG: Searching for mbed-os.lib file at path C:\Work\Workspace\trial
DEBUG: Searching for mbed-os.lib file at path C:\Work\Workspace
DEBUG: Searching for mbed-os.lib file at path C:\Work
DEBUG: No mbed-os.lib file found.
INFO: Cloning Mbed program from URL 'https://github.com/armmbed/mbed-os-example-ble'.
DEBUG: Failed checking if running in CYGWIN due to: FileNotFoundError(2, 'The system cannot find the file specified', None, 2, None)
DEBUG: Popen(['git', 'version'], cwd=c:\Work\Workspace\trial, universal_newlines=False, shell=None, istream=None)
DEBUG: Popen(['git', 'clone', '--progress', '-v', 'https://github.com/armmbed/mbed-os-example-ble', 'mbed-os-example-ble'], cwd=c:\Work\Workspace\trial, universal_newlines=True, shell=None, istream=None)
INFO: This program does not contain an mbed_app.json config file.
WARNING: No CMakeLists.txt found in the program root. Creating it...
ERROR: This repository does not contain a valid Mbed program at the top level. Cloned programs must contain an mbed-os.lib file containing the URL to the Mbed OS repository. It is possible you have cloned a repository containing multiple mbed-programs. If this is the case, you should cd to a directory containing a program before performing any other operations.

Following examples are effected

mbed-tools -vvv clone mbed-os-example-mbed-crypto
mbed-tools -vvv clone mbed-os-example-ble
mbed-tools -vvv clone mbed-os-example-nfc

mbed-os-example-ble example is the BLE_button one.

On

$mbed-tools --version 
3.2.2

Issue request type

  • Enhancement
  • [x ] Bug

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.