Seppo Takalo
0d6f760c16
Add minimal debug info to release and develop profiles.
...
This allows minimal debugging and allows tools like
mbed-os-linker-report to work properly.
Because debugging info is kept in .elf file and not flashed to device
there is no side effects to flash sizes.
2017-12-14 17:18:31 +02:00
Bartek Szatkowski
2ea01ac8a9
Enabled restrict keyword for IAR
2017-11-10 09:53:42 +00:00
Jimmy Brisson
8c54c4efa8
Display full paths in armlink output
2017-09-18 16:40:52 -05:00
Jimmy Brisson
bd7f320387
Emit dependency information with ARMC6
...
Which allows it to be parsed
2017-09-14 16:17:44 -05:00
Jimmy Brisson
23aafbfe6c
Optimize space usage on builds
...
by not creating gigantic exception nonsense
2017-09-11 14:45:21 -05:00
Jimmy Brisson
d72f6dbfe4
Disable MULADDC assembly
...
It's not supported in ARMC6
2017-09-11 13:20:33 -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
Niklas Hauser
8fb74f42d2
uVisor: Wrap _memalign_r and _calloc_r
2017-06-04 14:41:59 +01:00
Tony Wu
72589dfef3
tools - turn off page alignment of sections
...
By default, ld sets page alignment of sections to 0x8000, which bloats
up elf file size. This behavior is unnecessary for MCU.
Example:
1. page alignment on
mbed.elf file size 144936
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x008000 0x00000000 0x00000000 0x00400 0x00400 R 0x8000
LOAD 0x008400 0x00000400 0x00000400 0x00010 0x00010 R 0x8000
LOAD 0x008410 0x00000410 0x00000410 0x0ab3c 0x0ab3c RWE 0x8000
LOAD 0x018000 0x20000000 0x0000af4c 0x008d0 0x008d0 RW 0x8000
LOAD 0x01b81c 0x0000b81c 0x0000b81c 0x00000 0x00004 RW 0x8000
LOAD 0x020000 0x1fff0000 0x1fff0000 0x00000 0x00400 RW 0x8000
LOAD 0x0188d0 0x200008d0 0x200008d0 0x00000 0x08860 RW 0x8000
2. page alignment off
mbed.elf file size 91792
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000114 0x00000000 0x00000000 0x00400 0x00400 R 0x4
LOAD 0x000514 0x00000400 0x00000400 0x00010 0x00010 R 0x1
LOAD 0x000528 0x00000410 0x00000410 0x0ab3c 0x0ab3c RWE 0x8
LOAD 0x00b068 0x20000000 0x0000af4c 0x008d0 0x008d0 RW 0x8
LOAD 0x00b938 0x0000b81c 0x0000b81c 0x00000 0x00004 RW 0x1
LOAD 0x00b938 0x1fff0000 0x1fff0000 0x00000 0x00400 RW 0x1
LOAD 0x00b938 0x200008d0 0x200008d0 0x00000 0x08860 RW 0x8
Signed-off-by: Tony Wu <tonywu@realtek.com>
2017-03-29 05:48:30 +08:00
Bartek Szatkowski
40d3b22785
Build: Rework build profiles
...
Rename small.json to release.json, default.json to develop.json and make
it the default profile.
2017-02-07 11:41:16 +00:00