Commit Graph

3543 Commits (c2a09abee8af43370785550c1f7867e2e51bb4e8)

Author SHA1 Message Date
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
George Beckstein 958edf9923 Fix missing reference to TargetName variable 2020-04-13 11:31:24 -04:00
George Beckstein 81c3aef9fa Fixed reference to global variable instead of input argument in parse_BoardFile 2020-04-13 11:25:44 -04:00
George Beckstein bcd8ebb645 Added custom board option to STM Pins generation script 2020-04-13 11:25:19 -04:00
MarceloSalazar a15f6a43ad General clean-up of unsupported targets 2020-04-09 15:36:21 +01:00
MarceloSalazar e43ece13aa Rename EMW3166 target 2020-04-09 15:32:41 +01:00
Taylor Heck 300820f562 Fix syntax error in uvision export tool introduced in previous commit. 2020-04-07 09:00:09 -05:00
Taylor Heck 6d382ea969 Delete now unused MTSCode.combine_bins_mts_dot function for tools. 2020-04-07 09:00:09 -05:00
Taylor Heck 8ba0a74dae Remove MTS_MDOT_F411RE bootloader binary from tools 2020-04-07 09:00:09 -05:00
Hugues Kamba 467305f374 Fix build failure due to C lib selected
Allow target.c_lib to be set to small when Mbed 5 is supported.
2020-04-02 14:02:40 +01:00
Martin Kojtal 62cac3b640
Merge pull request #12712 from jamesbeyond/lto-printf
Fix LTO issue with minimal-printf
2020-04-01 12:22:52 +02:00
jeromecoutant eccb47b7fb NUCLEO_WB55RG : enable IAR export 2020-03-31 17:53:06 +02: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
Martin Kojtal d0917b0ec7
Merge pull request #12630 from jeromecoutant/PR_TEST_DUALCORE
mbed test with dual core targets
2020-03-31 09:29:37 +02:00
Qinghao Shi 5822903992 update lto profile including printf wrap functions 2020-03-29 20:55:08 +01:00
Anna Bridge 83926138aa
Merge pull request #11726 from kjbracey-arm/armc6_no_static_destructors
Disable C++ static destructors in ARMC6 compiler
2020-03-27 14:14:00 +00:00
Anna Bridge 1bbcaec04a
Merge pull request #12683 from kivaisan/socketaddress_refactor
SocketAddress rework
2020-03-27 11:30:12 +00:00
Martin Kojtal 2d10d670d0
Merge pull request #12640 from evedon/ed-mprintf-profile
Remove minimal-printf extension profile
2020-03-26 14:50:13 +01:00
Martin Kojtal b5f00bc67a
Merge pull request #12679 from vmedcy/psoc6-export
PSoC6: enable export to uVision and IAR
2020-03-26 09:09:35 +01:00
Kevin Bracey 1ecd9604f6 Disable C++ static denstructors in ARMC6 compiler
We disable C++ static destructors as best as possible in the various
toolchains, trying to eliminate unwanted destructor code. We don't want
to waste RAM or ROM on the C++-standard-specified behaviour of running
all statically-constructed objects' destructors in reverse order on
exit; we're never going to perform an orderly exit.

Techniques used include:

* `SingletonPtr` - makes an object be "lazily constructed" on first use,
  and also eliminates its destructor. Lazy construction adds ROM+RAM
  overhead.
* `__eabi_atexit` is stubbed out, preventing RAM usage by run-time
  registration of static destructors.
* GCC has `exit` wrapped to kill shutdown code
* IAR has static destructors disabled in the compiler flags

Killing static destructors in the compiler is the optimum; if we only
stub out `__eabi_atexit`, the compiler is still inserting calls to it,
and referencing the destructors in those call.

Clang 8 added the compiler option `-fno-c++-static-destructors` (and the
object attributes `[[clang::no_destroy]]` and
`[[clang::always_destroy]]` for fine control).

We can hence enable that option in ARMC6 tool profiles, matching IAR.

This option appears to exist in ARM Compiler 6.11, but generates an
apparently spurious linker error about `EthernetInterface`. It works in
ARM Compiler 6.13, so this PR needs to wait until the compiler is
updated.
2020-03-24 15:30:39 +00: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
jeromecoutant 6c57c9fd67 mbed test with dual core targets
For Dual Core targets, there are in fact 2 sub-targets, CM4 and CM7 targets.
This allows to execute tests with boards detected by mbedls.
2020-03-24 09:53:36 +01:00
Volodymyr Medvid 0ac62d0317 PSoC6: enable export to uVision and IAR 2020-03-23 20:08:30 +01:00
Rajkumar Kanagaraj 7761d45643 Remove deprecated ARMC5 from `mbed compile -S` command output 2020-03-23 07:28:32 -07:00
Volodymyr Medvid 26043e5ee4
makefile export: create .link_options.txt with echo
$(file > $@.in, $(filter %.o, $^)) is not supported in GNU Make 3.81.
Create the linker response file with pipe redirect from echo command.
This is tested with Cygwin make and make 3.8.1 shipped with macOS.

