Commit Graph

2467 Commits (dbdbae36329b2096c3fb232904a24d062af3519c)

Author SHA1 Message Date
Jimmy Brisson 38d8bb64fa Migrate old memap file handling into toolchains
### Description

This PR moves the old memap file handling required for differential
memap from within memap to the toolchain object. This has the
advantage that we can do the `mv <app>.map <app>.map.old` the moment
before it is overwritten by the linker. This should allow multiple
reruns of memap without modifying your build directory.

### Pull request type

    [ ] Fix
    [x] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-11-26 08:47:40 -06:00
Offir Kochalsky 7972092867 Added KVStore Examples for Global and Class APIs 2018-11-25 08:51:51 +02:00
Martin Kojtal 6c1c1693f5 Merge branch 'wio3g-export' of https://github.com/SeeedJP/mbed-os into dev_rollup 2018-11-24 21:15:49 +00:00
Martin Kojtal e72b7c3b96
Merge pull request #8803 from theotherjimmy/armc6-armc5-compat
Compatibilize ArmC6 with ArmC5-built archives
2018-11-24 19:48:13 +01:00
Lu 3f7b235782 This PR modifies the name of the bin file generated for SMCC FOTA feature
This PR modifies the name of the bin file generated for SMCC FOTA feature

Description
Modify name of the bin file from '-payload.bin' to '_update.bin' in REALTEK_RTL8195AM.py file to adapt the manifest tool requirment for the SMCC FOTA feature.

Pull request type
[ ] Fix
[ ] Refactor
[x] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change
2018-11-23 21:00:46 +08:00
Mikhail Maltsev d16388354a Fix build of library archive with Arm Compiler 6
The 'archive' method of the toolchain class 'ARM' expects that self.ar
is a string, but the constructor of the class 'ARMC6' initializes it
with a list. This patch fixes the issue.
2018-11-22 13:32:20 +00:00
Martin Kojtal 5b42e2886f
Merge pull request #8607 from aashishc1988/ram_rom_fetch
Fetch ram/rom start/size
2018-11-22 10:49:50 +01:00
Olli-Pekka Puolitaival dcafca7705 Moving some examples testing from K64F to K66F 2018-11-22 10:13:43 +02:00
Jimmy Brisson b1b69d2d60 Compatibilize ArmC6 with ArmC5-built archives
### Description

Arm compiler 5 builds with "short" enums and "short" wchars. This means
that C/C++ enums will be packed into the smallest power of 2 number of
bytes by the compiler and the `wchar_t` is 2 bytes. Arm compiler 6
defaults to packing enums into 4 bytes and `wchar_t` is 4 bytes.

Further, Arm Compiler 5's `-O0` (no optimizations) bulids will actually
do some amount of optimizing, similar to Arm Compiler 6's `-O1`. I have
switched the debug profile to `-O1` for maximum compatibility with our
prior behavior.

NOTE: "Compatibilize" is a word

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-11-19 11:43:05 -06:00
Martin Kojtal 13b60c2991
Merge pull request #8673 from kegilbert/config-range-limits-dev
Add Mbed Configuration Option Range Limits
2018-11-19 13:14:02 +00:00
kert 6815409fe7 Fix unsigned packing bug in merge_regions #8544 2018-11-17 17:57:46 -08:00
Yoshihiro TSUBOI a1d2ac7462 [Wio 3G] Adding IAR exporting definition 2018-11-18 00:35:37 +09:00
Brian Daniels 6cab1e0018 Fixing traceback when running mbed test 2018-11-16 15:28:50 -06:00
Cruz Monrreal fa2077df41
Merge pull request #8685 from bridadan/clean_up_deprecated_feature_code
Clean up deprecated feature code
2018-11-15 17:05:22 -06:00
Aashish chaddha 0c594a42dc The check for managed bootloader support should be in regions and we need a try/catch when we call it.
Moved "bootloader_not_supported" check to where it was and handle that exception at only one place.

Removed ram/rom size info for realtek from targets.json. THe info we have is not correct.

was Not handling config exceptions from regions and ram_regions property

