Commit Graph

107 Commits (4c47f21cac92e37309dac0d9d4f6b748f0a79925)

Author SHA1 Message Date
Jimmy Brisson 4c47f21cac Fill header in application 2018-02-20 11:45:32 -06:00
Tero Jääskö faabde13a1 tools: build: fix handing of "--stats-depth"
The introduction of pretty-bar had broken the handling of
"mbed compile"'s "--stats-depth" argument. No matter what one gave
as parameter to it, the result output is just using the default 2.
Fix the logic in build_api.
2018-02-13 15:35:01 +02: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 c93a2bfa4c Python2+3: Use absolute import where possible 2018-02-05 11:07:37 -06:00
Jimmy Brisson 68737f2762 Python2+3: Things import 2018-02-05 11:03:44 -06:00
Jimmy Brisson c09142e82c Don't bother padding hex files for managed bl 2018-02-02 15:44:32 -06:00
Jimmy Brisson 4f13e21aa0 Use OUTPUT_EXT in managed boot loader 2018-02-02 15:40:44 -06:00
Jimmy Brisson a92d0df4ae Move region adding to mbedToolchain 2018-01-31 10:04:34 -06:00
Jimmy Brisson c180324530 Configure boot loader after scanning 2018-01-31 10:04:34 -06:00
Christopher Haster 471d99c68f Added pretty bar printing for compile output
Looks like this:

    Building project mbed-os-prettyoutput (ARCH_PRO, GCC_ARM)
    Scan: .
    Scan: env
    Scan: mbed
    Scan: FEATURE_LWIP
    Text 70.5KB Data 2.72KB BSS 7.43KB                 ROM 73.2KB RAM 10.1KB
    ROM [|||||||                                             ]  73.2KB/512KB
    RAM [||||||||||||||||                                    ]   10.1KB/32KB
    Image: BUILD/ARCH_PRO/GCC_ARM/mbed-os-prettyoutput.bin

If you build a target without a cmsis-pack it looks like this:

    Building project mbed-os-prettyoutput (ARM_BEETLE_SOC, GCC_ARM)
    Scan: .
    Scan: env
    Scan: mbed
    Scan: FEATURE_BLE
    Text 99KB Data 2.84KB BSS 13KB ROM 102KB RAM 15.8KB
    Image: BUILD/ARM_BEETLE_SOC/GCC_ARM/mbed-os-prettyoutput.bin

And the old behaviour of displaying the memap table can be brought back
by passing the --stats-depth parameter
2018-01-25 11:46:23 -06:00
Martin Kojtal e07b3c7ac6 tools: cmsis and hal are build together
Build api used to build cmsis separately (how mbed 2 is being build). This is
currently not how cmsis is being defined. As there target dependencies in some
cases, we should include paths from targets when building cmsis
2018-01-02 11:48:56 +00:00
TomoYamanaka 8f42cf7ef5 Revert "Remove Cortex-A mbed OS 5 support"
I changed the python and json files to re-registering GR-PEACH to Mbed OS 5.
2017-12-21 14:09:24 +09:00
Jimmy Brisson e0ba3e857c Update Cortex-A build errors 2017-12-07 14:43:40 -06:00
Russ Butler abe431f48b Prevent traceback when memap fails to parse
If map file parsing fails then memap_instance is set to None. To
prevent a traceback when parsing fails check if this is None before
trying to access any of its fields.
2017-11-20 12:41:26 -06:00
Jimmy Brisson 6cecd09d07 Merge pull request #4961 from theotherjimmy/check-rtos-export
Check for mbed 5 support on export
2017-09-27 09:02:38 -05:00
Jimmy Brisson 8a9d79bcbd Add ARMC6 to supported matrix 2017-09-11 13:20:33 -05:00
Jimmy Brisson dc6398a385 Check for mbed 5 support on export 2017-08-23 08:31:07 -05:00
Marcelo Salazar 5469be4de0 Fix to generate memory_usage key in report 2017-08-06 14:03:09 +01:00
Marcelo Salazar 7053ef9412 memap enhancements with depth level configurable
Removed heap/stack from report
Add --stats-depth option to mbed compile
Fix minor issues identified in review
Fix bug when parsing armcc libs
Fix code style
Fix minor issues on existing tests
Fix memap for automated TESTS
Fix stats-depth parameter for tests
2017-08-06 10:30:04 +01:00
Jimmy Brisson c8e6cf5bdd Collect ignores from scan resources and use in exporetrs 2017-07-26 14:31:22 -05:00
lordguilly 5f22577da1 added the missing verbose=verbose to printout the command line correctly 2017-07-06 00:38:42 +01:00
Martin Kojtal 278634a1f6 tools: mbed sdk boot should be separate object file
This was probably deleted during the rebase, as mbed sdk boot needs to be
own object file due to using weak functions.
2017-06-08 17:19:58 -05:00
Jimmy Brisson 9277c6e564 Move profile processing into build_api 2017-06-02 12:05:01 +01:00
Jimmy Brisson cee0cbd900 Remove Cortex-A mbed OS 5 support 2017-06-01 13:16:09 -05:00
Jimmy Brisson d8caee9077 Disallow building of mbed OS 2 + rtos 2017-06-01 13:16:03 -05:00
Jimmy Brisson 07a6c07408 Revert "Disable Cortex-A in tooling to provide better error messages"
This reverts commit f5859b308b.
2017-05-31 13:06:30 -05:00
Jimmy Brisson f5859b308b Disable Cortex-A in tooling to provide better error messages
Disable Cortex-A in compile supported matrix
Disable Cortex-A in export supported matrix
2017-05-30 14:32:06 -05:00
Martin Kojtal 4b9b7188b8 tools: fix objects names that we need because of weak linkage
Fixing retarget and board object files, plus adding new one mbed_main.
2017-05-12 14:51:51 -05:00
Bartek Szatkowski 2ddf4b33cb CMSIS5: Remove ARM7 support and targets 2017-05-12 13:48:43 -05:00
Jimmy Brisson 7e03d8f1b4 Merge pull request #4110 from theotherjimmy/build-metadata
Add --build-data switch to mbed compile and test
2017-05-02 11:35:47 -05:00
Jimmy Brisson 2a84ddd6e4 Error when bootloader is specified but does not exist
The changes to build_api.py make the error happen when running things
like get_config.py
2017-04-20 11:23:42 -05:00
Jimmy Brisson c4c6e139b6 Add UUID to all builds 2017-04-20 11:03:15 -05:00
Jimmy Brisson 05dce1206e Change date key to UTC ISO 8601 format 2017-04-20 11:03:15 -05:00
Jimmy Brisson 6ef384b7fe Add type to build_data.json 2017-04-20 11:03:15 -05:00
Jimmy Brisson 808279911c Add --build-data flag to mbed test 2017-04-20 11:03:15 -05:00
Jimmy Brisson da9c10be48 Expand build reports in the tools 2017-04-20 11:03:15 -05:00
Jimmy Brisson 65adf446c5 Merge pull request #3993 from mbartling/supported-lists
Added list options for --supported command
2017-04-12 09:33:27 -05:00
Sam Grove e3edbabbcc Merge pull request #4107 from theotherjimmy/config-name-app
Allow configuration of artifact name in app config
2017-04-10 16:37:34 -05:00
Jimmy Brisson 6a646eb4b2 Allow configuration of artifact name in app config 2017-04-04 14:36:01 -05:00
Michael Bartling f142939937 Added ability to list targets and toolchains in a non matrix form.
This is super helpful for the tab completion generation script as we no
longer have to parse the matrix output.
2017-03-31 09:54:03 -05:00
Jimmy Brisson 8b3f08ed49 Elide adding regions to profile when empty 2017-03-29 15:49:16 -05:00
Jimmy Brisson a937ee00f2 Fix toolchain path names in Mbed 2 builds
I accidentally broke only uARM mbed 2 builds. Here is the story: When
scanning for resources, toolchains look for any `TOOLCHAIN_<classname>`
folders to include. These `<classname>`s mostly match the name passed in
on the command line with one exception: `uARM` on the command line maps
to `ARM_MICRO` the class. This would not be a problem except for the bug
that I introduced in a prior commit. The bug is that the mbed2 library
builds will use the name passed in on the command line to construct
`TOOLCHAIN_<cli-name>`. This will not match when scanning.

