Commit Graph

872 Commits (refactor_mbed_host_tests)

Author SHA1 Message Date
Matthew Macovsky 4f83141b90 Add catch-all rule to makefile template 2019-09-09 19:13:43 +01:00
Martin Kojtal 159ee4583a
Merge pull request #11225 from kjbracey-arm/µvision528c++14
µVision export: Handle more C++ language standards
2019-08-29 16:31:45 +02:00
Martin Kojtal b2b1ac1977
Merge pull request #11212 from chrissnow/uVison_opt_level
Change default optimisation level to O1 when exporting to uVision
2019-08-20 09:54:21 +02:00
Martin Kojtal 101ae73b87
Merge pull request #11063 from linlingao/f_cc3220sf_launchxl
Add CC3220SF_Launchxl to Mbed OS
2019-08-19 12:08:11 +02:00
Olli-Pekka Puolitaival aa1d16e871 Python3 fixes 2019-08-15 10:06:41 +03:00
Kevin Bracey c3a71eb23b µVision export: Handle more C++ language standards
µVision 5.28a now has options for gnu++14, c++14 and c++17, so we can
use them rather than falling back to c++14 or gnu++11.

This does mean that an export of current master, which uses gnu++14,
will now require version 5.28a. I have not tested what happens if
5.27 is given a project file with these new option numbers.

However, export of current master is broken for 5.27 anyway, as the
fallback to gnu++11 means it fails to compile the C++14 constructs
now in the codebase.

Fixes #11217, as long as users update µVision too.
2019-08-14 17:13:03 +03:00
Evelyne Donnaes 7954ad3dd9 Revert commit 3010aaa253 (diff-1a477b054b847ec75ac3bf22194a3335) that modified template for partial profile 2019-08-13 12:57:55 +01:00
Chris Snow a430b6a469 Change default optimisation level to O1 when exporting to uVision 2019-08-13 12:50:51 +01:00
Evelyne Donnaes 050a338771 Addressed review comments, in particular:
* Fixed wrapper functions for IAR
* Fixed and renamed profile to minimal-printf.json
* Moved minimal-printf under platform
* Removed minimal-printf/mbed_lib.json
* Modified exporter template to work with partial profile
* Prevented optimization of printf to avoid compiler function substitution
2019-08-01 12:42:24 +01:00
Lin Gao 387bb666f4 Added CC3220 related changes to tools 2019-07-17 14:18:19 -05:00
Volodymyr Medvid 2524a67c38 Merge remote-tracking branch 'ARMmbed/master' into pr/psoc6-hal 2019-07-11 10:19:03 +01:00
Volodymyr Medvid 140b72d3ed Merge remote-tracking branch 'ARMmbed/master' into pr/psoc6-hal 2019-07-10 10:54:14 +01:00
Mark Edgeworth c8f33b1e45 Removing absolute paths to compiler executables
VSCode exporter was generating a launch config that contained absolute paths to the
compiler executables. It makes more sense to use the executables that are
installed into the system PATH.
2019-07-09 11:06:03 +01:00
Volodymyr Medvid 5cc66282dd PSOC6: remove PSA targets 2019-07-08 14:49:26 +03:00
itziar c327f4f070 add new target IM880B 2019-07-05 09:19:51 +01:00
Alexandre Bourdiol 022abea09b Add STM32H743ZI to IAR export definition 2019-06-13 15:18:37 +02:00
Kevin Bracey 85041025cc µVision export: Add ARMC6 `-std` handling
This is limited to ARMC6 because as of µVision V5.27 you can't set C++11
for ARMC5.