(cherry picked from commit 6918e6a76b)

Revert "Fixed problem with overlong command line."

This reverts commit dd02ac09a1.

See also https://github.com/ARMmbed/mbed-os/pull/12646#issuecomment-602058273
2020-03-21 20:24:28 +01:00
Anna Bridge 59540ed8c1
Merge pull request #12646 from dhebbeker/fix/fix-makefile-for-windows
Makefile: fix for overlong command line
2020-03-20 16:31:02 +00:00
David Hebbeker dd02ac09a1
Fixed problem with overlong command line.
The list of object files was so long, that it got truncated by the bash (git-bash).

Error was

    /usr/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
    /usr/bin/sh: -c: line 1: syntax error: unexpected end of file
    mingw32-make[1]: *** [Makefile:679: mbed-os-example-blinky-baremetal.elf] Error 1
    mingw32-make: *** [Makefile:26: all] Error 2

Such a problem has aleady been reported in: https://github.com/ARMmbed/mbed-os/issues/10943#issuecomment-510064805
I fixed this problem using this answer: https://stackoverflow.com/a/37506805/5534993
2020-03-18 14:40:12 +01:00
Evelyne Donnaes 1bbe3a725f Removed minimal-printf profile 2020-03-17 13:57:48 +00:00
Martin Kojtal 3710584bff
Merge pull request #12540 from JojoS62/fix-lto-unknown-messages
fix for suppress 'unknown object name' messages from memap.py
2020-03-09 08:28:44 +00:00
Martin Kojtal 37aafc9da8
Merge pull request #12476 from OpenNuvoton/nuvoton_build_no_cmsis
Fix build failure when target's cmsis doesn't exist
2020-03-03 14:19:36 +00:00
Martin Kojtal d6df32d609
Merge pull request #12526 from fkjagodzinski/fix-gcc_lto_toolchain_py3
GCC: Fix the toolchain LTO workaround for Python 3
2020-03-02 09:32:42 +00:00
JojoS62 a33d622f4f suppress 'unknown object name' messages
by using the -lto option on gcc and windows,
 many messages like above are produced.
removed by ignoring .ltrans.o files
2020-02-29 15:10:37 +01:00
Martin Kojtal fc5f3259de
Merge pull request #12458 from GaborAbonyi/add_musca_b1_platform
Add Musca B1 target
2020-02-27 13:53:58 +00:00
Filip Jagodzinski 4bd29791ee GCC: Fix the GCC_ARM_LTO_WORKAROUND for Python 3
In the Python3 version of re module, the Unicode strings (str) and 8-bit
strings (bytes) cannot be mixed.
2020-02-27 12:58:36 +01:00
Martin Kojtal 732692cd77
Merge pull request #12475 from VeijoPesonen/purge_rspif
Proposal to remove SPIFReducedBlockDevice
2020-02-25 15:23:23 +00: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
Veijo Pesonen b575df072f Removes RSPIF block device driver
The driver is not needed by the bootloader anymore.
2020-02-24 16:01:14 +02: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
Anna Bridge 8c17270306
Merge pull request #12480 from 0xc0170/fix_spdx
Fix SPDX identifiers and licenses (excluding features and targets)
2020-02-21 16:34:30 +00:00
Tamas Kaman 551c3c553c Add ARM_MUSCA_B1 as a new target platform
Musca-B1 is a Cortex-M33 based target with security extension enabled.

- ARM_MUSCA_B1 is the non-secure target running mbed-os.
- ARM_MUSCA_B1_S is the secure target running TF-M.
- TF-M sources were imported and patched in previous commits.
- TF-M secure bootloader (McuBoot) for MUSCA_B1 is submitted by a
  pre-built binary.
- A post-build hook concatenates The secure and non-secure binaries,
  signs it and then concatenates the bootloader with the signed binary.