adding rom-ram info for REALTEK_RTL8195AM
2018-11-15 15:28:14 -06:00
kegilbert c26c258c66 Update expected error message 2018-11-15 12:24:06 -06:00
kegilbert 9116b9921b Remove redundent line 2018-11-15 11:44:53 -06:00
Brian Daniels 5ec1d7c221
Update tools/config/__init__.py
Co-Authored-By: kegilbert <K.Gilbert.CH@gmail.com>
2018-11-15 11:43:41 -06:00
Martin Kojtal caae883306 Merge branch 'Musca_march' of https://github.com/deepikabhavnani/mbed-os into dev_rollup 2018-11-15 14:02:14 +00:00
Martin Kojtal d925d124c9 Merge branch 'remove-filer-paths' of https://github.com/theotherjimmy/mbed into dev_rollup 2018-11-15 13:58:45 +00:00
kegilbert 9d9cd84942 Refactor logic to improve readability
Move JSON accepted value ranges back to JSON array
2018-11-14 18:31:59 -06:00
Martin Kojtal 82f195c021
Merge pull request #8696 from theotherjimmy/handle-parent-renames
Resources: Avoid assuming that deps have a sane name
2018-11-14 08:26:11 +00:00
kegilbert 7a436660e9 Handle None and hex values in string format 2018-11-13 16:12:35 -06:00
Jimmy Brisson 3db1a8aa67 Avoid constructing a FileRef when we don't use it 2018-11-13 09:53:50 -06:00
Deepika a6ed5fcbd0 Adding arch option instead MCPU for no dsp and no fpu support
No FPU option is valid, but supported only for 8.x releases, with 7.x release
+nofp gives build errors.
2018-11-13 08:21:31 -06:00
Aashish chaddha 1627968bcb Missed one change to convert into right data type 2018-11-12 13:37:27 -06:00
Aashish chaddha 3956451c07 Fixing some corner cases
1. Adding SRAM in available ram
2. If the target doesn't exist in cmsis but targets.json, handle accordingly and raise apt exceptions where needed.
3. If no sram is provided, raise exception
2018-11-12 13:28:01 -06:00
Jimmy Brisson 6e63acaa4e Resources: Avoid assuming that deps have a sane name
### Description

The prior fix assume that the dependencies through `.lib` references
would have a "sane" name. My definition of "sane" here is that the
reference will have a path that starts with the path to the `.lib` file
and _removes_ the `.lib` suffix. The online compiler does not remove the
`.lib` suffix. Instead, it keeps it. This makes the string replacement
in the prior PR fail.

Also, this is faster, and simpler.

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-11-09 13:15:13 -06:00
Jimmy Brisson b99fd4058b Resources: Use path names for ignored dirs
### Description

Ignored directories are collected for the sake of exporters that use
a blacklist-style approach similar to these build tools. This ignore
list will include `/filer/<gibberish>` when exported from the online
Compiler. This patch fixes that behavoir.

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-11-09 13:11:40 -06:00
Cruz Monrreal II 6ab56d978e Merge branch 'quote-includes-2' of ssh://github.com/moonchen/mbed-os into rollup 2018-11-09 11:40:32 -06:00
Naveen Kaje 38ce7b13e7 tools: fix up build_api padding logic and clean up unused code
Patch from the end of the first segment. Remove unused code.
2018-11-09 10:36:25 -06:00
kegilbert b53738750f Add guard against accepted and range definitions.
Minor reformat of error text on accepted value messages
2018-11-08 19:00:39 -06:00
Brian Daniels 172abc8dcb Correcting name of config test 2018-11-08 16:56:00 -06:00
Brian Daniels 06cce95b55 Fixing the recursive feature conflict config test 2018-11-08 16:56:00 -06:00
Brian Daniels 332a67a112 Moving LWIP feature to BOOTLOADER in config testing 2018-11-08 16:56:00 -06:00
Brian Daniels f9b236a0e1 Fixing tool config tests 2018-11-08 16:55:59 -06:00
Brian Daniels 74586ec2ab Re-add "fetaure_recursive_conflict" config test 2018-11-08 16:55:59 -06:00
Cruz Monrreal II 14a9824511 Merge branch 'root-include-path' of ssh://github.com/theotherjimmy/mbed into rollup 2018-11-08 13:24:12 -06:00
Naveen Kaje 858a7a8321 tools: Update build_api
Rename loop varibles for better readability and
formatting changes.
2018-11-08 13:00:27 -06:00
kegilbert a834794b53 Add range specifers for config values 2018-11-08 10:18:30 -06:00
Jimmy Brisson 95e2b07ad8 Resources: Compute parents using only header names
### Description