Also current µVision does not support gnu++14. We should be able to get
is as `<default>`, as it is the default for ARM Compiler 6.10-6.12,
but this option does not work as documented and actually requests
gnu++89 explicitly. So gnu++14 is mapped to gnu++11.
2019-05-24 16:26:15 +03:00
Kevin Bracey 5b859c47ee Set compilers to C++14 and C11
* ARMC6 and GCC are set to C++14 and C11.
* ARMC5 is set to C++11 and C99, as it's the highest it can offer.
2019-05-24 16:26:15 +03:00
Alexander Zilberkant 91505184d3 Integrate with mbeb-cli build system
PSA code generation will be called automatically upon mbed invocation.
The autogenerated files will be created under <mbed-os-root>/PSA_AUTOGEN directory.
2019-04-30 14:41:09 +03:00
Anna Bridge c180b1c5f4
Merge pull request #10451 from NXPmicro/Add_IAR_Support
MIMXRT1050: Readd IAR support
2019-04-26 13:35:01 +01:00
Anna Bridge 1cd709f6b6
Merge pull request #10322 from kjbracey-arm/gcc_builtins
GCC: remove `-fno-builtin` option
2019-04-26 13:32:02 +01:00
Mahesh Mahadevan 7cd8ee1599 MIMXRT1050: Readd IAR support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-04-22 11:47:23 -05:00
Brian Daniels fb6fcc5324 Only enable uvision postbuild when in a non-zipped exported project.
Projects that are zipped are typically from the online compiler or they
are meant to be used in a separate environment. Since the postbuild
script requires the Mbed OS tools to present in the project, we will
disable the postbuild script when the project is exported to a zipped
project.
2019-04-09 14:10:38 -05:00
Brian Daniels bbef60fbf2 Correct calls to merge_region_list 2019-04-09 14:10:37 -05:00
Brian Daniels ae344342d1 Fix import of region functions 2019-04-09 14:10:37 -05:00
Brian Daniels 1319948412 Conditionally enable post build in uvision for managed bootloader 2019-04-09 14:10:36 -05:00
Brian Daniels a0cce48282 Modify uvision templates to conditionally enable post build 2019-04-09 14:08:14 -05:00
Brian Daniels d004828589 Add post build script for uvision to support managed bootloader. 2019-04-09 14:08:14 -05:00
Brian Daniels 4734cb7059 Add template for export info needed by the post build script 2019-04-09 14:08:13 -05:00
Brian Daniels 533ee1f717 Add debug and flash init scripts for uvision.
These files are used when the post build script is enabled to support
projects that are using managed bootloader mode.
2019-04-09 14:08:13 -05:00
Cruz Monrreal 803f5fd44e
Merge pull request #9966 from naveenkaje/sct_fix
tools: fix the path generated to the sct file
2019-04-09 14:03:09 -05:00
Brian Daniels 80b0a4cbd8 Make files call the linker from the build dir, so correct the path 2019-04-09 10:20:20 -05:00
Brian Daniels 60910c049c Remove outdated projectfiles case for makefiles 2019-04-08 13:07:13 -05:00
Brian Daniels a0b9275ec4 Fixing copying of static filerefs 2019-04-08 13:07:13 -05:00
Brian Daniels 49ab2b83bd Add c_cpp_properties file to gen_files for zipping 2019-04-08 13:07:12 -05:00
Brian Daniels e65722262c Create template for missing generated vscode file
This file was being dumped to the filesystem without going through the
"gen_file" mechanism, thus it was missed when being zipped up.
2019-04-08 13:07:12 -05:00
Brian Daniels f1c98938c7 Fix incorrect reference to a filetype 2019-04-08 13:07:12 -05:00
Brian Daniels 3b4a463dce Move all generated file paths to FileRefs in the exporters.
The FileRefs allow you to preserve the correct file paths in the online
compiler. It also allows you to preserve the correct file paths for
generated files.
2019-04-08 13:07:12 -05:00
Brian Daniels 2a080a0840 Correct call to add_file_ref 2019-04-05 11:46:39 -05:00
Kevin Bracey 3caa480b04 GCC: remove `-fno-builtin` option
Since the year dot GCC has been passed the `-fno-builtin` option, which
eliminates all compiler knowledge of the C library, even down to basic
stuff like `memcpy` or `memset`, potentially inhibiting quite a lot of
optimisations.

