Commit Graph

21 Commits (db965c16527add8ad6cf9ae14022d67f0b6a33d2)

Author SHA1 Message Date
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
Russ Butler 737c5a9cea Trap on errors when building with debug profile
Define MBED_TRAP_ERRORS_ENABLED to 1 for the debug profile so errors
are obvious when building as debug.
2017-06-02 23:50:40 -05:00
Bartek Szatkowski cc71f3f5d4 Introduce MBED_DEBUG macro for debug build profile 2017-04-10 11:40:04 +01:00
Seppe Stas 886713d290 Removed superfluous space
The extra space between "--no_wrap_diagnostics" and "-e" is inconsistent with the development and release targets.

It bugs people (like me) that have little OCD tics 😉.
2017-03-30 10:19:36 +02: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
Christopher Haster 83e5f272f6 Added '-g3' flag to gcc debug flags
Includes extra information, such as all the macro definitions present
in the program
2016-11-18 14:45:59 -06:00
Russ Butler 23af2421f3 Remove non-code profiles
Remove profiles which are not suitable for building stand alone. This
leaves just the 3 core profiles.
2016-10-18 09:23:10 -05:00
Russ Butler 0d51f18f02 New build profile and docs
Add a small build profile and general docs for build profiles.
2016-10-18 09:23:01 -05:00
Michel Jaouen 144e97bf63 [IAR build] fix debug build
with option  --profile ./tools/profiles/debug.json
2016-10-06 16:16:14 +02:00
Bartek Szatkowski ea569e8342 Fix json syntax in debug.json profile file 2016-10-03 14:08:29 +01:00
Brian Daniels 64d09e1879 Adding uARM support default build profiles 2016-09-30 17:24:11 -05:00
Jimmy Brisson d88852d150 Replace -o with profiles 2016-09-29 10:20:05 -05:00
Jimmy Brisson df32effd8a Add profiles for default, nanolib, and debug 2016-09-29 10:20:03 -05:00