I fixed it by translating the `<cli-name>` into the `<classname>`.
2017-03-10 11:08:56 -06:00
Jimmy Brisson d20bcba89b Remove static analysis scan
An earlier patch in this series relies on the assumption that all
toolchain construction goes through `prepare_toolchain`. This is still
not the case. The only remaining user of the `mbedToolchain` object that
does not go through `prepare_toolchain` is the static analysis scanner.
It's basically dead-code at this point. I say we remove it. So this
patch removes it.
2017-03-06 18:29:46 -06:00
Jimmy Brisson 51aa3330dd Re-factor mbed2 lib builds to use prepare_toolchain
The prior patch in this series makes the assumption that any building
will go through `build_api.prepare_toolchain`. This was not a valid
assumption for the mbed2 build process. So, instead of maintaining 2
ways of using the toolchain classes, I elected to unify on
`prepare_toolchain`.
2017-03-06 18:23:16 -06:00
Jimmy Brisson fbb6f71be8 Ignore build directory from scan resources
This is a bug fix for the following bug (Github issue #437):

If two builds were run specifying a non-default build folder, the second
build would fail to link with duplicate symbols and may not fit on the
device. The root of this problem is that these non-default build folders
are not ignored by scan-resources, and therefore included in the build.

We fix this bug by ignoring the build directory passed into the tools.
2017-03-06 17:10:57 -06:00
Jimmy Brisson 9a63bfb1fb Enable boot-loader builds
To enable a boot-loader style application, override
"targets.bootloader_exec" or "targets.restrict_size" on a particular
target. These parameters are a bin or hex file, and an integer, in bytes,
respectively. If either override is present, then an application region
is created after the boot-loader region, when "targets.bootloader_exec"
is present, and before post-application, when "targets.restric_size" is
present. The size of the boot-loader region is read from the file
provided in the configuration.
2017-02-22 18:20:26 -06:00
Brian Daniels 088566b33e Correctly casting toolchain features to a set.
Before, the get_config function was checking the equality of a set and a
list. However the list's equality depends on order, so this change casts
it to set to prevent an infinite loop.
2016-11-10 15:20:30 -06:00
Brian Daniels 39086722e8 Removing dependency on StringIO, only change return type of table export 2016-10-11 18:38:52 -05:00
Brian Daniels 0e4b841cb3 Removing need for memap to printed through toolchains 2016-10-11 18:24:01 -05:00
Christopher Haster 2a58befd15 restructure - Fixed missing include paths in mbed 2 project builds 2016-10-05 11:06:27 -05:00