Remove the option to re-enable the optimisations.

There is no record in the source as to why the option is present - maybe
we'll find out by trying to remove it. If necessary, it could be
selectively turned back on for particular functions.
2019-04-05 12:40:58 +03:00
Martin Kojtal c2ebb79723
Merge pull request #9814 from LMESTM/dev_NUCLEO_WB55RG
Adding NUCLEO_WB55RG support
2019-04-04 15:30:07 +02:00
Martin Kojtal 06b60e3f68
Merge pull request #10295 from AndriiLishchynskyi/eclipse_configurations
eclipse_gcc_arm export improvement
2019-04-04 12:42:34 +02:00
Martin Kojtal 8b5157ba47
Merge pull request #10282 from OpenNuvoton/nuvoton_export-iar8
Nuvoton: Support export IAR8 project
2019-04-04 10:52:19 +02:00
Andrii Lishchynskyi 7eb44cb40f Fix applying all possible setting 2019-04-03 19:14:10 +03:00
Andrii Lishchynskyi 1f16fec408 Replace 'resolution_order_names' and 'extra_labels' with 'labels'
Get rid of 'next' function
2019-04-03 12:37:45 +03:00
jeromecoutant c537869a79 NUCLEO_L4R5ZI_P: enable sw4stm32 export 2019-04-03 11:13:58 +02:00
Andriy.Lishchynskyi 71e041689d Enhancement to remove duplicates in Eclipse launch configurations 2019-04-02 17:31:22 +03:00
Naveen Kaje f0f133f3ec tools: fix the path generated to the sct file
The sct file path generated in the online compiler
is incorrect. Fix that by changing the correct_scatter_shebang
API to accept a FileRef object instead and use the path.

This change should go with change in online compiler that removes
the override for correct_scatter_shebang.
2019-04-02 09:05:15 -05:00
ccli8 50f6870868 [Nuvoton] Support export IAR8 project
1. Override IlinkOverrideProgramEntryLabel and IlinkProgramEntryLabel to specify
   entry point for debuger.
2. Refer to doc at the link below for post-export steps. Usually, 'export' is nearly
   out of the box and just install 'Nu-Link Driver (IAR)' to update Nuvoton device
   database in IAR.
   https://github.com/OpenNuvoton/NuMaker-mbed-docs/blob/master/IAR/DEBUG_IAR.md
2019-04-02 10:09:18 +08:00
Laurent Meunier 7afad64886 STM32WB55RG: Add board declaration in tools
In travis build and in SW4STM32 exporter
2019-03-29 16:21:42 +01:00
Cruz Monrreal 0a088a6f4d
Merge pull request #10200 from studavekar/vscode-gcc-ver
update vscode default gcc arm version to 6-2017-q1-update
2019-03-29 10:15:53 -05:00
Jimmy Brisson 12e5596627 Allow both path seperator types in flash algo names 2019-03-27 08:56:46 -05:00
Brian Daniels f56bf8f689 Fix the removal of Mbed-added core flags in uvision exporter 2019-03-23 15:39:06 -05:00
studavekar 31d4ea8722 update gcc arm version to 6-2017-q1-update 2019-03-22 13:48:46 -05:00
Martin Kojtal e665df9c47
Merge pull request #10045 from bridadan/uvision_exporter_fixes
Uvision exporter fixes for Python 3, CPM updates, and Windows path issues
2019-03-18 08:12:47 +01:00
Cruz Monrreal 2b7fee3fbe
Merge pull request #10118 from arskanov/master
Selectively append changes to exported config files
2019-03-16 23:01:29 -05:00
Cruz Monrreal 97204b6914
Merge pull request #9964 from bridadan/fix_references_to_basestring
Add imports of basestring for python 3
2019-03-16 22:55:37 -05:00
Artturi Ramanen 19562fff30 Selectively append changes to exported config files
In case of a non-overwriting change to an exported config file
the previous logic appended a new block of text to the previous file
every time the to-be-written block of text was not exactly matched.

