Commit Graph

30 Commits (15e246fc9f5346b255132df5950df81317acddbb)

Author SHA1 Message Date
Bogdan Marinescu 697acd34c0 Added command line hooking option
compiler, linker, assembler and binary command lines can now be modified
using the hooks mechanism. Also, '--any_placement=first_fit' linker option
is now used only on LPC4088 using this mechanism, in order to preserve
compatibility with the other targets.
2013-12-05 13:48:42 +02:00
0xc0170 ba7b4c300a Cortex-M4 split to M4 and M4F
- all current supported M4 cores will be M4F
2013-11-27 21:02:37 +01:00
Bogdan Marinescu 72a9529287 Added on-line defined macros to the build system
Added 3 macros defined by the on-line build system to the off-line build
system: MBED_BUILD_TIMESTAMP, MBED_USERNAME and __MBED__.
2013-11-27 16:24:42 +02:00
hototogi 03b79b5920 support GCC_ARM for LPC4330_M4
- Linker script is based on LPC1768
     number of NVIC is 16 (CORE) + 53 (M4 in LPC43xx) = 69,
    therefor, reserve at the top of RAM0 (address:0x10000000)
    to relocate NVIC vector table
 - startup file is based on startup_ARMCM4.S in CMSIS V3.20
     change NVIC name for cortex-M4 of LPC43xx
 - add GCC_ARM for LPC4330_M4 in python scripts
 - add some descriptions for GCC_ARM
2013-11-20 17:03:59 +09:00
Mihail Stoyanov b43e947c3b Added support to export mbed special .bld and .lib files
Added support to export repositories for seamless offline setup
2013-11-14 18:45:14 +02:00
Bogdan Marinescu e69956aba2 Updated DSP library + build system changes
Updated CMSIS DSP to latest version (CMSIS-SP-00300-r3p2-00rel1.zip)
Build system changes to be able to preprocess assembler sources before compiling them:

- GCC: use gcc '-x assembler-with-cpp'
- ARM: preprocess first, then assemble (two separate commands)
- IAR: added macro definitions and include directories to the assembler command line

Removed CORTEX_ARM_SUPPORT restriction for the DSP libraries.
Tested: LPC1768 with ARM, GCC_ARM and IAR, LPC11U24 with ARM.
2013-11-08 15:38:23 +02:00
Bogdan Marinescu 1a1dafe44c Added configuration mechanism
If the build system finds a file named mbed_config.h, it will automatically
define a HAVE_MBED_CONFIG_H macro. Various libraries/components can use
this mechanism to provide compile-time configuration for user projects.
2013-11-07 13:48:34 +02:00
Andreas Rebert 83d4facb0e Added support for GCC_ARM 2013-10-31 13:25:58 +01:00
Bogdan Marinescu 1bb844c842 Added macro definition from command line
build_api.py now support macros defined at compile time, so build.py and
make.py can be used like this:

