Commit Graph

72 Commits (c99b150bcf8b3184f0eef4274f2f71b07fdd8d0a)

Author SHA1 Message Date
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
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
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 1319948412 Conditionally enable post build in uvision for managed bootloader 2019-04-09 14:10:36 -05: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
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
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
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
Brian Daniels 5ea3b32851 Fixing uvision exporter with CPM updates 2019-03-11 19:09:09 -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
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
Jimmy Brisson 9de37ec39c Correct uvisionn export 2019-03-04 11:24:47 -06:00
Senthil Ramakrishnan e1e4456c47 Fixes for exporters failing with wrong compiler settings 2019-03-01 13:21:33 -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
Jimmy Brisson c8f1e1f854 Escape quotes in uvision project file defines 2018-08-24 14:00:52 -05:00
Jimmy Brisson a6c85ee5f4 Add asm defines to template 2018-08-08 10:43:33 -05:00
Jimmy Brisson 0924d6618e Fix a few flag-related things 2018-08-08 09:52:49 -05:00
Jimmy Brisson 1eb47934eb Fix "pare error in Defines" uvision error 2018-08-08 09:24:50 -05:00
Jimmy Brisson c51467ee91 Flake8 of uvision exporter python code 2018-08-08 09:07:45 -05:00
Jimmy Brisson 11702d16b5 Enable uvision export for NS cores 2018-08-08 09:07:45 -05:00
Jimmy Brisson 5e9ac75c4f Remove -MMD and debug print 2018-08-08 09:07:45 -05:00
Jimmy Brisson 0a175fe0f5 Use relative path to detect config header and remove -std options 2018-08-08 09:07:45 -05:00
Jimmy Brisson bafced4099 Correct check for in-template flags
It was named and used as if it were positive logic, and written with
negative logic. This changes the name and usage to negative logic.
2018-08-08 09:07:45 -05:00
Jimmy Brisson fa1bf57a4d Enable export to uvision5 + armc6 2018-08-08 09:07:38 -05:00
Cruz Monrreal e9e1ff997d
Merge pull request #7302 from OpenNuvoton/nuvoton_m2351_v1.1
Support Nuvoton's NUMAKER_PFM_M2351 target
2018-07-18 08:49:55 -05:00
Jimmy Brisson 3b7a5bb35e Filter libraries by extension in exporters 2018-07-16 14:11:09 -05:00
Jimmy Brisson de913e1ea2 Improve resources API to include more use cases 2018-07-16 14:11:08 -05:00
Jimmy Brisson 989986288f Correct uvision exporter support check 2018-07-16 11:51:20 -05:00
Cruz Monrreal II 799cfdbbc2 Compiling Cortex-A cores in uVision is not supported.
Reference: http://www2.keil.com/mdk5/selector
2018-06-21 09:13:24 -05:00
Jimmy Brisson 0c8f66f87b Correct supported check of uvision to include uARM 2018-06-12 09:28:43 -05:00
Jimmy Brisson c44dba3ef4 Minimize include path size in uvision export 2018-03-27 14:30:43 -05:00
Jimmy Brisson 14255ca113 Correct syntax for mbed export in Py3 2018-03-16 13:08:20 -05:00
Jimmy Brisson bd5b34f59c Correct exporter clean behavior 2018-02-21 09:28:24 -06:00
Cruz Monrreal c679dee286
Merge pull request #5848 from theotherjimmy/compile-py3
Python2+3: mbed compile, mbed test --compile,  python unit tests
2018-02-07 15:48:18 -06:00
Jimmy Brisson cca4425af6 Python2+3: iteritems -> items 2018-02-05 11:04:36 -06:00
Jimmy Brisson 9b8ba4dd98 Use relative path to scatter for include path 2018-02-02 11:53:51 -06:00
Jimmy Brisson a62f89da05 Correct uvision template to correctly pass include paths 2017-09-14 09:39:00 -05:00
Jimmy Brisson 15a9a0382b Enable Compiling with ARMC6 across all targets
remove duplicate sys.cpp
2017-09-11 13:20:32 -05:00
Chris Snow e783e98066 Export linker flags so that bootloader projects build correctly 2017-09-05 22:03:29 +01:00
Jimmy Brisson 81446f69be Generate exporter suppored lists when needed 2017-07-07 14:45:32 -05:00
Jimmy Brisson 60fea42fdb Filter supported devices with a post-bin whitelist in uvision 2017-06-13 15:55:36 -05:00
Jimmy Brisson 603ef3d75e Correct FPU setting for Cortex-M7FD
They had floating point turned off before
2017-06-09 00:03:23 -05:00
Sam Grove 2e5ba49b59 Merge pull request #4395 from theotherjimmy/fix-uvision-support
Allow generic core exports to UVision
2017-05-26 10:20:33 -05:00
Jimmy Brisson 4d1a4a41fa Fix Uvision supported check
Should now allow for generic targets
2017-05-25 15:01:20 -05:00
Vincent Coubard deaabf3123 uvision exporter: Escape double quote in flags.
Without this fix macro defined as -DFOO="BAR" won't be correctly handled
by uvision.
2017-05-23 14:04:05 +01:00
Jimmy Brisson d2f2603892 Add the FPU field to the <Cpu> tag it Keil
Recently the Keil IDE has released version 5.23. This version requires
the FPU to be set as part of the <Cpu> tag in the .uvprojx (XML project
file). This patch adds the appropriate FPU settings based on the
trailing F (FPU enabled) or FD (Double precesion FPU enabled) string of
the core.
2017-03-01 14:16:12 -06:00
Jimmy Brisson eadbe71d58 Add core to uvision exporter template
Strip trailing F's and D's off of the Cputype in uvision
2017-01-31 12:18:52 -06:00