Change-Id: I4b36290941b5f0bb7aa7c12dda2f38b5c1e39ae2
Signed-off-by: Tamas Kaman <tamas.kaman@arm.com>
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
2020-02-21 14:34:39 +01: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
Chun-Chieh Li 8e8b546cbf Fix build failure when target's cmsis doesn't exist
For bootloader enabled target, it needs to have cmsis pack or provide memory override. This change fixes build failure in case of no cmsis pack but providing memory override with start being zero.
2020-02-20 17:39:20 +08:00
Martin Kojtal 829a3cded3
Merge pull request #12318 from VeijoPesonen/sfdp_split_smptbl
SFDP: Move Sector Map Parameter Table parsing under SFDP module
2020-02-19 15:49:40 +00:00
Martin Kojtal 589a9a4d16
Merge pull request #12462 from maciejbocianski/fix_armc_memory_stats
Fix static ram memory statistics for arm compiler
2020-02-19 13:01:26 +00:00
Maciej Bocianski c69e77cf54 fix arm compiler static ram memory statistics
don't count ARM_LIB_HEAP in static RAM pool
2020-02-19 08:18:34 +01:00
Filip Jagodzinski 56255adb9f Tools: Add a workaround for the GCC_ARM & LTO bug
This is a workaround for the GCC not using the strong symbols from
C files to override the weak symbols from ASM files. This GCC bug is only
present when building with the link-time optimizer (LTO) enabled. For
more details please see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83967

This can be fixed by changing the order of object files in the linker
command; objects providing the weak symbols and compiled from assembly
must be listed before the objects providing the strong symbols.
To keep things simple, ALL object files from ASM are listed before
other object files.
2020-02-13 17:47:40 +01:00
Filip Jagodzinski b03f974d03 GCC: Move link-time optimizer flags to extensions dir
Disable the lto for the default develop and release prifiles and move
the flags to tools/profiles/extensions/lto.json profile.

Usage:
mbed compile --profile release --profile tools/profiles/extensions/lto.json
2020-02-13 16:39:20 +01:00
Filip Jagodzinski 3e3bee4a21 GCC: Add the -u flag to keep the main() symbol
This fixes the undefined reference to 'main' that arose after adding
the "-flto" flag to compilation.

This was the case for combined "-Wl,--wrap,main" and "-flto" flags.
2020-02-13 16:39:20 +01:00
Filip Jagodzinski 516153e033 GCC: Enable link-time optimizer for develop profile 2020-02-13 16:39:20 +01:00
Filip Jagodzinski a5240da3b4 GCC: Use 'common' flags at link time
According to GCC man:
To use the link-time optimizer, -flto and optimization options should be
specified at compile time and during the final link. It is recommended
that you compile all the files participating in the same link with the
same options and also specify those options at link time.