The prior fix made the assumption that you wanted to compute all of the
parents for a give header file going all the way up the path. This is
not true: you probably want to stop when the project stops. We already
keep track of a virtual name within the project, so instead, we compute
parents of the name, and generate the actual location of these files in
your FS as the path. This makes the solution robust offline and online
(I tested it with my local copy of os.mbed.com)

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-11-08 09:23:49 -06:00
Martin Kojtal ed1ecd2484 Merge branch 'rm-ds5' of https://github.com/theotherjimmy/mbed into dev_rollup 2018-11-08 09:20:28 +00:00
Naveen Kaje bd40457f27 tools: Update build_api padding method
Update the padding sequence so that the gaps
are padded after all the regions are merged.
This avoids overwriting active regions and
serializes the process.
2018-11-07 14:43:14 -06:00
Aashish chaddha 27f20c7478 Fetch RAM/ROM information from CMSIS pack and add as defines
RAM/ROM memory data of target is required for statistics and linker
files, goal here is to fetch maximum 4 RAM/ROM regions from CMSIS pack
and make them available for C/C++/Linker flags as defines
2018-11-07 10:20:28 -06:00
Jimmy Brisson 0cba0a34dd Online: Include project root path
### Description

The prior logic assumed that "." would not be added to the include
paths, indicating that the project root would not be added to the
include paths correctly in the online environment ("." would be
incorrect there). This change set started by removing the addition
of "*.", and then fixed building from there.

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-11-06 13:47:26 -06:00
Deepika Bhavnani ba86a53871 Update tools/toolchains/gcc.py 2018-11-05 17:44:18 +01:00
jeromecoutant 1ea28973b2 TOOLS : Add missing M33 and M33F in python scripts 2018-11-05 17:44:15 +01:00
Martin Kojtal 909c11b860
Merge pull request #8605 from adbridge/master
Make examples commands return a failure
2018-11-05 17:16:28 +01:00
Naveen Kaje e28c260763 tools: update build_api and __init__ as per review comments 2018-11-04 19:47:06 -06:00
Cruz Monrreal 0e6eac5faa
Merge pull request #8491 from lrusinowicz/new-target-future_sequana
New target future sequana
2018-11-03 07:05:58 -05:00
Leszek Rusinowicz 53477848f5 Disabled makefile exporters for PSoC 6 based targets. 2018-11-02 17:27:56 +01:00
Leszek Rusinowicz 7d322dcd41 Simplified M0/M4 binary merging functionality. Now, M0 binary image to be used has to be explicitely named in a json file (can be ovverriden in mbed_app.json).
Exporter hooks removed completely.
Cleanup and improvements to the comments, including removal of the redundant doxygen comments.
Code run through astyle. Additionally:
 - changes to drivers/Timer.cpp reverted
 - ipcpipe_transport.* files removed as they are not used for now,
 - fixed condition in stdio_init.cpp to perform serial initialization only when STDIO is enabled,
 - added missing resurce manager call in PWM initialization,
 - us_ticker initialization changed to use pre-reserved clock divider (to avoid resource manager call).
Changed reporting level from info to debug in PSOC6.py.
Added missing includes for function declarations in startup files.
Fixed (removed) garbadge text in psoc6_utils.c
Precompiled binaries updated for recent changes in psoc6_utils.c and moved to a separate folder; README and LICENSE files added.
2018-11-01 22:14:06 +01:00
Cruz Monrreal 9c5fc7dc7c
Merge pull request #8538 from theotherjimmy/rework-make-cli
Rework make.py CLI to avoid treating apps as tests
2018-11-01 15:46:46 -05:00
Cruz Monrreal 48bb1a54f0
Merge pull request #8577 from lassebm/fix-makefile-export-with-python-3
Fix Makefile export with Python 3
2018-11-01 15:34:58 -05:00
Leszek Rusinowicz 9b1db83eaa Added required changes outside of TARGET_Cypress tree:
1. In drivers/Timer.cpp make sure that hardware timer is initialized outside of critical section.
   This is because on PSoC 6 hardware resources are shared between both cores
   and we have to make sure that the other core is not already using a particular resource.
   This mechanism is based on interprocessor communication taht cannot be handled iside of
   critical section.
2. Added support for post-binary hook function for PSoC 6 targets, so the hex image for M0+ CPU core
   can be merged with M4 core image for the final image.
3. Added possibility to use hook function from exportes, so the M0+ hex image could be included
   in the generated project.
4. Included hex images in the build dependency list, so the update of image is catched by the
   build process.
2018-11-01 20:19:21 +01:00
adbridge b28d0811df Fix up subprocess calls
subprocess.call() does not by default return a status value.

Update the commands to add shell=True which forces a return value.
Also convert the commands to a single string rather than a list as
this plays more nicely with both linux and windows.

Also fix a spurious :
2018-11-01 13:07:16 +00:00
adbridge a7c777d5c1 Make examples commands return a failure
Currently the following commands in examples.py,
do_import()
do_deploy()
do_versionning()
do_clone()

all return a success status (ie 0) irrespective of any errors
originating from their sub-functions.