This parses the old config file and the to-be-written changes into
sets, which can then be compared. If all of the incoming lines are
found in the old config file set, no changes are made. If some
incoming lines are not found in the old config file, only these are
appended.
2019-03-15 12:07:02 +02:00
Mahesh Mahadevan 3da7c6f3c0 Update to provide the right device name in the Asymmetric case
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-03-14 07:24:19 -05:00
Mahesh Mahadevan 83eed9eb78 LPC55S69: Add IAR and uvision exporter support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-03-14 07:19:15 -05:00
Martin Kojtal 4c7fc650db
Merge pull request #9994 from theotherjimmy/fix-iar-dfpu
Correct FPU settings traceback found by IAR
2019-03-14 09:10:13 +01:00
Brian Daniels 5ea3b32851 Fixing uvision exporter with CPM updates 2019-03-11 19:09:09 -05:00
Brian Daniels 00f204fce5 Ensure all exported paths use Posix style separators.
mbed_config.h is a file that is placed in your project root when you
export. This allows the configuration to be used by your IDE. When this
file already exists (due to a previous export), it changed the compiler
include option on Windows from "-include mbed_config.h" to "-include
.\mbed_config.h". The "\" character was interpreted as an escape
character "\m" and broke the build. This converts all resource paths to
use the Posix path separator "/" before writing project files to avoid
this issue.
2019-03-11 19:09:08 -05:00
Brian Daniels 1920212314 Fix include paths for uvision when exported with Python 3.
The call to encode() was causing the include paths to be placed in the
uvision product file with the prefix "b'" and the postfix "'". This
broke the parsing of this file and broke the build.
2019-03-11 19:09:07 -05:00
Jimmy Brisson 35479e8111 Correct FPU settings traceback found by IAR
Fixes #9974

The error was that the Asymmetric CPUs were assumed to have the same
structure as the Symmetric CPUs. This is clearly false.