Additionally, move the '-g3' flag out of 'common' flags in the debug
profile. Although the '-g' is correctly ignored by the linker, the
'-glevel' is not and causes a build error "ld: unrecognized option
'-g3'".
2020-02-13 16:39:20 +01:00
Filip Jagodzinski f87a8e0f52 GCC: Enable link-time optimizer for release profile 2020-02-13 16:39:19 +01:00
Mark Edgeworth 2ad6f45d83 Fix #12290: crash_log_parser on py3 2020-02-12 14:56:35 +00:00
Rajkumar Kanagaraj 03d57b7ba2 Add the exception in Mbed OS build tool for Arm Compiler 5 toolchain. 2020-02-10 04:06:07 -08:00
Veijo Pesonen 3ee153a303 test config: SPIF - overwrite QSPIF with all devices 2020-02-07 09:52:12 +02:00
Martin Kojtal 32675cc6ac
Merge pull request #11874 from fkjagodzinski/armc6_build-enable_lto_for_release
ARMC6: Add a build profile extension with the link-time optimizer enabled
2020-02-05 14:42:16 +00:00
Martin Kojtal e3ad1cae55
Merge pull request #12334 from AriParkkila/cell-c030-r412m
Update cellular drivers/tests for UBLOX_C030_R412M
2020-02-05 12:50:11 +00:00
Maciej Bocianski 083e3e569d armc6: make lto an optional profile 2020-02-04 12:38:39 +01:00
Filip Jagodzinski 8fcb00cccd ARMC6: Enable link-time optimizer for develop profile 2020-02-04 12:29:50 +01:00
Filip Jagodzinski 0780f89011 ARMC6: Enable link-time optimizer for release profile 2020-02-04 12:29:50 +01:00
Martin Kojtal 250e58134f
Merge pull request #12286 from pea-pod/target-nucleo_l452re-p
Add new target: NUCLEO_L452RE-P
2020-02-03 16:34:36 +00:00
Kevin Bracey c4a0808fe6
Merge pull request #12335 from rajkan01/cpu_usage_remove_ci
Remove CPU usage example from CI build
2020-01-31 15:02:09 +02:00
Kevin Bracey 858d02d68c
Merge pull request #12302 from michalpasztamobica/remove_libcpp_extern_template
Remove _LIBCPP_EXTERN_TEMPLATE ARMCC compilation flag
2020-01-30 15:40:40 +02:00
Ari Parkkila 4da93bf979 Add UBLOX_C030_R412M in CellularInterface.json 2020-01-30 04:30:54 -08:00
Rajkumar Kanagaraj 56819fbc53 Remove CPU usage example from CI build 2020-01-30 03:59:36 -08:00
pea-pod f7c4693747 Add new target: NUCLEO_L452RE-P 2020-01-27 18:41:18 -06:00
Anna Bridge f45a5a78b5
Merge pull request #12231 from devran01/upd_musca_a
Import latest python scripts and MCUBoot image
2020-01-25 11:53:34 +00: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
Anna Bridge 34a291be64
Merge pull request #12228 from jeromecoutant/PR_REGIONSIZE
Need RAM and ROM size for compilation
2020-01-23 11:47:58 +00:00
Anna Bridge cfa2dee248
Merge pull request #12023 from kjbracey-arm/gccnull
GCC: remove -fno-delete-null-pointer-checks
2020-01-23 11:47:13 +00:00
Rajkumar Kanagaraj fe470d9ff9 Fix build tool test case failure 2020-01-22 09:45:01 -08:00
Rajkumar Kanagaraj 6d3782accb Fix ARM compiler warning for microlib
- Remove the --library_type=micorlib from c/cxx configuration.
2020-01-22 07:17:08 -08:00
Michal Paszta 2bc3008534 Remove _LIBCPP_EXTERN_TEMPLATE flag 2020-01-22 17:04:19 +02:00
PARKJIHOON 8ab00df7b4 Adding Samsung Exynos i S111 target code.
Adding a new target of HW development kit using [Samsung Exynos i S111](https://www.samsung.com/semiconductor/minisite/exynos/products/iot/exynos-i-s111/) module to Mbed-OS.
This will widen the HW choices of Mbed-OS enabled NB-IoT, GNSS and Security (eFuse, AES, SHA-2, PKA, Secure Storage, Security Sub-System, [PUF](https://en.wikipedia.org/wiki/Physical_unclonable_function)) modules.
Target Name: S5JS100

Co-authored-by: Ivan Galkin <ivan.galkin@samsung.com>
Co-authored-by: Seokwon Lee <swon.lee@samsung.com>
Co-authored-by: Zhizhe Zhu <zhizhe.zhu@samsung.com>
Co-authored-by: Xinyi Zhao <xinyi.zhao@samsung.com>
2020-01-22 14:40:50 +09:00
Anna Bridge ee1d998d43
Merge pull request #12278 from rajkan01/feature_rename_default_lib
Rename "default_lib" to "c_lib".
2020-01-21 16:39:11 +00:00
Anna Bridge 2757e9af5a
Merge pull request #12275 from micque01/tools-fix-call-to-sorted
Fix call to sorted by providing key to sort on.
2020-01-21 11:49:27 +00:00
Anna Bridge 48f90c06df
Merge pull request #11904 from jamesbeyond/HW_gcov
TOOLS: enable build greentea test coverage for HW
2020-01-21 11:46:51 +00:00
Devaraj Ranganna bc7331b96e Import latest python scripts and MCUBoot image
To help with the integration of Musca B1 into Mbed OS, python
signing scripts and MCUBoot image and RSA private key for Musca A
has been updated from latest TF-M
(https://git.trustedfirmware.org/trusted-firmware-m.git/commit/?id=6c5be4a98e4d7055ee49076ca4e515fb4b172e66).

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2020-01-21 10:25:56 +00:00
Rajkumar Kanagaraj 8a0fdd24d9 Rename "default_lib" to "c_lib". 2020-01-17 08:05:48 -08:00
Martin Kojtal 0266a95fb6
Merge pull request #12223 from d-kato/rza1xx_bootloader_support
RZ_A1H and GR_LYCHEE: Enable bootloader support
2020-01-17 13:53:36 +00:00
Michael Quested ce0d611dd0 Fix call to sorted by providing key to sort on.
This call to sorted does nothing in Python 2, as there is no way to sort a list
of Exceptions without providing a key.

In Python 3 this call fails with an error as there is no comparison implemented
for the jsonschema.exceptions.ValidationError Exception.

This is fixed by providing the key str, which sorts by the str representation of
the Exception.
2020-01-17 13:04:57 +00:00
Martin Kojtal cbaa9bd838
Merge pull request #12198 from rajkan01/bug_fix_uARM_depreciate
uARM: Fix deprecate warning printing wrongly for GCC_ARM/IAR toolchain build
2020-01-16 14:43:07 +00:00
Martin Kojtal 4cdd8032b5
Merge pull request #12230 from jamesbeyond/test
TEST: use K64F replace DISCO_L475VG_IOT01A to run some example test
2020-01-16 13:29:54 +00:00
Rajkumar Kanagaraj 434f50ec0b Refactor the if condition check 2020-01-16 04:31:38 -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
Rajkumar Kanagaraj f5230cd70c Refactor condition check 2020-01-15 09:47:59 -08:00
Rajkumar Kanagaraj 816516e23c Refactor the code and incorporated the review comment 2020-01-15 04:51:45 -08:00
Jaeden Amero 2a2ac5c9e0 psa: Ensure spaces before partition name comment
The psa_setup.c.tpl jinja template would strip whitespace from before
the partition name comment when inserting non-test partition database
entries. Fix the template to generate psa_setup.c with the partition
name comment properly indented.
2020-01-14 16:04:57 +00:00
d-kato b72d0be687 Add sector information 2020-01-14 11:10:30 +09:00
jeromecoutant 5a69764ccd Revert "tools: regions only if bootloader is supported"
This reverts commit d7e0012bc7
2020-01-13 10:42:22 +01: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 dc6320239b
Merge pull request #12162 from JanneKiiskila/CMSIS-pack-STM32WB
CMSIS-pack update for STM32WB-family
2020-01-09 15:03:25 +01:00
Martin Kojtal 974baaf199
Merge pull request #12143 from VeijoPesonen/blockdevices_testable
Blockdevice config changes to make it possible to run littlefs filesystem tests
2020-01-09 12:04:20 +01:00
d-kato 3a2ab1b56e GR_LYCHEE: enable bootloader support 2020-01-09 16:18:14 +09:00
d-kato aad53c2377 RZ_A1H: enable bootloader support 2020-01-09 16:15:50 +09:00
Janne Kiiskila 0a7eb62b9d Size & sectors also for STM32WB55VGYx
The size was still 16 megabytes, while in reality it is one megabyte.
Added the sectors, too (see previous commit msg for details).
2020-01-08 22:00:41 +02:00
Janne Kiiskila 7816f29a57 Sector size definitions to index.json/STM32WB5xx
Adding manually the sector sizes now. The reference manual states
these chips have a fairly nice memory map as sectors are evenly sized
and fairly small. Quote from reference manual;

"The Flash memory is organized as follows:
• A main memory block containing 256 pages of 4 KB, each page with eight rows of
512 bytes."

https://www.st.com/content/ccc/resource/technical/document/reference_manual/group0/83/cf/94/7a/35/a9/43/58/DM00318631/files/DM00318631.pdf/jcr:content/translations/en.DM00318631.pdf
- chapter 3.3.1 Flash memory organization
- internal flash starts at address 0x0800 0000
2020-01-08 21:54:03 +02:00
Janne Kiiskila 51f22e2f59 Fix ROM size for STM32WB55RGVx (16 MB -> 1 MB)
Per feedback from STM the correct ROM size is 1 MB, instead of
16 MB. The KEIL source information is (in the pack itself) wrong, since
the KEIL webpage lists it as a 16 MB part, too - but if you look into
other sources - it is indeed 1 MB.
2020-01-08 15:39:02 +02:00
Janne Kiiskila dfb62a22bf CMSIS-pack update for STM32WB-family
Update of the tools/arm_pack_manager/index.json -file for the
STM32WB-chipset family.
2020-01-08 15:38:11 +02:00
Rajkumar Kanagaraj de3c737581 uARM: Fix deprecate warning printing wrongly for other toolchains. 2020-01-07 08:02:31 -08:00
Martin Kojtal 3e790cc9ab
Merge pull request #12065 from AriParkkila/cell-fea-nidd
Non-IP socket implementation for NIDD over CP
2020-01-07 15:55:15 +01: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
Ari Parkkila 27024b34e3 Cellular: Add NIDD over CP socket tests 2020-01-06 22:35:18 -08:00
Rajkumar Kanagaraj 504ef7e7e1 Incorporated the review comment 2020-01-03 10:13:39 -08:00
Rajkumar Kanagaraj e5c6254372 Greentea test :Added the print in the exception handler 2020-01-03 09:36:26 -08:00
Qinghao Shi d047b28242 TOOLS: add some inline comments 2020-01-03 17:26:11 +00:00
Veijo Pesonen 67676dc123 SPIFReducedBlockDevice: Makes default configuration to use mbed_lib.json settings
SPIFReducedBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests with RSPIF
block device
2020-01-03 15:30:13 +02:00
Veijo Pesonen 23f87877a1 SPIFBlockDevice: Makes default configuration to use mbed_lib.json settings
SPIFBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests with SPIF
modules
2020-01-03 15:28:41 +02:00
Veijo Pesonen 3be2b8bf12 QSPIFBlockDevice: Makes default configuration to use mbed_lib.json settings
QSPIFBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests with QSPIF
modules
2020-01-03 15:25:40 +02:00
Veijo Pesonen 803ae3444d SDBlockDevice: Makes default configuration to use mbed_lib.json settings
SDBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests.
2020-01-03 15:25:40 +02: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
Anna Bridge bef36f5f3e
Merge pull request #12093 from ABOSTM/SUPPORT_NUCLEO_G071RB
TARGET_STM: add support of board NUCLEO_G071RB
2019-12-19 15:26:08 +00:00
Graham Hammond 9cdf5fc31d Notify on configuration exception rather than breaking build 2019-12-16 11:55:26 +00:00
Alexandre Bourdiol 528ac279fe Targets: adapt NUCLEO_G071RB to CMSIS-pack info update 2019-12-13 16:42:40 +01:00
Janne Kiiskila cec05474b2 Update CMSIS-pack info for STM32G-family
Update the CMSIS-pack info to `index.json` in arm_pack_manager -folder.
The update happens via python project.py --update-packs and a modified
version of the cmsis-pack-manager tool, which allows the download of
(most) CMSIS-pack files. The changes for this family ONLY are then updated
to the `index.json` -file.

Mbed OS PR #12093 need this change, as they refer to a target (device_name)
from the updated CMSIS-packs.

Ref: https://github.com/ARMmbed/mbed-os/pull/12093
2019-12-13 16:18:43 +02:00
Alexandre Bourdiol 7c52aa59ec TARGET_STM: add support of board NUCLEO_G071RB 2019-12-12 14:00:04 +01:00
Vikas Katariya 4a84e14634 PSA setup template changes.
Ideally, there is nothing wrong, but it seems to produce AStyle
error when release script runs for PSA Auto-generated files.
Therefore removed the spaces from the problematic line.

Fixes #12084

Signed-off-by: Vikas Katariya <Vikas.Katariya@arm.com>
2019-12-11 15:45:47 +00:00
Martin Kojtal 095e8836d7
Merge pull request #12078 from AriParkkila/cell-ppp-ip
Cellular: Add PPP/IP config flags in CellularInterface.json
2019-12-11 14:24:20 +01:00
Ari Parkkila 95d15fe69a Cellular: Add PPP/IP config flags in CellularInterface.json 2019-12-10 22:39:21 -08:00
Anna Bridge 0c227a0756
Merge pull request #12059 from 0xc0170/JammuKekkonen-remove_hiding_config_errors
Config: fix bootloader config errors - propagate errors
2019-12-10 18:33:59 +00:00
Martin Kojtal d7e0012bc7 tools: regions only if bootloader is supported
We removed catching and passing, we want to know for any misconfiguration if bootloader
is supported. Regions should check if bootloader is supported. In case not, just return.
Otherwise we catch any error.

This should help us to uncover missing regions or other config error (in case bootloader
is enabled via bootloader_supported set to true).
2019-12-10 14:09:29 +00:00
Jammu Kekkonen 5ec7a0b625 Remove hiding of config errors related to RAM and ROM regions handling.
Currently any misconfiguration of, for example, bootloader feature will cause the
build system to just silently drop it and continue building which can lead to
completed builds of something the user didn't want to build in worst case and
failing builds after compilation (=wasted time) in the best.
2019-12-10 14:09:28 +00:00
Antti Kauppila 0f861a1e40 APN lookup fix
tools folder had a reference to ppp-cell-iface.apn-lookup which is removed.
This commit removes the reference to non-existing configuration
2019-12-09 15:29:13 +02: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
Kevin Bracey ea2ec8d4f6 GCC: remove -fno-delete-null-pointer-checks
For GCC we're being cautious by passing the
`-fno-delete-null-pointer-checks`. This option prevents some
optimisation opportunities, so removing it can reduce code size.

One particular optimisation loss occurs in `Callback` where a test
similar to this occurs:

    extern void myfunc();

    inline void foo(void (*fnptr)())
    {
        if (fnptr) {
            do A;
        } else {
            do B;
        }
    };

    foo(myfunc);

With `-fno-delete-null-pointer-checks`, the compiler does not assume
that `&myfunc` is non-null, and inserts the "null check" - seeing if the
address is 0. But performing that test of the address is incorrect
anyway - if myfunc actually could be at address 0, we'd still want to do
A.

Anyway, we do not have an equivalent option enabled for either Clang or
IAR, and we have performed clean-ups avoiding issues with
apparently-null vector tables in Clang already, for example #10534.

Therefore it should(TM) be safe to remove the option for GCC. We do not
have general data or code at address 0, only vectors are likely to be
there, so it does not make sense to be globally restricting code
generation for that.
2019-12-04 09:57:47 +02: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 7177d8fefe
Merge pull request #11950 from ABOSTM/DISCO_H747I_TICKLESS
DISCO_H747I: add support of MBED_TICKLESS
2019-11-29 09:48:09 +01: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
Alexandre Bourdiol 42a0407a56 export: fix IAR definition for dual core STM32 DISCO_H747I 2019-11-27 14:26:09 +01:00
Graham Hammond 23b12f4d1b Add in a couple of missed conversions 2019-11-27 11:08:50 +00:00
Martin Kojtal 27012ff8e7
Merge pull request #10618 from kjbracey-arm/gcc8
Tools: check for GCC 9, rather than 6
2019-11-26 13:11:20 +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
Kyle Kearney ac8a8a6079 Add target for CY8CPROTO-062S3-4343W 2019-11-25 11:41:39 -08:00
Graham Hammond c223ac99b3 Remove unnecessary change found during over shoulder review 2019-11-25 13:43:58 +00:00
Martin Kojtal e03180d13d
Merge pull request #11865 from maciejbocianski/iar_lto
IAR: Enable linker optimizations for develop/release profile
2019-11-23 18:47:59 +01:00
Graham Hammond 32a9a8b9f6 Minor fixes 2019-11-21 16:27:19 +00:00
Graham Hammond d2b968142d Updates to *.py in 'tools/' for Python 3 2019-11-21 16:06:59 +00:00
Graham Hammond e723571474 Updates to `/tools` for Python 3 compatibility 2019-11-21 15:02:37 +00:00
Maciej Bocianski 683ba969b5 IAR: Enable inline linker optimizations for develop/release profile
- add --inline option to linker flags
  Some routines are so small that they can fit in the space of the
  instruction that calls the routine. Use this option to make the
  linker replace the call of a routine with the body of the routine,
  where applicable.
2019-11-21 09:05:03 +01:00
Qinghao Shi e6fe03f698 TOOLS: fix failed python test 2019-11-20 15:58:37 +00:00
Qinghao Shi 44825560ca TOOLS: enable build greentea test with gcov options 2019-11-20 10:07:12 +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
Vikas Katariya cdb5ebdd6b Documentation update for tools/psa
Signed-off-by: Vikas Katariya <Vikas.Katariya@arm.com>
2019-11-08 14:57:06 +00:00
Vikas Katariya dae119e7ea PSA release script changes.
Since the offline build is made to auto-generate PSA related components
and services for Secure targets, we can change the output directory to
update the files in the respective locations.
TARGET_PSA
  --TARGET_MBED_SPM
    --COMPONENT_SPE
      psa_setup.c
  --TARGET_TFM
    --COMPONENT_SPE
      --inc
	tfm_partition_defs.inc
        tfm_partition_list.inc
        tfm_service_list.inc
        tfm_spm_signal_defs.h
  --services
    --inc
      autogen_sid.h
      mbed_spm_partitions.h

The release script is been modified to commit these files if there are
any changes detected when `--commit` argument is passed.
Cleaning of auto-generated is been removed as it uses the main directory
for its operations, but PSA auto-generation will work if any of the
service and application-based manifests are updated.

Signed-off-by: Vikas Katariya <Vikas.Katariya@arm.com>
2019-11-08 14:57:06 +00:00
Vikas Katariya bd02761136 Remove auto-generation for non-secure PSA targets.
Only generate PSA headers/source related to components and services
when Secure build is initiated during compile time of PSA targets.
Let the Non-secure build rely on the checked-in files already present.

Signed-off-by: Vikas Katariya <Vikas.Katariya@arm.com>
2019-11-08 14:57:06 +00:00
Martin Kojtal 7b6a6d70df
Merge pull request #11833 from jamesbeyond/exp_github
TESTS: turn off blinky log compare test due to example changed
2019-11-08 13:31:26 +01:00
Mark Edgeworth a8fbd59b05 IOTBTOOL-333: Fix SimpleQueue build failure on py3
Build system was using an internal feature of the Pool class that is unavailable
in a py3 system. This would cause an exception if tool execution failed.
Offending code has now been removed
2019-11-06 12:02:16 +00:00
Qinghao Shi 667a416a47 TESTS: turn off blinky log compare test due to example changed 2019-11-06 11:21:21 +00:00
Janne Kiiskila 83daa5052b Update CMSIS pack index json for STM32H7xx family
Manually replaced the existing STM32H7 section and replaced it with the
context of updated `index.json` that pulled in the Keil packs available
today, as of 18th October, 2019.

See related PR; https://github.com/ARMmbed/mbed-os/pull/11707
2019-11-04 17:57:19 +02:00
Martin Kojtal d3fb5fb664
Merge pull request #11475 from jamesbeyond/exp_update
TEST: add atecc608a example to compilation test
2019-11-04 09:50:45 +01:00
Martin Kojtal a927ab8f7c
Merge pull request #11789 from jeromecoutant/PR_STM32H7
STM32H7: code and feature alignment for both NUCLEO and DISCO targets
2019-11-04 09:48:09 +01: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
jeromecoutant 0c740e7095 STM32H7: update PeripheralPin generation script and pin files accordingly 2019-10-31 14:11:00 +01:00
Mark Edgeworth e7964caf93 IOTBTOOL-377: Fix scatter file include path online 2019-10-30 15:51:08 +00:00
Martin Kojtal df79609cc5
Merge pull request #11675 from jeromecoutant/PR_USB_STEP1
STM32 USB update step 1
2019-10-28 14:06:15 +01:00
Martin Kojtal 5a5b0f620d
Merge pull request #11571 from AriParkkila/OS_THREAD_LIBSPACE_NUM
Allow OS_THREAD_LIBSPACE_NUM as a macro
2019-10-28 11:09:23 +01: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 73f52fd201
Merge pull request #11724 from ThunderSoft123/master
iar export for TT_M3HQ and TT_M4G9
2019-10-22 16:26:27 +02:00
panyz0725@thundersoft.com ac09176274 iar export for TT_M3HQ and TT_M4G9 2019-10-22 16:38:59 +08: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
jeromecoutant 5340c00965 STM32 gen PeriphPin script update for USB 2019-10-21 14:49:17 +02:00
Qinghao Shi 5100bddc99 EXAMPLES: fix a typo in the path 2019-10-21 12:33:08 +01:00
Martin Kojtal 1dac871523
Merge pull request #11457 from OPpuolitaival/py_params
tools: add silent option to build
2019-10-21 09:19:12 +02:00
Amanda Butler 924787fb0f
Edit README.md
Edit file, mostly for formatting and grammar.
2019-10-18 17:04:32 -05:00
Martin Kojtal 4af05bb370
Merge pull request #11648 from rohfle/target-olimex-stm32e407
OLIMEX_STM32E407_F407ZG: Added new target platform
2019-10-18 16:05:05 +02: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
toyowata 5389536953 Add bootloader support for Seeed Arch-MAX 2019-10-17 10:05:03 +09: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
Rohan Fletcher 4a078a9bbe Added Olimex STM32E407 to arm_pack_manager 2019-10-17 11:55:09 +13: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
Alexandre Bourdiol adcf0e2fa5 DISCO_H747I Dualcore support
Add 2 targets for DISCO_H747I dualcore:
* DISCO_H747I      -> for CM7 core
* DISCO_H747I_CM4  -> for CM4 core

Current restrictions:
* TICKLESS deactivated
* DeepSleep not supported (DeepSleep wrapped to sleep)

Warning: use of the same IP (example I2C1) by both core at the same time is not prevented,
but is strongly not recommended.
Some Hardware Semaphore are use for common IP, to manage concurrent access by both cores: Flash, GPIO, RCC.

Warning: Drag and drop of binary to DISCO_H747I will flash CM7.
         In order to flash CM4, one can use STM32 CubeProgrammer tool.
2019-10-14 18:02:57 +02: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
Anna Bridge 97e11cc781
Merge pull request #11176 from OpenNuvoton/nuvoton_m252kg
Support Nuvoton target NUMAKER_M252KG
2019-10-11 14:33:06 +01:00