Commit Graph

525 Commits (refactor_mbed_host_tests)

Author SHA1 Message Date
Qinghao Shi 6167d46b91 TESTS: removed mbed OS 6 unsupported target in examples test 2020-07-30 15:24:20 +01:00
Rajkumar Kanagaraj 947d2d75b9 Fix spell check and astyle format issue 2020-07-23 06:22:15 -07:00
Ashok Rao fb2a009303 Adding NUCLEO_F429ZI to AWS example 2020-07-21 14:14:08 +01:00
Lingkai Dong 183a4c7ecf mbed-os-example-aws: build for DISCO_L475VG_IOT01A and K64F 2020-06-22 16:39:25 +01:00
Lingkai Dong 8a09d308d5 Revert "disable compilation in CI"
This reverts commit d4e9267542.
2020-06-22 16:26:40 +01:00
Martin Kojtal 107d9bbf8a
Merge pull request #13070 from ithinuel/add_aws_example_to_build_list
add mbed-os-example-aws to the example list
2020-06-22 16:08:45 +02:00
Wilfried Chauveau d4e9267542
disable compilation in CI 2020-06-22 14:15:52 +01:00
Jaeden Amero b38c5ed8e3 examples: Add PSA example to list of examples 2020-06-18 12:16:30 +01:00
Devaraj Ranganna cd88e724f7 psa: Add a script to validate PSA targets
Add a script to parse `targets.json` to identify PSA targets and ensure
mandatory parameters are configured correctly for all PSA targets.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2020-06-18 12:16:29 +01:00
Devaraj Ranganna 76e911c5ef psa: Replace Mbed PSA with TF-M
Add TF-M to Mbed OS, replacing the previous PSA implementation for
TF-M-capable targets. This commit adds files imported from TF-M, without
modification. The version of TF-M imported can be found in
`features/FEATURE_PSA/TARGET_TFM/VERSION.txt`.

These changes switch to TF-M as the sole PSA implementation for v8-M and
dual core targets, with TF-M running on the secure side and Mbed OS
running on the non-secure side. Single core v7-M targets will continue
to have PSA implemented via PSA emulation, implemented by Mbed OS.

Move or remove many PSA-implementing files, as PSA will be provided by
TF-M on non-single-v7-M targets. Delete any files that are not relevant
for PSA emulation mode.
 - Remove imported TF-M SPM
 - Remove Mbed SPM and tests
 - Remove Mbed-implemented PSA services and tests
 - Remove PSA_SRV_IMPL, PSA_SRV_IPC, PSA_SRV_EMUL and NSPE.
 - Replace PSA_SRV_EMUL and PSA_SRV_IMPL with MBED_PSA_SRV
 - Remove any files autogenerated by
   "tools/psa/generate_partition_code.py", which no longer exists.

Add new feature `PSA` to support PSA in Mbed OS.

