Commit Graph

11 Commits (ac8f5d1b8cc77c3a561a0c7fa5abbd227418536d)

Author SHA1 Message Date
Bogdan Marinescu 7d09bb7d3b Runtime dynamic memory tracing
This commit adds a dynamic memory tracer that calls a callback whenever
one of the basic memory allocation functions (malloc, realloc, calloc,
free) is called. The operation of the tracer is guarded by the
'MBED_MEM_TRACING_ENABLED` macro.

Infinite recursion during tracing is guarded by using atomic
increment/decrement primitives on the `trace_level` variable.

Thanks to @c1728p9 and @heky for their help and  suggestions.
2016-08-26 09:42:39 -05:00
Christopher Haster b12c27c5b4 Updated deprecation notices to match branch names
Example:

    MBED_DEPRECATED_SINCE("mbed-os-5.1", "don't foo any more, bar instead")
    void foo(int arg);
2016-08-16 20:30:20 -05:00
Christopher Haster 0f516aa8e0 Added more well-defined garuntees on deprecation notices in mbed
From the discussion on issue #2068:
Functions marked deprecated in the mbed library should notate when
the deprecation was started to allow efficient removal once a set
amount of time has expired.

Added the following macro:
MBED_DEPRECATED_SINCE("version", "message string")

Example usage:

    MBED_DEPRECATED_SINCE("v5.1", "don't foo any more, bar instead")
    void foo(int arg);

Adopted in existing deprecations:
- FunctionPointer
- RtosTimer
- Thread
2016-08-16 15:45:51 -05:00
Christopher Haster 0defc77fb7 Added warning about stack alignment limitations on IAR 2016-06-09 22:03:25 -05:00
Christopher Haster 5cdb151193 Changed MBED_PACKED to a macro
Supports both __packed and __attribute__((packed)) styles of attriubtes

MBED_PACKED(struct) foo {
    blablabla
};
2016-06-01 16:10:19 -05:00
geky a08d04c751 Fixed typo in FORCEINLINE definition on IAR
per @c1728p9
2016-06-01 15:27:26 -05:00
geky b7bcb931a8 Fix backwards compatibility for WEAK/PACKED attributes 2016-06-01 15:27:26 -05:00
Christopher Haster 4c7a4de673 Added MBED prefix to attributes 2016-06-01 15:27:26 -05:00
Christopher Haster 3f7fbe696d Added useful attributes supported by supported compilers
Merges compiler-polyfill into hal/api/toolchain.h following the existing
mbed conventions.

tested on:
- GCC
- Clang
- ARMCC (online compiler)
- IAR

attributes:
- PACK
- ALIGN
- UNUSED
- WEAK
- PURE
- FORCEINLINE
- NORETURN
- UNREACHABLE
- DEPRECATED
2016-06-01 15:27:26 -05:00
Russ Butler 48fd7d7480 Compatibility changes
Make changes to improve compatibility:
-Include toolchain.h inside mbed.h
-define EXTERN
2016-05-27 10:34:19 -05:00
Mihail Stoyanov d9734e5a32 Simplify layout:
* /libraries/mbed -> /hal
* /libraries/rtos -> /rtos
2016-05-23 09:13:59 +01:00