$ make.py/build.py <options> -DMACRO1 -DMACRO2=VALUE2 ...
2013-10-21 11:11:06 +03:00
Bogdan Marinescu 62f1ac097d Integrated support for Red Lizzard's "goanna" static analysis tool
Initial support (activate with "-o analyze"). Not working well with IAR
for now (partially because of a bug in goannac++ which was reported to
Red Lizzard).
2013-10-14 17:32:41 +03:00
Bogdan Marinescu f813bb9382 Fix GCC interpretation of dependency file
The dependency file generated by GCC might contain more than one
dependency listed on a single line, which wasn't taken into account by the
GCC dependency fille interpreter. This commit fixes this issue.
2013-09-05 15:29:13 +03:00
dinau 2b57e648a4 Fixed: [GCC_ARM : LPC1768] Issue ignored the linker option for _print_float and _scanf_float. 2013-08-31 11:34:53 +09:00
Bogdan Marinescu e870a90ff2 Added toolchain hooks and support for LPC4088_EA binary generation
A new hooks mechanism (hooks.py) allows various targets to customize
part(s) of the build process. This was implemented to allow generation of
custom binary images for the EA LPC4088 target, but it should be generic
enough to allow other such customizations in the future. For now, only the
'binary' step is hooked in toolchains/arm.py.
2013-08-30 12:19:08 +03:00
Adam Green 25a332d8f1 Updates to GCC warning level flags
In gcc4mbed, I have been running with "-Wall -Wextra" and then
disabling a couple of noisy warnings that result.  In particular, I
disable the unused-parameter and missing-field-initializers warnings.
The first commonly goes off for implementation of virtual methods or
other overridable functions where not all parameters are required for
every override.  I don't find the second warning to be all that useful
anyway since missing structure field initializers will be set to 0
according to the C language specification.  The RTOS code uses this
language feature and I see no reason that it shouldn't :)
2013-08-22 18:09:14 -07:00
Bogdan Marinescu a7628510f5 Added '-fno-delete-null-pointer-checks' to GCC compilation options
From Adam Green, regarding using -fno-delete-null-pointer-checks:

"I would argue that on Cortex-M processors, it is more dangerous to not
have it.  The compiler can actually generate incorrect code because it is
making an incorrect assumption (that reads from a NULL pointer will throw
an exception.)   The GCC for ARM developers should actually never enable
the delete-null-pointer-checks optimization for Cortex-M processors.
There is a comment in the GCC manual that indicates, "Some targets,
especially embedded ones, disable this option [delete-null-pointer-checks]
at all levels."  Not having this flag is pretty risky on the current
versions of GCC_ARM.  Just to clarify, this flag doesn't enable an
optimization...it disables an unsafe optimization."
2013-08-16 12:26:50 +03:00
Bogdan Marinescu 44c43e6e38 Restore C++98 compilation mode
Also, remove the line that required C++11 from UDPSocket.h
2013-08-15 14:09:20 +03:00
pbrier c0fdbede02 Compile network and RTOS with GCC_ARM 2013-08-14 22:34:33 +02:00
Bogdan Marinescu 7b9081b59c Add support for calling a function before main()
Also added a test for this feature (MBED_A22).
Fixes PRMBED-906.
2013-08-07 14:51:30 +03:00
Emilio Monti 3c6e2ab67a Add license to workspace_tools files 2013-08-06 14:38:00 +01:00
Emilio Monti 003c48cd44 Use new build convention for objects path 2013-07-25 17:49:55 +01:00
Emilio Monti 76578ade26 Propagate "clean" option for library builds
Keep the server program cycle target dependent
Keep program compilation and linking separate
Compile separately sources from different directory roots
2013-07-24 17:29:11 +01:00
Emilio Monti dafcf7f82e Add support for legacy build conventions
Improve exporter test
Build the hal implementation and common sources separately to have proper
temporary relative paths
2013-07-23 17:22:57 +01:00
Emilio Monti 5020b9ad3b Stop using the patched microlib 2013-07-08 17:31:04 +01:00
Emilio Monti 6625a4b61c remove temporary files 2013-07-04 17:34:13 +01:00
0xc0170 43ace93009 removed KL05Z hw tests + mv KL05Z to TARGET_Freescale 2013-07-04 17:57:52 +02:00
Joe Turner bd7554f6aa Add debug-info option 2013-07-03 13:20:08 +01:00
Emilio Monti df9e56f638 Fix option append 2013-07-02 17:04:40 +01:00
Emilio Monti cd669a943f Add build options
Implement "save-asm" option
2013-07-02 16:43:29 +01:00
Emilio Monti 1c98308182 Update default CodeWarrior paths 2013-06-25 10:23:28 +01:00
Emilio Monti 984ba4b113 Refactor the build system:
* add sets of TARGET and TOOLCHAIN "labels"
2013-06-24 14:32:08 +01:00