This PR fixes this. Now these commands will return one of:
0 - success
1 - general failure
x - failure returned by a subprocess.call function
2018-10-31 17:40:15 +00:00
Mo Chen 2c77c1edd6 Put quotes around include path options
This fixes a compile error when the path has space characters.
2018-10-30 17:15:54 -05:00
Jimmy Brisson f366c257e5 Export: Remove DS-5
### Description

The DS-5 exporter does not work. It exports projects which I'm 100% sure
don't build. I have been looking over supporting it for about 6 months
now and I have convinced myself that I don't think it's worth the
trouble. Shout now if you need this exporter.

### Pull request type

    [ ] Fix
    [ ] Refactor
    [ ] Target update
    [x] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-10-30 09:38:22 -05:00
Przemyslaw Stekiel de24a9555e Fix Ice Tea test execution order to be sorted by names. 2018-10-30 14:37:57 +01:00
Naveen Kaje 2da8950b2a tools: process bootloader chunks
NRF Softdevice hex file can be in chunks.
Make sure we account for the space where the bootloader resides
by including all the chunks within the end of rom marker. This will
clearly mark out the initial bootloader region.
2018-10-29 16:36:56 -05:00
Lasse Bang Mikkelsen b31156a906
Fix Makefile export with Python 3
In Python 3, the map() function returns a map object, not a list object as in
Python 2. Ensure a list object is returned from format_flags() by wrapping
map() in list(). This is compatible with both Python 2 and 3.
2018-10-29 18:46:43 +01:00
Naveen Kaje e877a8e0e5 build_api: remove unused import
Remove unused tempfile import.
2018-10-26 13:30:01 -05:00
Jimmy Brisson 8f07b9ebd5 Remove unused imports 2018-10-24 11:54:13 -05:00
Jimmy Brisson 81013e9d0c Reformat make.py 2018-10-24 11:51:58 -05:00
Jimmy Brisson 9019196d55 Rework make.py Ct pLI to avoid treating apps as tests
Prior to this changeset, applications were all compiled as test #0. This
can lead to unexpected behavoir. In particluar, it's weirdly impossible
to use a `.mbedignore` file to ignore
`mbed-os/features/unsupported/tests/mbed/env/test_env.cpp`.

This PR stops treating applications like tests.

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-10-24 11:51:36 -05:00
Jimmy Brisson 190e77894f Merge duplicate keys in JSON.
### Description

I would love to make this an error, but we have had a duplicate key in
`targets.json` for a while now. Instead, we're merging in a semi-smart way.
This will allow you to have things like `"target.features_add"` twice, and
both will take affect.

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-10-23 11:23:33 -05:00
Brian Daniels b0264e3540 Adding file type for linker script arg in make script 2018-10-22 13:30:10 -05:00
Cruz Monrreal 46d717cf18
Merge pull request #8250 from theotherjimmy/fix-7723
Tools: Don't traceback on missing linker script
2018-10-22 11:30:50 -05:00
Cruz Monrreal c40d86038c
Merge pull request #8249 from theotherjimmy/official-tc-support
Tools: Restrict toolchains reported by mbed compile -S to official ones
2018-10-19 14:43:58 -05:00
Cruz Monrreal c004aa857d
Merge pull request #8303 from theotherjimmy/fix-exclude-paths
Tools: Use logical paths in ignored_dirs
2018-10-19 14:06:38 -05:00
Jimmy Brisson aa5d2afa4d Stop shouting at users in error messages 2018-10-19 10:25:49 -05:00
Jimmy Brisson 418ca3a473 Remove what we're checking for membership 2018-10-19 10:19:51 -05:00
Cruz Monrreal II b957f602b8 Corrected OFFICILLY_SUPPORTED typo 2018-10-18 11:13:17 -05:00
Jimmy Brisson ec72ce7787 Track supported information within toolchain clasess 2018-10-18 11:10:16 -05:00
Jimmy Brisson 4198ae620c Tools: Restrict toolchains reported by mbed compile -S to official ones
### Description

The `mbed compile -S` command is suposed to indicate what targets
support what toolchains. The command was printing out things that
don't make sense, like `GCC_CR` and things that make sense, but are
not offiially supported yet, like `ARMC6`. This PR fixes all of that.

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Breaking change
2018-10-18 11:10:16 -05:00
Cruz Monrreal a0a3dd6a06
Merge pull request #8288 from theotherjimmy/incomplete-targets-notsupported
tools: Raise NotSupported when target definition is incomplete
2018-10-18 08:31:13 -05:00
Cruz Monrreal c9adf3cef4
Merge pull request #8307 from NXPmicro/Add-Support_RapidIoT
Add support for RapidIoT
2018-10-18 08:15:07 -05:00
Jimmy Brisson 9c3307ab20 tools: Raise NotSupported when target definition is incomplete
### Description

