Commit Graph

74 Commits (7dba83671947081498c566c36d0921879f540d8b)

Author SHA1 Message Date
Cruz Monrreal 48c149b227
Merge pull request #7720 from jeromecoutant/PR_PRETTYTABLE
python scripts : table print with github policy
2018-09-06 22:29:30 -05:00
Brian Daniels b5a187ddb3 Fixing import paths of memap.py when excuted as a script 2018-08-20 09:03:29 -05:00
jeromecoutant a42c73df1b python scripts : table print with github policy 2018-08-07 15:14:27 +02:00
Jimmy Brisson fc97d77b0d Remove file before moving over it
Windows is dumb sometimes
2018-07-27 10:06:11 -05:00
Jimmy Brisson c2642a1c9a Add delta to subtotals 2018-07-24 14:09:55 -05:00
Jimmy Brisson 0e622ded63 Include removed modules in table calulation 2018-07-24 13:55:11 -05:00
Jimmy Brisson 814dbdbe3e Don't trackback on no prior build 2018-07-24 13:42:09 -05:00
Jimmy Brisson 3eea82209e Create a setting for comparing against a fixed build 2018-07-24 11:50:23 -05:00
Jimmy Brisson 7f2eee564c Impl differential memap 2018-07-24 11:40:43 -05:00
Jimmy Brisson e53537c267 Use defaultdict in the other place 2018-07-03 10:03:27 -05:00
Jimmy Brisson 982d2085ef Summarize memory map when --stats-depth is 0 2018-06-29 12:09:53 -05:00
Cruz Monrreal 80dde0b953
Merge pull request #7092 from cmonr/py3-in-windows
Additional fixes for running Python 3 in Windows
2018-06-04 21:45:55 -05:00
Cruz Monrreal II 2abae9e1d1 Modified memap path separator parsing to support Py3.
Had to remove part of test that was incompatible with Py3 on Windows.
2018-06-04 09:21:43 -05:00
Cruz Monrreal II 8b5a7600c4 Encapsulated Windows file separator for proper regex parsing 2018-06-04 09:21:42 -05:00
Jimmy Brisson 1bfc80930f Refactor to remove setdefault calls 2018-04-16 17:28:43 -05:00
Jimmy Brisson 18cf1431bd Move to combined ROM/RAM graphs 2018-04-16 11:40:40 -05:00
Jimmy Brisson 2e40181942 Remove old skip sections without text check 2018-04-16 10:15:18 -05:00
Jimmy Brisson bfceb1050d Implement zoomable html-flamegraph memap output 2018-04-09 16:33:32 -05:00
Christopher Haster 011e018f52 Revert "Added pretty bar printing for compile output"
This reverts commit 471d99c68f.
2018-02-22 22:07:22 -06:00
Jimmy Brisson c93a2bfa4c Python2+3: Use absolute import where possible 2018-02-05 11:07:37 -06:00
Jimmy Brisson 4322bee175 Python2+3: tests passing 2018-02-05 11:04:36 -06:00
Jimmy Brisson 45bdd98a85 Python2+3: tests import correctly 2018-02-05 11:04:36 -06:00
Jimmy Brisson 10a91216f5 Python2+3: The rest of mbed compile 2018-02-05 11:04:01 -06:00
Jimmy Brisson 68737f2762 Python2+3: Things import 2018-02-05 11:03:44 -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
Jimmy Brisson 6a8be65904 Use non-scoped imports in memap 2018-01-02 14:19:00 -06:00
Jimmy Brisson 0c08fabbae Correct Gcc builtin module naming 2018-01-02 13:37:25 -06:00
Jimmy Brisson 527c0a2554 Rework parsing dispatch
Parsing dispatch now uses a metaclass as a Trait and a series of classes
that implement the trait for dispatching parsing. This structure gives
each parser it's own namespace, avoiding tacking on suffixes to each
attribute indicating which parser uses it.
2018-01-02 13:11:38 -06:00
Jimmy Brisson fc9bd60d4c Format memap 2018-01-02 10:43:10 -06:00
Jimmy Brisson 003913b22f Use os.sep and os.join instead of string ops 2018-01-02 10:31:00 -06:00
Jimmy Brisson 23c7af799f Handle multiple args per line in IAR cmd parser 2018-01-02 10:29:53 -06:00
Deepika 6804361d76 Build failed as code section was not included in map.
Fix by Jimmy
2017-12-20 09:49:43 -06:00
Jimmy Brisson 0524ba40bd Remove debug print from memap IAR impl 2017-10-03 13:46:30 -05:00
Jimmy Brisson 727256a05d Remove prefix stuff from GCC memap parser
It's just not used anymore
2017-09-20 11:00:02 -05:00
Jimmy Brisson 3d5bea337f Test the module_add function 2017-09-20 10:49:12 -05:00
Jimmy Brisson fdd4ae3056 Parse full paths from ARM map file
Now we don't have to scan!

This is a 20% speed improvement
2017-09-18 17:18:01 -05:00
Jimmy Brisson 6d135c26b3 Remove warnings for Zero sized sections
We just don't care if we don't know where they go
2017-09-18 15:45:05 -05:00
Jimmy Brisson 0d2a0a0c1d Parse filenames from IAR map file
Instead of scanning.

Is a 8ms/15% speedup.
2017-09-18 15:45:03 -05:00
Jimmy Brisson 2114ccd5a1 Refactor memap for speed 2017-09-18 15:24:18 -05:00
Jimmy Brisson 7eccec425f Parse libraries with memap-arm 2017-09-14 09:50:47 -05:00
Jimmy Brisson 98b4768434 Initial toolchain class for ARMC6
While ARMC6 does use the same linker (armlink) as ARM Compiler 5, it
is not compatible.

The reason for this incompatibility are twofold:
 * armlink may invoke the C preprocessor by adding a shebang
   (`#!`) to the top of their input files.
 * ARMC6 and ARMC5 differ in how you invoke the preprocessor:
   * ARMC5: `#! armcc -E`
   * ARMC6: `#! armclang -E`

This forces the tools to rewrite the shebang if it's wrong.

This does not yet handle dependencies properly
2017-09-11 13:17:54 -05: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
Sam Grove 69de788f94 Merge pull request #3712 from JojoS62/enable-GCC_CR-in-memmap
add GCC_CR as toolchain for memmap
2017-02-17 09:11:22 -06:00
JojoS 649d8a1d15 add GCC_CR as toolchain for memmap 2017-02-07 15:05:32 +01:00
javier-moreno-tridonic-com 8ff17b9235 Update memap.py 2017-01-23 17:02:15 +01:00
Sam Grove 2fe28f0da1 [tools] update comments in memmap about build folder name 2016-11-18 00:22:58 -06:00
Sam Grove 6bd44c59d3 Merge pull request #2990 from bridadan/parallel-test-build
[tools] Parallel building of tests
2016-10-19 05:41:24 -05:00
Russ Butler 7a50832550 Revert "Allow max-depth specification in memap"
This reverts commit 8f9f4eefed since
it broke memory map info for IAR, ARMCC and on windows, GCC_ARM.
2016-10-12 14:49:32 -05: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 655c37715c Handling output of parallelized test building.
This makes use of the reports generated by the building of tests to
prevent output from interleaving when the build is parallelized. This
required some changes to memap to return a generated string from
the 'generate_output' function. I also had an option to stop the prints
from memap to prevent text from interleaving
2016-10-11 15:34:20 -05:00