This PR changes the FPU detection of Asymmetric CPUs to find the correct
core and use it's cpu settings.

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2019-03-07 14:06:50 -06:00
Oleg Kapshii aedec74b9a Added support for PSA target to WIFI_BT board
Added WiFi_Bt CM4 PSA target in mbedos json
Added SPE-NSPE mailbox initialization for CM4 SystemInit
Made similar to FUTURE_SEQUANA configurations
Copied FUTURE_SEQUANA CM0 SPM part for WiFi_Bt smoke test
Added CY8CKIT_062_WIFI_BT_M0 and CY8CKIT_062_WIFI_BT_M0_PSA targets
Sorted files for new CY8CKIT_062_WIFI_BT_M0 and CY8CKIT_062_WIFI_BT_M0_PSA targets
Copied files for CY8CKIT_062_WIFI_BT_M0_PSA from FUTURE_SEQUANA
Copied and updated cm0p start files
Corrected according to FUTURE_SEQUANA
Changes to M0 startup files to have SPM started
Fixed implicit declaration warning
Commented interrupts enabling according to FUTURE_SEQUANA flow
Updated prebuild spm_smore CM0 hex for CM4 target
Turned on greentea environment
Used special memory region for common CM0/CM4 data
Updated prebuild CM0 SPM hex
Placed shared memory region for flash operations into SPM shared memory region
Updated cyprotection code and configuration
Start address of protected regions is set by a defined number from target.json
Added masters pcMask configuration
Added support for PSA target to WIFI_BT board
Enabled resources protection for SPM
Aligned RAM usage according to Cypress FlashBoot and CyBootloader
alligned protection config
Added CYW943012P6EVB_01_M0 target
Enlarged heap size, remobed nv_seed
Added heap reservation in linker script from mbed-os
Removed heap size definition
turned on nv_seed config
Removed nv_seed macros
Enabled protection for PSoC6 CM0
Added PSoC6 CM0 PSA readme
Enabled mbed_hal-spm test
Enabled nv_seed and removed unneeded ipc config define
Added SPDX string to feature_ble cypress target files
Removed unneeded supported_toolchains lines for Cypress targets
Disabled protection settings
Corrected flash initialization for PSoC6 CM0 PSA
Changed PSoC6 IPC6 protection for flash
Enabled special flash initialization and enabled protection settings
Updated and added new prebuild PSoC6 CM0 PSA hex files
Disabled HW TRNG and CRC for PSoC6 CM4 PSA target
Added missing const to allow types to match
Updated PSoC6 WIFI_BT_PSA prebuilt directory
Moved PSoC6 shared section usage area definition to begin of ld
Added initial ARM_STD linker and startup files for PSoC6 CM0
Added initial IAR linker and startup files for PSoC6 CM0
Added defines to disable some SPM protection settings for PSoC64
Moved Flash function variables into separate memory region
Added defines for new Public area definition
Updated PSoC6 CM0_PSA hex-files
2019-03-07 08:40:20 -08:00
Brian Daniels 0105395be2 Add imports of basestring for python 3 2019-03-06 09:33:02 -06:00
Martin Kojtal c37ac83e8e
Merge pull request #8757 from theotherjimmy/use-cpm
Update Cmsis-pack-manager to 0.2.3
2019-03-06 15:58:42 +01:00
Brian Daniels c129336453 Fix include paths for the assembler for makefiles.
The Makefile is run from the build directory. The source files were
properly prefixed with "../", however the paths provided to the
assmebler were not. This ensures the assembler include paths are
prefixed properly.
2019-03-05 15:13:37 -06:00
Jimmy Brisson 859949fc74 Update index to include vendor information 2019-03-04 11:24:47 -06:00
Jimmy Brisson 8d7c15ee35 Use device variant in uvision export 2019-03-04 11:24:47 -06:00
Jimmy Brisson 9de37ec39c Correct uvisionn export 2019-03-04 11:24:47 -06:00
Martin Kojtal e75794ec6e
Merge pull request #9888 from ARMmbed/feature-armc6
ARM Toolchain update to ARM Compiler 6.11(ARMC6)
2019-03-04 12:23:38 +01:00
Senthil Ramakrishnan e1e4456c47 Fixes for exporters failing with wrong compiler settings 2019-03-01 13:21:33 -06:00
Cruz Monrreal 13945c6db3
Merge pull request #9891 from deepikabhavnani/nuc472_iar8
Correct the device name for NUC472 / M453 - IAR 8
2019-02-28 19:11:54 -06:00
Cruz Monrreal 460e4e7836
Merge pull request #9817 from kegilbert/artifact_name_export
Apply artifact_name configuration parameter to exported projects
2019-02-28 18:22:28 -06:00
Deepika a3c7caf3de Correct the device name for M453 2019-02-28 14:41:35 -06:00
Senthil Ramakrishnan 4e7d34bbb6 Review fixes for uvision exporter,build_api and arm.py 2019-02-28 12:00:11 -06:00
Senthil Ramakrishnan 22da2be37f Update uvision exporter to capture ARMC6 as default toolchain 2019-02-28 12:00:11 -06:00
Deepika 01d6f38268 Correct the device name for NUC472 2019-02-28 10:03:00 -06:00
Cruz Monrreal 22674a694d
Update tools/export/__init__.py
Co-Authored-By: kegilbert <K.Gilbert.CH@gmail.com>
2019-02-25 17:50:51 -06:00
Jimmy Brisson da3eb5df47
Update tools/export/__init__.py
Co-Authored-By: kegilbert <K.Gilbert.CH@gmail.com>
2019-02-25 13:57:26 -06:00
Jimmy Brisson c0fbe95d54
Update tools/export/__init__.py
Co-Authored-By: kegilbert <K.Gilbert.CH@gmail.com>
2019-02-25 13:57:20 -06:00
kegilbert 056b88ad0e Pull in artifact-name for exported projects 2019-02-22 17:47:13 -06:00
Deepika 5501947197 Update IAR project template as per IAR 8.32
Reference template file is used from IAR8.32 installation available at path
"Embedded Workbench 8.2\arm\config\template\ConvertToIAR\template_project.ewp"