Noticed by the online compiler:
When a user has an incomplete target definition, the error is not show
to the user. That's because it's reported as a `KeyError`. This PR adds
an outer `NotSupportedException` so that the outer catch statement knows
that this is not a build system crash, but a user error.

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Breaking change
2018-10-17 18:00:57 -05:00
Cruz Monrreal a5855e4da5
Merge pull request #8359 from kaidokert/master
Allow overriding build timestamp from env
2018-10-17 08:57:37 -05:00
maclobdell fd08cc94f2 Add support for NXP Rapid IoT prototyping kit
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-16 08:52:14 -05:00
Cruz Monrreal II ec07e25430 Merge branch 'fix-6258' of ssh://github.com/theotherjimmy/mbed into theotherjimmy-fix-6258 2018-10-12 21:46:33 -05:00
Cruz Monrreal 7ea50f1fe4
Merge pull request #8334 from theotherjimmy/error-missing-payload
mbed dm: Check for missing payload and give a better error message
2018-10-12 08:00:41 -05:00
Cruz Monrreal II 5d74b772ab Merge branch 'remove_gcc_cr' of ssh://github.com/bridadan/mbed into bridadan-remove_gcc_cr 2018-10-11 13:18:49 -05:00
Cruz Monrreal II af6a21ac06 Merge branch 'nb-consistant-paths' of ssh://github.com/theotherjimmy/mbed into theotherjimmy-nb-consistant-paths 2018-10-11 13:18:47 -05:00
Cruz Monrreal 19190d62d2
Merge pull request #8248 from theotherjimmy/fix-7954
Tools, Resources: Convert to a set during win2unix
2018-10-11 10:36:52 -05:00
Cruz Monrreal 085b5a6ca9
Merge pull request #8363 from adbridge/master
Remove mbed-os-example-client
2018-10-11 10:13:23 -05:00
Cruz Monrreal 6e8d9f0099
Merge pull request #8270 from theotherjimmy/fix-7392
Tools: Ensure vtor reserved bits are all 0
2018-10-11 10:12:25 -05:00
Cruz Monrreal 161ca2b0ee
Merge pull request #8261 from cmonr/dont-fail-on-trailing-slash
Enabled the removal of a trailing slash
2018-10-10 14:22:27 -05:00
Cruz Monrreal 1eaa8a5032
Merge pull request #7937 from theotherjimmy/fix-mcuxpresso-lib-use
Export, MCUXpresso: Avoid assigning self.libraries
2018-10-10 08:45:25 -05:00
Cruz Monrreal 43ffe3e985
Merge pull request #8305 from theotherjimmy/fix-microbit-release
Tools: Fix Microbit releases
2018-10-10 08:44:58 -05:00
Cruz Monrreal be4bb9f610
Merge pull request #8177 from andrewleech/tools_json_python3
tools/utils: Fix issue with loading json files as ascii on python3 linux
2018-10-10 08:42:25 -05:00
adbridge 322473099d Remove mbed-os-example-client
This example is now deprecated and as such needs to be removed from
ci test compilation.
2018-10-10 14:38:00 +01:00
kert 77f9fb9039 Allow overriding build timestamp from env 2018-10-10 01:38:22 -07:00
Jimmy Brisson a270249aa7 Update remaining default_lib usage in arm compiler 2018-10-09 10:50:02 -05:00
Martin Kojtal 9b15646270
Merge pull request #8323 from yossi2le/add-blockdevice-example-back-to-ci
Add blockdevice example back to CI
2018-10-09 10:33:15 -05:00
Martin Kojtal 4a0e2bdb31
Merge pull request #8330 from theotherjimmy/force-int-time
Tools: Fix Python3 + firmware header traeback
2018-10-09 10:31:26 -05:00
Cruz Monrreal b7cf1abf81
Merge pull request #8039 from c1728p9/stack_size_framework
Add framework for configuring boot stack size
2018-10-08 10:26:16 -05:00
Cruz Monrreal 342d087d47
Merge pull request #8276 from theotherjimmy/consistant-file-notify
tools: Make "file" key in notifications consistant
2018-10-08 10:22:04 -05:00
Cruz Monrreal 5102610f11
Merge pull request #8275 from theotherjimmy/online-nrf51-upstream
tools, NRF51-post-build: Use paths to hex files
2018-10-08 10:21:03 -05:00