Move the Mbed OS implementation of PSA services for v7-M targets (which
employ PSA emulation, and don't yet use TF-M) to
features/FEATURE_PSA/TARGET_MBED_PSA_SRV. Update the `requires`
attribute in TESTS/configs/baremetal.json to avoid breaking baremetal
testing builds.

Update .astyleignore to match new directory structure

Update Mbed TLS importer to place files into FEATURE_PSA

Create the following generic PSA targets:

* `PSA_Target` (Root level PSA generic target)
* `PSA_V7_M` (Single v7-M PSA generic target)
* `PSA_DUAL_CORE` (Dual-core PSA generic target)
* `PSA_V8_M` (v8-M PSA generic target)

Flatten MUSCA_NS and private MUSCA targets into public MUSCA targets.

Move mcuboot.bin to flat location (removing prebuilt folder)

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-06-18 12:16:20 +01:00
Martin Kojtal 86dad5cda9
Merge pull request #12471 from AGlass0fMilk/adc-voltage-api
Extend AnalogIn API: read_voltage
2020-06-17 19:57:28 +02:00
Wilfried Chauveau dbf206c304
add mbed-os-example-aws to the test build list 2020-06-05 15:36:20 +01:00
Martin Kojtal 37ee008b90
Merge pull request #12961 from MarceloSalazar/remove_nrf51
Remove nRF51 targets
2020-05-15 08:08:26 +02:00
jeromecoutant cda2538bd2 STM32L0 code cleaning 2020-05-14 13:55:32 +02:00
jeromecoutant dd46dfccb2 STM32F4 code cleaning 2020-05-14 13:55:22 +02:00
jeromecoutant f116fe0daa STM32F3 code cleaning 2020-05-14 13:55:21 +02:00
Marcelo Salazar ccd95f1e14 Remove nRF51 targets
The following public nRF51 targets are being removed:

- NRF51822
- NRF51_DK
- NRF51_MICROBIT
2020-05-13 10:36:50 +01:00
Marcelo Salazar 4083469d09 Remove Ublox targets 2020-05-06 16:39:29 +01:00
Martin Kojtal 9501ccd6c7
Merge pull request #12849 from jamesbeyond/exp_update
TEST: Update example test
2020-05-05 14:26:41 +02:00
George Beckstein 2db9917117 Add Vin and Vref to ignore list in spell checker CI 2020-04-30 12:40:17 -04:00
Martin Kojtal 08a09200a6
Merge pull request #12864 from MarceloSalazar/platform_cleanup3
Remove unsupported targets
2020-04-30 14:56:36 +02:00
Martin Kojtal d1ae0d570c
Merge pull request #12425 from kjbracey-arm/chrono
C++ Chrono support
2020-04-30 11:41:43 +02:00
MarceloSalazar 3ed5491ae5 Remove LPC1549 target 2020-04-30 09:56:33 +01:00
MarceloSalazar 5dcfe57c41 Remove LPC4088 based targets 2020-04-30 09:56:32 +01:00
Devaraj Ranganna fd74d678a7 psa: Remove PSA secure binary building tools
The PSA-implementing secure binary is not built using Mbed OS build
tools anymore. Instead, the TrustedFirmware-M (TF-M) build system is
used to produce the secure binary. As such, we remove PSA related hooks
from the build system, remove PSA related scripts from tools/test
folder, and also remove the psa-autogen job from travis which was
running the now unecessary and removed generate_partition_code.py.

Remove the ability to generate new PSA binaries in the old manner, where
Mbed OS implements PSA. We don't yet remove any PSA binaries or break
the currently checked-in Mbed-implemented PSA support. PSA targets
integrated in the old manner will continue working at this point.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-04-27 09:51:14 +01:00
Kevin Bracey f4e0ea2c75 Add Chrono support to Kernel and SysTimer 2020-04-27 10:19:08 +03:00
Qinghao Shi ce88f0ea28 TEST: add log compare test for nfc examples 2020-04-23 20:33:02 +01:00
Qinghao Shi a43394d0d6 TEST: change target that runs filesystem example 2020-04-22 17:41:32 +01:00
Qinghao Shi 1711d2f9a0 TEST: enable wifi example test 2020-04-22 17:38:23 +01:00
MarceloSalazar e78ba7065b Remove MTB_MTS_XDOT target 2020-04-20 16:55:33 +01:00
Martin Kojtal 9835722635
Merge pull request #12691 from hugueskamba/hk_replace_small_lib_with_std_lib
Replace small with std C lib if not supported by a target's toolchain
2020-04-15 10:21:40 +02:00
MarceloSalazar a15f6a43ad General clean-up of unsupported targets 2020-04-09 15:36:21 +01:00
Hugues Kamba 0e5b71fdd7 Replace small with std C lib if not supported by a target's toolchain
Display a post-build warning indicating to the user that the standard C
library was used instead of the small C library if the former is not
supported.
2020-03-31 11:35:40 +01:00
Kevin Bracey 4eda58893e SocketAddress rework
* Add optimised constexpr default constructor. Default construction
  was previously by a heavyweight defaulted `nsapi_addr_t` parameter.
* Remove deprecated resolving constructor.
* Take `nsapi_addr_t` inputs by constant reference rather than value.
* Inline the trivial getters and setters.
* Use `unique_ptr` to manage the text buffer.
* Make `operator bool` explicit.
* Optimise some methods.
* Update to C++11 style (default initialisers, nullptr etc)
2020-03-24 11:05:33 +02:00
Martin Kojtal bb48fa46cd
Merge pull request #12437 from 0xc0170/dev_travis_scancode
travis: add PR license check for missing/not-valid license files
2020-02-24 15:56:07 +00:00
Martin Kojtal 1b4ad98787 scancode: add logger and parse it to get count 2020-02-24 12:03:01 +00:00
Martin Kojtal adaa2b6a0a travis: license check does not fail but report issues
Master branch contains lot of missing SPDX identifiers, we will clean them up but this will take some time. In the meantime, we should not increase the license missing files. Each PR will report if there is no license issue or positive number reported as Github status. Travis won't fail if there are issues. This will highlight the issues that anyone can fix.

As soon as master is clean, we can fix set_status and revert part of this commit.
2020-02-24 12:02:37 +00:00
Martin Kojtal 37a7ff0443 scancode: skip non code files
For instance pdf, or binaries - catch them as an exception and skip for
additional SPDX check
2020-02-21 09:57:30 +00:00
Martin Kojtal 5f1c77741a tools: fix SPDX identifiers 2020-02-21 07:01:48 +00:00
Martin Kojtal 0995ece3b2 Add scancode evaluate script
The goal: check license offenders in pull request

This is similar to what astyle does in Travis. We get list of files being changed. Because scancode does not support list of files being scanned but rather a file or directory, we copy files to SCANCODE folder. Execute scancode license check in this folder and check for offenders.

The rules there are: code files must have a license and SDPX identifier. If they don't, we print these and ask for review.

It functions nicely there is just one workaround needed. SPDX is not always 100 percent correctly found, therefore we recheck file if no SPDX manually in the script. This proves to remove false positives.
2020-02-20 09:49:50 +00:00
Rajkumar Kanagaraj 56819fbc53 Remove CPU usage example from CI build 2020-01-30 03:59:36 -08:00
Anna Bridge 7101e92d12
Merge pull request #12303 from rajkan01/fix_micro_lib_warning
Fix ARM compiler warning for microlib
2020-01-24 14:58:18 +00:00
Anna Bridge 8b25c51746
Merge pull request #12226 from JanneKiiskila/target_test_sector_missing
target_test - assert if sectors keyword missing
2020-01-24 11:23:51 +00:00
Rajkumar Kanagaraj fe470d9ff9 Fix build tool test case failure 2020-01-22 09:45:01 -08:00
Rajkumar Kanagaraj 8a0fdd24d9 Rename "default_lib" to "c_lib". 2020-01-17 08:05:48 -08:00
Qinghao Shi ed95987cac TEST: use K64F run example test
- some examples not able run on L475 or F249 target due to missing storage/connectivity capability
- use K64F to run those example test
2020-01-15 22:51:37 +00:00
Janne Kiiskila e20f2d30a2 target_test - assert if sectors keyword missing
Assert it properly and thus give out the target name where the
issue is, rather than just error out with KeyError and leave the
poor sod wondering where exactly the issue is.

Before:
```

=================================== FAILURES ===================================
_____________________________ test_bl_has_sectors ______________________________
    def test_bl_has_sectors():
        """Assert a bootloader supporting pack has sector information"""
        cache = Cache(True, True)
        named_targets = (
            target for target in TARGETS if
            (hasattr(target, "device_name") and getattr(target, "bootloader_supported", False))
        )
        for target in named_targets:
            assert target.device_name in cache.index,\
                ("Target %s contains invalid device_name %s" %
                 (target.name, target.device_name))
>           assert cache.index[target.device_name]["sectors"],\
                ("Device name %s is misssing sector information" %
                 (target.device_name))
E           KeyError: 'sectors'
```

After

```
___________________________________________________ test_bl_has_sectors ___________________________________________________

    def test_bl_has_sectors():
        """Assert a bootloader supporting pack has sector information"""
        # ToDo: validity checks for the information IN the sectors!
        cache = Cache(True, True)
        named_targets = (
            target for target in TARGETS if
            (hasattr(target, "device_name") and getattr(target, "bootloader_supported", False))
        )
        for target in named_targets:
            assert target.device_name in cache.index,\
                ("Target %s contains invalid device_name %s" %
                 (target.name, target.device_name))
>           assert "sectors" in cache.index[target.device_name],\
                ("Target %s does not have sectors" %
                 (target.name))
E           AssertionError: Target NUCLEO_L073RZ does not have sectors
E           assert 'sectors' in {'algorithms': [{'default': True, 'file_name': 'CMSIS/Flash/STM32L0xx_192.FLM', 'ram_size': None, 'ram_start': None, ....on_secure_callable': False, 'peripheral': False, ...}, 'default': True, 'size': 196608, 'start': 134217728, ...}}, ...}

```

This helps you finding the offending target a bit faster.

Kudos to Jammu Kekkonen (jammu.kekkonen@arm.com) to figuring out how to actually
run this test & the assertion.

Ref: Mbed OS issue #12219
2020-01-09 16:50:45 +02:00
Martin Kojtal b943b5f4db
Merge pull request #12179 from jamesbeyond/update_ble
TESTS: Update testing of examples in mbed-os
2020-01-07 11:25:19 +01:00
Rajkumar Kanagaraj e5c6254372 Greentea test :Added the print in the exception handler 2020-01-03 09:36:26 -08:00
Qinghao Shi e957b4f0e0 remove BLE from feature key 2020-01-02 18:48:48 +00:00
Qinghao Shi 8a4d5d0a75 bootloader not support K66F, change back to K64F 2020-01-02 17:17:05 +00:00
Qinghao Shi 4bce603b7d replace K66F with DISCO_L475VG_IOT01A in some example to balancing the test workload 2020-01-01 00:32:52 +00:00
Qinghao Shi 5008753a64 add DISCO_L475VG_IOT01A and remove K66F for ble examples 2020-01-01 00:11:41 +00:00
Qinghao Shi 0e8b7cdf83 add extra ble example to complie test 2020-01-01 00:08:11 +00:00
Rajkumar Kanagaraj 6d081eeb70 Fixed the build tools test case failure,incorporated review comments 2019-12-23 03:54:18 -08:00
Rajkumar Kanagaraj 957dca2082 Enabling small C library option and deprecating uARM toolchain
- By default, Mbed OS build tools use standard C library for all supported toolchains.
   It is possible to use smaller C libraries by overriding the "target.default_lib" option
   with "small". This option is only currently supported for the GCC_ARM toolchain.
   This override config option is now extended in the build tool for ARM toolchain.
 - Add configuration option to specify libraries supported for each toolchain per targets.
 - Move __aeabi_assert function from rtos to retarget code so it’s available for bare metal.
 - Use 2 memory region model for ARM toolchain scatter file for the following targets:
   NUCLEO_F207ZG, STM32F411xE, STM32F429xI, NUCLEO_L073RZ, STM32F303xE
 - Add a warning message in the build tools to deprecate uARM toolchain.
 - NewLib-Nano C library is not supporting floating-point and printf with %hhd,%hhu,%hhX,%lld,%llu,%llX
   format specifier so skipping those green tea test cases.
2019-12-19 10:05:11 -08:00
Martin Kojtal 412a9317de
Merge pull request #12017 from VeijoPesonen/remove_nvstore
NVStore: already deprecated implementation removed
2019-12-05 09:10:30 +01:00
Martin Kojtal 2cf56b8f6d
Merge pull request #11891 from hugueskamba/hk-enable-minimal-printf-in-tools
minimal-printf: Enable using a target configuration parameter
2019-12-04 10:14:54 +01:00
Veijo Pesonen 060a1c6df7 NVStore: deprecated implementation removed 2019-12-03 15:36:31 +02:00
Hugues Kamba d5aef28145 minimal-printf: Enable using a target configuration parameter 2019-12-03 12:31:51 +00:00
Martin Kojtal 57f9a1eea8
Merge pull request #11921 from madchutney/tools/py3-fixes
Updates to tools for Python 3 compatibility
2019-11-27 16:29:50 +01:00
Kevin Bracey 5342f0fa00 Tools: check for GCC 9, rather than 6
Planning to update to supporting GCC 9 as found in GNU Tools for Arm
Embedded Processors 9-2019q4-major.

Newer GCC in particular supports ARMv8-M security extensions, and
link-time optimisation - two areas of interest.

Should be no code changes required, but need to change the warning in
the toolchain script.
2019-11-26 11:52:47 +02:00
Graham Hammond e723571474 Updates to `/tools` for Python 3 compatibility 2019-11-21 15:02:37 +00:00
Anna Bridge 71c6b9aca5
Merge pull request #11872 from jussisip/update_examples
Change mbed-os-example-wifi to build only DISCO_L475VG_IOT01A
2019-11-19 17:03:37 +00:00
Jussi Siponen 1c4a5b9d87 Change wifi example to build only DISCO_L475VG_IOT01A
Currently mbed-os-example-blinky and mbed-os-example-wifi are built for each and every target in Mbed OS. This will change that only DISCO_L475VG_IOT01A is built for mbed-os-example-wifi. DISCO_L475VG_IOT01A was chosen as its one of the wi-fi supported boards and having integrated wi-fi.
2019-11-18 13:46:50 +02:00
Martin Kojtal eab1c2e594
Merge pull request #11796 from hugueskamba/hk-add-minimal-console-to-retarget
mbed_retarget: Add a minimal console implementation to provide basic functionalities
2019-11-13 17:11:27 +01:00
Hugues Kamba 051991fafb mbed_retarget: Add a minimal console implementation to provide basic functionalities
The retarget code allocates an array of FileHandle* for console and file
handling (filehandles). A tiny target only needs a console (putc/getc).
There is no need for file handling.

The POSIX layer and the array of FileHandle* is not required for small
targets that only need a console ; this code is optionally compiled
out if the configuration parameter platform.stdio-minimal-console-only is
set to `"true"`.
2019-11-11 15:14:00 +00:00
Qinghao Shi 667a416a47 TESTS: turn off blinky log compare test due to example changed 2019-11-06 11:21:21 +00:00
Qinghao Shi 6d47ec37fb TEST: turn on sub examples build test 2019-11-01 00:06:21 +00:00
Qinghao Shi e4188b6ad7 TEST: update example.json file 2019-11-01 00:01:36 +00:00
Qinghao Shi 38776fbd99 TEST: add atecc608a example to compilation test 2019-10-31 23:57:14 +00:00
Martin Kojtal 83c4a80082
Merge pull request #11710 from jamesbeyond/exp_github
Update examples testing scripts
2019-10-28 09:50:36 +01:00
Qinghao Shi a211cf16a9 EXAMPLES: temporarily turn off build for NFC examples 2019-10-25 17:33:27 +01:00
Martin Kojtal 5eeeaca670
Merge pull request #11429 from hugueskamba/hk-no-float-validation
Move script to check for floats and make it Python 2 compatible
2019-10-22 09:34:56 +02:00
Hugues Kamba c712d2f6ee Move script to check for floats and make it Python 2 compatible.
All scripts pertaining to example projects tests should be in the same
directory. The test framework uses Python2 therefore this script also needs
to be Python2 compatible.
2019-10-21 14:05:22 +01:00
Qinghao Shi 5100bddc99 EXAMPLES: fix a typo in the path 2019-10-21 12:33:08 +01:00
Amanda Butler 924787fb0f
Edit README.md
Edit file, mostly for formatting and grammar.
2019-10-18 17:04:32 -05:00
Qinghao Shi 61c170f5f9 EXAMPLES: remove default build profiles 2019-10-18 12:41:49 +01:00
Qinghao Shi 59a4ad680d EXAMPLES: add README file 2019-10-17 23:06:11 +01:00
Qinghao Shi 52b4c39496 EXAMPLES: temporarily turn off the complie test for sub example 2019-10-17 01:10:24 +01:00
Qinghao Shi 88d5079504 EXAMPLES: update comments and fix bugs 2019-10-17 00:57:15 +01:00
Qinghao Shi cf02be63ff EXAMPLES: update console output format 2019-10-16 23:46:18 +01:00
Qinghao Shi 6876362689 EXAMPLES: update build_repo function 2019-10-16 18:09:36 +01:00
Qinghao Shi 3f0add7e44 EXAMPLES: update export_repos function 2019-10-16 18:06:24 +01:00
Qinghao Shi 4c5f94075f EXAMPLES: update examples_lib.py
- add logging function
 - update clone function
 - update deploy function
 - update source function
 - add symlink function
2019-10-16 18:00:33 +01:00
Qinghao Shi 640ea73a01 EXAMPLES: improve examples.py cli help messages 2019-10-16 17:52:42 +01:00
Qinghao Shi fa86629ec6 EXAMPLES: add list amd Symlink functions 2019-10-16 17:47:36 +01:00
Qinghao Shi 2f6f066f07 EXAMPLES: update examples.json file
- remove "mbed" and "test-repo-source" key
 - add "sub-repo-example" key as an indicator if an example has sub examples
 - add "subs" key to sotre sub examples names
2019-10-16 17:20:05 +01:00
Qinghao Shi f317753a1d EXAMPLES: add test key for remaining examples 2019-10-16 15:56:10 +01:00
Cruz Monrreal II 70ee402340 Fixed Travis CI issue where jobs were/are getting stalled while fetching packages.
Something on Travis CI's side has changed such that invoking the 'wait' command within a script attempts to wait on some other jobs in addition to those spawned within the CI job.

Workaround is to explicitly collect the PIDs for processes spawned within the script and only wait on those.
2019-10-11 16:06:01 -05:00
Olli-Pekka Puolitaival ff2778f5f6 Fix documentation 2019-09-17 15:26:06 +03:00
Olli-Pekka Puolitaival 350c0eff22 Make able to define build jobs amount when building examples 2019-09-16 13:30:24 +03:00
Qinghao Shi 7203154566 TEST: update compare log file name 2019-09-11 19:01:48 +01:00
Martin Kojtal 0f1962e86d
Merge pull request #11437 from hugueskamba/hk-harmonize-doxygen-grouping
Harmonise Doxygen comments in drivers, events, platform and rtos dirs
2019-09-10 10:56:41 +02:00
Hugues Kamba 5933dec3b7 Harmonise Doxygen comments in drivers, events, platform and rtos dirs
When a Doxygen group has been defined (created), all its needed to add
documentation to that group is `\addtogroup`. Since all the information
about the group is preserved, it is not necessary to mention the group
hierarchy again with `\ingroup`. This PR removes unnecessary Doxygen lines
across the `drivers`, `events`, `platform` and `rtos` directories.

It also ensures that new groups are created with `\defgroup` once and
referenced with `\addtogroup` whenever documentation needs to be added to
an existing group.
2019-09-09 10:59:51 +01:00
Hugues Kamba 074b379439 Correct doxy-spellchecker error message 2019-09-07 21:00:21 +01:00
Olli-Pekka Puolitaival aebda11adf Use very verbose to see more details in case of problem 2019-08-30 09:14:06 +03:00
Mika Leppänen e3f247793a Added PPP directory to astyle ignore and added some spellchecker ignore words 2019-08-20 13:37:12 +03:00
Olli-Pekka Puolitaival ba26bd9cde Python3 fixes 2019-08-16 13:51:21 +03:00
Olli-Pekka Puolitaival aa1d16e871 Python3 fixes 2019-08-15 10:06:41 +03:00