Also added trustzone configs in iar_definitions.json
2019-02-22 09:25:08 +00:00
Martin Kojtal e59166289f
Merge pull request #9756 from vmedcy/psoc6-cmake-export
PSOC6: enable export to CMake
2019-02-20 09:39:35 +01:00
Martin Kojtal 7f4475d924
Merge pull request #9736 from 0xc0170/fix_licenses_files
tools/test/cmsis: add license header
2019-02-20 09:38:55 +01:00
Volodymyr Medvid cf0ea92104 tools/export: move hex_files selection to base Exporter class
CMake and makefile exporters share a common logic for hex file
selection. Factor it as a common property in the base class
to avoid code duplication.
2019-02-19 20:03:06 +02:00
Volodymyr Medvid 7311a610e5 PSOC6: enable export to CMake
The approach for the hex_files subset selection is identical
to makefile exporter: https://github.com/ARMmbed/mbed-os/pull/9466

Single hex file should be passed to srec_cat when hex_filename
is set in targets.json or mbed_app.json.
2019-02-19 14:15:31 +02:00
Martin Kojtal 195965fd5e tools: move string description after import modules 2019-02-19 10:49:04 +00:00
Cruz Monrreal f95ec957dd
Merge pull request #9742 from naveenkaje/mcuxpresso_export_fix
tools: export: MCUXpresso: fix case inconsistencies in .templ file names
2019-02-15 21:15:42 -06:00
Cruz Monrreal 5a8970a48b
Merge pull request #9649 from ngraziano/fix-vscode-export
Fix IntelliSense in VSCode export
2019-02-15 12:28:00 -06:00
Naveen Kaje 8d284cb4b6 tools: export: MCUXpresso: fix case inconsistencies in .templ file names
The templ file names are both all upper case and lower case letters.
The Target Names map is usually all upper case. The match could fail
if the templ file, as we have case-sensitive comparison. Handle such
cases by perorming a case-insensitve check.

mbed export of a project to MCUXpresso could potentially always fail
irrespective of what is passed in -m option since the target names
map entry and the filename may not match. This commit fixes this issue.

Example of the issue that this commit fixes:

$ mbed export -i mcuxpresso -m lpc11u68 -v
<snip>
project.py: error: LPC11U68 not supported by mcuxpresso
<snip>
2019-02-15 11:56:27 -06:00
Martin Kojtal c8f698ca36 tools: add license headers 2019-02-15 13:32:45 +00:00
Nicolas Graziano e85bbdd767 Vscode export: replace obsolete ${workspaceRoot}
Replace with ${workspaceFolder}
2019-02-11 19:05:25 +01:00
Nicolas Graziano 4b1789de22 Vscode export: remove path separator conversion
VSCode handle "/" and it is easier to read.
2019-02-11 19:05:14 +01:00
Nicolas Graziano e682807bf5 Fix IntelliSense in VSCode export
Allow to use default intelliSenseEngine in visual studio code.
Add of compilerPath and forcedInclude of mbed_config header in the
created c_cpp_properties.json file.
2019-02-11 19:05:04 +01:00
Martin Kojtal 7e831a7f91
Revert "MIMXRT1050_EVK: Add IAR support in the exporter" 2019-02-11 09:36:18 +00:00
Martin Kojtal 7e18cc5b6a
Merge pull request #9596 from vmedcy/make-cmd-files
Implement Linker command/response files in make export
2019-02-07 09:36:19 +01:00
Volodymyr Medvid 6918e6a76b 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.

Also, change the linker responce file name to .link_options.txt.
This is an internal file, not a build artifact.
2019-02-04 20:10:47 +02:00