Commit Graph

1003 Commits (c18e1786cd914a7494168ac107a77ac7b46ef2be)

Author SHA1 Message Date
Sam Grove da14bce7a2 Merge pull request #2518 from fvincenzo/master
Enable uvisor on Beetle
2016-09-15 14:01:07 -05:00
Vincent Coubard 903afa33c4 Allow the trace output by mbed error to be conditional of NDEBUG.
This change avoid inclusion of printf and friends code in a binary when it
is compiled with the macro NDEBUG enabled (this macro is usually enabled
for production builds).

Unlike assert, the error function will still crash/halt the execution of the
application even if NDEBUG is enabled; the traces are just not outputed.
2016-09-15 14:20:37 +01:00
Steven Cooreman 964aeec0c0 [EFM32] Add all platforms (except Zero) to mbed 5 build 2016-09-15 09:52:23 +02:00
Głąbek, Andrzej c9c946f3b4 Made the constant array in serial_baud() static. 2016-09-14 21:52:24 +02:00
Steven Cooreman 9c5ce840b9 [EFM32] Add IAR support for remaining Silicon Labs targets
Added startup files and IAR memory map files for the remaining Silicon Labs targets as part of the mbed enabled criteria.
2016-09-14 17:06:21 +02:00
jeromecoutant 0b25fd5863 DISCO_L476VG: add SPI nicknames 2016-09-14 15:02:15 +02:00
Głąbek, Andrzej b2de59d8ed Changed 'serial_baud' implementation to make it possible to use baud rates like 56000 or 31250. 2016-09-14 14:44:33 +02:00
Simon Hughes 655a37ad6a Remove storage_abstraction directory from include pathname which is not supported in mbed sdk builds 2016-09-14 13:18:10 +01:00
Martin Kojtal 21a2123aad Merge pull request #2669 from andreaslarssonublox/updated_master
Target - Add u-blox C029 target
2016-09-14 10:35:22 +01:00
Martin Kojtal e014b0f502 Merge pull request #2522 from svastm/cthunk_cm7
Add CThunk for CM7
2016-09-14 08:19:08 +01:00
TsungtaWu b032587ddb make "macros_add" as a single line
make "macros_add" as a single line
2016-09-14 14:01:57 +08:00
Russ Butler bb0ba95259 Add device_has to all nrf51 devices
Move common device_has attributes into MCU_NRF51 and
MCU_NRF51_UNIFIED. This ensures all nrf51 devices have the correct
features enabled. Any devices that want to explicitly disable features
should use device_has_remove.
2016-09-13 16:55:37 -05:00
Simon Hughes 5e22db842f This commit includes the following CFSTORE/Flash-Journal/Storage updates and fixes:
- flash-journal basicAPI fix for ARM toolchain
- Updated storage-abstraction with version 0.4.7
  (commit c7c4a8c52298bbc006a6f53a059fb2599cad73cc).
- https://github.com/ARMmbed/storage-volume-manager at version v0.2.10.
- https://github.com/ARMmbed/mtd-k64f v0.4.2 version of flash.c (imported as storage_driver.c).
- update to CFSTORE to use the storage-volume-manager API to initialize volume manager and
  add a volume for CFSTORE to use.
- https://github.com/ARMmbed/flash-journal at version v0.5.3
  (commit 4c58165e2fa02c6ed2b9d166a9c96967e81f458f) including readFrom() support.
- Taking flash-journal-strategy-sequential v0.6.7 strategy.c
  (commit b11a718761aa9f33679956968a21aaef9179bde1).
- GCC_ARM, ARM and IAR compiler warning fixes for new versions of flash-journal code.
- Fix storage-volume-manager test cases for concurrent access from 2 volumes to use
  addresses within the 512-1024kB address range, which is within the cfstore added volume.
- Fix cfstore/storage-volume-manager IAR warnings when building with verbose flag.
2016-09-13 18:16:56 +01:00
svastm af0f7e3376 Change cthunk implementation + cm7 support
- Add support of cortex-M7 for cthunk.
- Change the cthunk trampoline implementation to safer and quicker
solutions:
 * thumb2, the behaviour was undefined. new implementation use now 2
instructions
 * thumb, The new implementation use 3 instructions instead of 6.
2016-09-13 15:45:58 +02:00
Andrzej Puzdrowski e67117b8ea introduce the SDK nRF5 Peer manager into BLE security features
PM will be used for SoftDevices s13x, otherwise DM will be used.

Fix - security key distribution settings - Signing is not supported.

declare usage of encryption LTK and IRK if boonding enabled

deleted unused local reference to nRF5xGap class in bleGattcEventHandler.
fix PM internal bug (For gcc with -0s optimization an application fail to save a boonding data)
fuse redeclaration of PACKED macro in nRF5 SDK sources
2016-09-13 14:16:55 +02:00
Andrzej Puzdrowski 55fbdd1389 Add .fs_data symbol in data section for gcc.
It is neede for folowing nRF5 SDk component:
fstorage, fds, Peer manager.
2016-09-13 14:01:30 +02:00
bcostm fa2ae70a77 STM32F0xx - Fix problem with channel 18 not present on all F0 devices 2016-09-13 09:24:34 +02:00
bcostm bf42846e81 STM32F0xx - Add support of ADC internal channels 2016-09-13 09:24:34 +02:00
Brian Daniels a929bbb161 Fixing NCS36510 compile on Linux
There was a case sensitivity issue when compiling the NCS36510 on Linux.
This commit changes the include directive to the proper case.
2016-09-12 23:10:13 -05:00
Marcos Gomes d312fe376a Updated with code style guidelines 2016-09-12 17:30:18 +01:00
andreas.larsson dba6278dfe Aligned with STM32F429 2016-09-12 16:09:09 +02:00
svastm 64cfee51b1 [STM32L0] Enable asynchronous serial 2016-09-12 16:04:59 +02:00
svastm 2613bc7a70 [STM32L0] Add asynchronous serial 2016-09-12 16:04:59 +02:00
andreas.larsson c3022ff456 Fixed wrong RAM start and added NVIC start. 2016-09-12 15:55:38 +02:00
andreas.larsson ca99c3325f Fixed wrong flash size. Fixed duplicate RW_IRAM1 region. 2016-09-12 15:54:19 +02:00
bcostm aa9d0dbe06 NUCLEO_F429ZI - Add SERIAL_FC macro 2016-09-12 14:18:55 +02:00
bcostm c062626c8e STM32L1xx - Fix build error 2016-09-12 13:46:39 +02:00
andreas.larsson 173486fac0 Added u-blox C029 target 2016-09-12 13:41:38 +02:00
bcostm b55ab0c81c NUCLEO_L152RE - Add SERIAL_FC macro 2016-09-12 13:37:22 +02:00
bcostm 020f4bceff STM32L1xx - Add Serial Flow Control pins 2016-09-12 13:37:22 +02:00
bcostm 2c97fea1e4 STM32F3xx - Fix build errors 2016-09-12 13:02:20 +02:00
Vincenzo Frascino 788ebf7fb5 [BEETLE] Disable fcache stats if uvisor is defined
This patch disables the fcache stats into mbed_sdk_init if uvisor is
defined in order to prevent MEMMANAGEMENT faults during boot.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-09-12 10:54:31 +01:00
Vincenzo Frascino b4d1cfe17f [BEETLE] Add CMSIS 5 virtual NVIC compliancy
This patch adds CMSIS 5 virtual NVIC compliancy in order to support
uvisor.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-09-12 10:54:29 +01:00
Vincenzo Frascino 309fd8966c [MBED-OS] Backport virtual NVIC mechanism from CMSIS 5 on CM3
This patch backports the virtual NVIC mechanish from CMSIS 5 for the
Cortex M3 architecture in order to support uvisor in this MCU class.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-09-12 10:54:06 +01:00
bcostm 5b0fb65c0b STM32F3xx - Enable SERIAL_FC in targets.json 2016-09-12 11:42:48 +02:00
bcostm 1a501c3bb8 STM32F3xx - Add Serial RTS/CTS pins 2016-09-12 11:30:57 +02:00
svastm 33f5b8ef64 STM32F7 - Enable asynchronous serial 2016-09-12 10:44:27 +02:00
svastm f2a01a7bfc STM32F7 - Add asynchronous serial 2016-09-12 10:43:57 +02:00
Steven Cooreman c4c1ba28f4 [EFM32] Microsecond ticker optimization
Cleaned up the EFM32 us_ticker implementation since it was taking way too long to execute, leading to very unpredictable results. Relevant forum thread: https://developer.mbed.org/forum/platform-66-EFM32-Zero-Gecko-community/topic/26198/
2016-09-12 10:13:44 +02:00
Sam Grove b2ce50a8d3 Merge pull request #2596 from neilt6/neilt6-memory-tracer-patch
[HAL] Improve memory tracer
2016-09-10 11:42:04 -05:00
Sam Grove fe8bd7df2e Merge pull request #2597 from neilt6/neilt6-critical-patch
[HAL] Fixed "intrinsic is deprecated" warnings
2016-09-10 11:35:51 -05:00
Sam Grove 8d5424347e Merge pull request #2615 from bcc6/master
[MTM_MTCONNECT04S] Added support for MTM_MTCONNECT04S
2016-09-10 11:34:44 -05:00
Sam Grove f6d7ee8d20 Merge pull request #2617 from bcostm/serialfc_F2
STM32F2xx - Enable Serial Flow Control
2016-09-10 11:22:56 -05:00
Sam Grove 9ac62947d8 Merge pull request #2623 from bcostm/serialfc_L4
DISCO_L476VG - Add Serial Flow Control pins + add SERIAL_FC macro
2016-09-10 11:14:09 -05:00
Sam Grove 18ef4280bc Merge pull request #2645 from bcostm/mbed5_nucleo-f446ze
NUCLEO_F446ZE - Enable mbed5 release version
2016-09-10 07:22:45 -05:00
Sam Grove f1dd45954a Merge pull request #2654 from TsungtaWu/master
DELTA_DFBM_NQ620 platform porting
2016-09-10 07:21:02 -05:00
Sam Grove 3cbfbbf3fd Merge pull request #2657 from jeremybrodt/serial_mod
[MAX326xx] Removed echoing of characters and carriage return.
2016-09-10 07:18:18 -05:00
Sam Grove c1ee7fb494 Merge pull request #2504 from ohagendorf/disco_f769_ii
[Disco_F769NI] adding new target
2016-09-10 07:16:21 -05:00
Sam Grove 7198385e43 Merge pull request #2514 from NXPmicro/Updated_Drivers
Updated FlexCan and SAI SDK drivers
2016-09-10 07:14:57 -05:00
Sam Grove c518a61be6 Merge pull request #2582 from toyowata/master
[GCC_CR] fix runtime hang for baremetal build
2016-09-10 07:10:08 -05:00
Sam Grove e39932c4b6 Merge pull request #2584 from c1728p9/array_size_count
Set size of callback irq array to IrqCnt
2016-09-10 07:08:07 -05:00
Sam Grove ae35faec24 Merge pull request #2601 from radhika-raghavendran/master
Adding ON Semiconductor copyright notice to source and header files.
2016-09-09 18:00:53 -05:00
Sam Grove 9514f1ddc9 Merge pull request #2587 from maclobdell/master
add PTEx pins as option for SPI on Hexiwear - for SD Card Interface
2016-09-09 18:00:39 -05:00
Sam Grove 0128dd2d8f Merge pull request #2562 from c1728p9/init_race_condition
Fix GCC lazy init race condition and add test
2016-09-09 17:59:37 -05:00
Sam Grove 3bb149cab2 Merge pull request #2549 from geky/thread-clarification
Clean up confusion with deprecated constructors and callbacks in thread-spawning functions
2016-09-09 17:58:13 -05:00
Sam Grove b1aebbace7 Merge pull request #2538 from bcostm/adcintch_stm32f4
STM32F4xx - Add support of ADC internal channels (Temp, VRef, VBat)
2016-09-09 17:57:58 -05:00
Sam Grove 6c0ac2148b Merge pull request #2521 from jeromecoutant/PR_F207ZG
[NUCLEO_F207ZG] Add MBED5 capability
2016-09-09 17:57:42 -05:00
Sam Grove 3de19eecc8 Merge pull request #2419 from svastm/serial_asynch_f1
[STM32F1] Add asynchronous serial
2016-09-09 17:56:11 -05:00
Sam Grove 44edcf5f78 Merge pull request #2130 from LMESTM/dev_stm32_device_h
stm32 : reduce number of device.h files
2016-09-09 17:55:52 -05:00
Jeremy Brodt 6689db1ba5 [MAX326xx] Removed echoing of characters and carriage return. 2016-09-09 11:19:34 -05:00
ohagendorf d0e2f1efa6 disco_f769 some rework ... (part II)
as suggested by adustm
2016-09-09 14:21:55 +02:00
ohagendorf 05fc5f15a0 disco_f769 some rework ...
as suggested by adustm
2016-09-09 14:18:16 +02:00
ohagendorf 994cece4dd [disco_f769ni] adding target 2016-09-09 14:18:16 +02:00
TsungtaWu a7248c3ad8 DELTA_DFBM_NQ620 platform porting
DELTA_DFBM_NQ620 inherit to MCU_NRF52
HW config is the same with NRF52_DK
Only change on serial pin config in PinNames.h
2016-09-09 17:45:08 +08:00
Sam Grove 57ebf8bdad Merge pull request #2548 from jamike/NUCLEO_F303ZE
Nucleof303ze
2016-09-09 01:48:13 +02:00
Sam Grove a6b27319ec Merge pull request #2496 from geky/callback-cv
Add cv-qualifiers to Callback and deprecate combinatorial explody functions
2016-09-09 01:45:25 +02:00
bcostm d5e49ead3e NUCLEO_F446ZE - Enable mbed5 release version 2016-09-08 10:34:33 +02:00
maclobdell fb1fadd4d0 add PTEx pins as option for SPI - for SD card on Hexiwear. Amend to re-trigger CI. 2016-09-07 14:27:27 -05:00
Vincenzo Frascino 7137cad0f9 [BEETLE] Enable uvisor
This patch modifies:
* the Beetle GCC ARM linker script
* the Beetle startup code
in order to define the memory regions that enable uvisor.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-09-05 14:45:20 +01:00
bcostm 83f669f1e7 DISCO_L476VG - Add Serial Flow Control pins + add SERIAL_FC macro 2016-09-05 13:38:47 +02:00
bcostm 91bb45bf22 STM32F2xx - Enable Serial Flow Control 2016-09-05 11:37:16 +02:00
Michel Jaouen 9d3e34e387 [NUCLEO_F303RE] fix build error 2016-09-05 09:14:49 +02:00
Michel Jaouen c8d08bd952 [NUCLEO_F303ZE] test / export scripts update 2016-09-05 09:14:09 +02:00
Michel Jaouen e94cba383c [NUCLEO_F303ZE]Add Hal Target 2016-09-05 09:09:40 +02:00
Michel Jaouen afd50701ce [NUCLEO_F303ZE] Add CMSIS target 2016-09-05 09:09:37 +02:00
OzzySan 85d7ff2e17 [MTM_MTCONNECT04S] Added support for MTM_MTCONNECT04S 2016-09-05 10:53:39 +08:00
bcostm aa23b649c5 STM32F4xx - Align STM_PIN_DATA macro on ARCH_MAX too 2016-09-02 15:26:22 +02:00
bcostm ee624a2e80 STM32F4xx - Align STM_PIN_DATA and STM_PIN_DATA_EXT macros 2016-09-02 15:26:22 +02:00
bcostm e294ce7563 STM32F4xx - Add ADC_TEMP/VREF/VBAT pins 2016-09-02 15:26:22 +02:00
bcostm 2f1fc9b0f4 STM32F4xx - Add one more bit for channels field, declare ADC internal channels 2016-09-02 15:26:22 +02:00
bcostm 80f1d976ee STM32F4xx - Add support of ADC channels 16, 17, 18 2016-09-02 15:26:22 +02:00
Martin Kojtal 2df22277a5 alloc wrappers - fix calloc wrapping for uvisor
Done already in 7c0cc50, same applied to alloc wrappers that was moved
from retarget.
2016-09-02 11:07:19 +01:00
Martin Kojtal fd9d89aad0 retarget - fix uvisor header inclusion 2016-09-02 11:03:21 +01:00
Radhika bc4ead59cd Adding ON Semiconductor copyright notice. 2016-09-01 16:55:41 +05:30
Neil Thiessen 9eafc810f3 Fixed compiler warning suppression
"#3731-D: intrinsic is deprecated" compiler warnings should only be suppressed on the ARM toolchain.
2016-08-31 13:30:45 -06:00
Neil Thiessen 284e9f8d3b [HAL] Fixed "intrinsic is deprecated" warnings
Suppressed "#3731-D: intrinsic is deprecated" compiler warnings in critical API.
2016-08-31 12:10:01 -06:00
Neil Thiessen 6aab0606a1 [HAL] Improve memory tracer
Fixed a bug and compiler warning in the memory tracer implementation.
2016-08-31 11:46:42 -06:00
Russ Butler ef45ef8dae Fix GCC locks for lazy object initailization
Implement the functions __cxa_guard_acquire, __cxa_guard_release and
__cxa_guard_abort so lazily initialized function-local static objects
are done so in a thread safe manner in GCC.
2016-08-30 11:23:12 -05:00
Marcos Gomes bc2dc5e60e Added support for ADC only pins in LPC43xx 2016-08-30 16:55:16 +01:00
Russ Butler 1ef06f5eb0 Set size of callback irq array to IrqCnt
Rather than hard coding the size of the callback array for irqs,
instead set the size to IrqCnt which is defined by the irq enumeration.
2016-08-30 10:33:44 -05:00
Laurent MEUNIER 498de9c88c [STM32] Move RTC_LSI to macros instead of device_has
device_has is a control list for generic apis, while macros can be used
more freely. DEVICE_RTC_LSI being STM32 specific, it is moved to macros.
2016-08-30 15:09:14 +02:00
Laurent MEUNIER 62841f31d5 [STM32L4] Make device.h a common file 2016-08-30 15:00:22 +02:00
Laurent MEUNIER 6c36a211dc [STM32L1] Make device.h a common file 2016-08-30 15:00:22 +02:00
Laurent MEUNIER 4f7a654896 [STM32L0] Make device.h a common file 2016-08-30 15:00:22 +02:00
Laurent MEUNIER 5d25183212 [STM32F7] Make device.h a common file 2016-08-30 15:00:22 +02:00
Laurent MEUNIER de74ef152c [STM32F4] Make device.h a common file 2016-08-30 15:00:22 +02:00
Laurent MEUNIER a5eaf1540b [STM32F3] Make device.h a common file 2016-08-30 15:00:22 +02:00
Laurent MEUNIER 0ac02a5e4b [STM32F1] Make device.h a common file 2016-08-30 15:00:22 +02:00
Laurent MEUNIER dca48d7ab0 [STM32F0] Make device.h a common file 2016-08-30 15:00:22 +02:00
Laurent MEUNIER d889a609e9 [STM32] clean-up DEVICE features
Device features definition have been moved to targets.json,
so definitions in device.h are not required anymore.
2016-08-30 15:00:22 +02:00
Toyomasa Watarai 270780c025 Use pre_main symbol instead of software_init_hook 2016-08-30 16:37:01 +09:00
Tony Wu 5364e8148c LPC11U6X - Fix multiple definition of operator new/delete
Fix the following linker errors:

ToolException: ./.build/LPC11U68/GCC_ARM/mbed-os/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.o: In function `operator new(unsigned int)':
startup_LPC11U68.cpp:(.text._Znwj+0x0): multiple definition of `operator new(unsigned int)'
./.build/LPC11U68/GCC_ARM/mbed-os/hal/common/retarget.o:retarget.cpp:(.text._Znwj+0x0): first defined here
./.build/LPC11U68/GCC_ARM/mbed-os/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.o: In function `operator new[](unsigned int)':
startup_LPC11U68.cpp:(.text._Znaj+0x0): multiple definition of `operator new[](unsigned int)'
./.build/LPC11U68/GCC_ARM/mbed-os/hal/common/retarget.o:retarget.cpp:(.text._Znaj+0x0): first defined here
./.build/LPC11U68/GCC_ARM/mbed-os/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.o: In function `operator delete(void*)':
startup_LPC11U68.cpp:(.text._ZdlPv+0x0): multiple definition of `operator delete(void*)'
./.build/LPC11U68/GCC_ARM/mbed-os/hal/common/retarget.o:retarget.cpp:(.text._ZdlPv+0x0): first defined here
./.build/LPC11U68/GCC_ARM/mbed-os/hal/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/TOOLCHAIN_GCC_ARM/TARGET_LPC11U68/startup_LPC11U68.o: In function `operator delete[](void*)':
startup_LPC11U68.cpp:(.text._ZdaPv+0x0): multiple definition of `operator delete[](void*)'
./.build/LPC11U68/GCC_ARM/mbed-os/hal/common/retarget.o:retarget.cpp:(.text._ZdaPv+0x0): first defined here
collect2: error: ld returned 1 exit status

Signed-off-by: Tony Wu <tung7970@gmail.com>
2016-08-30 15:25:11 +08:00
svastm a2aadc2c46 [STM32F1] Enable asynchronous serial 2016-08-29 10:25:57 +02:00
svastm c9db4ba141 [STM32F1] Add asynchronous serial 2016-08-29 10:25:57 +02:00
Sam Grove 5c14cb9790 Merge pull request #2555 from ytsuboi/master
[TY51822r3] a patch for TY51822r3 to use a change of PR #2535
2016-08-27 07:32:31 -05:00
Sam Grove ea56684fff Merge pull request #2531 from radhika-raghavendran/master
ncs36510 from ON Semiconductor
2016-08-27 07:31:39 -05:00
Sam Grove eeead562f1 Merge pull request #2558 from meriac/master
Update uVisor with new page allocator
2016-08-27 07:30:50 -05:00
Christopher Haster 756a09003c Added explicit void specialization in callbacks
One limitation of C++ is that implicit casts do not occur when
matching template overloads, as a consequence the callback's
argument type requires a strict match.

Unfortunately, the prevents the previously common pattern of using
void pointers as function arguments, causing unnecessary problems
for users porting code.

        Thing *t;
        void doit(void *p) { blablabla }

        Callback<void()> cb(t, doit);

To avoid this, explicit overloads on void pointers were added. This
avoids a template expansion, and allows the implicit cast to occur
as the user would expect.
2016-08-26 12:50:13 -05:00
Sam Grove 39127f856a Merge pull request #2462 from svastm/serial_asynch_f2
[STM32F2] Add asynchronous serial
2016-08-26 12:18:33 -05:00
Sam Grove a3a9daf24a Merge pull request #2487 from ARMmbed/memory_instrumentation
Runtime dynamic memory tracing
2016-08-26 11:34:24 -05:00
Niklas Hauser 170ba1c802 Move page heap after uVisor private data. 2016-08-26 17:18:45 +01:00
svastm 2a8ef3917c [STM32F2] Enable asynchronous serial 2016-08-26 17:09:11 +02:00
svastm d49a879aa7 [STM32F2] Add asynchronous serial 2016-08-26 17:09:11 +02:00
Radhika 2dc38063b9 Formatting code according to ARM guidelines.
Ran pylint and astyle.
Rebased latest ARMmbed-os code.
2016-08-26 20:34:23 +05:30
Christopher Haster c71e67f2dc Updated minor functionality of the Callback class
- Marked `call` and `operator()` functions as const
- Moved to static_cast for internal function pointer to avoid losing
  compiler checked const-safety
- Added test for `operator=` with non-callback types
- Moved from zero-cast to value-initializer when callback is null
- Added `operator==` and `operator!=`
- Removed special handling of null callback
- Replicated doxygen to all overloads
- Added correct nops where uninitialized callbacks are called
- Added assertion for null callback
- Removed copy-constructor from callback constructor
2016-08-26 09:54:02 -05:00
Bogdan Marinescu 8b908abcc5 Added thread safety to the tracing mechanism
Without this in place, traces might be lost if a another thread
interrupts a memory function at the right time.
2016-08-26 09:42:41 -05:00
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
Sam Grove a48a6f7fe0 Merge pull request #2464 from svastm/serial_asynch_l1
[STM32L1] Add asynchronous serial
2016-08-26 09:42:27 -05:00
Christopher Haster 45d25ed493 Added support for cv-qualifiers in Callback class
Additionally, the following changes were don to avoid combinatorial
explosion in function overloads as a result of adding cv-qualifiers:
- Added convenience function for inferred type
- Deprecated callback overloads qhere cv-qualifiers are not scalable

Supported overloads:
callback(void (*f)(A...));
callback(const Callback<R(A...)> &);
callback(T *t,                void (*f)(T*, A...));
callback(const T *t,          void (*f)(const T*, A...));
callback(volatile T *t,       void (*f)(volatile T*, A...));
callback(const volatile T *t, void (*f)(const volatile T*, A...));
callback(T *t,                void (T::*f)(A...));
callback(const T *t,          void (T::*f)(A...) const);
callback(volatile T *t,       void (T::*f)(A...) volatile);
callback(const volatile T *t, void (T::*f)(A...) const volatile);
2016-08-26 09:40:22 -05:00
Sam Grove 77adb45706 Merge pull request #2543 from jeromecoutant/PR_Small_Targets
Use GCC small build for 64K flash STM32
2016-08-26 09:27:38 -05:00
Sam Grove daf4b1c6b1 Merge pull request #2528 from jeremybrodt/max32620
[MAX32620HSP] Initial release.
2016-08-26 09:25:33 -05:00
Sam Grove 23ffafa682 Merge pull request #2498 from toyowata/master
Fix multiple definition errors in GCC_CR build
2016-08-26 09:22:49 -05:00
Yoshihiro TSUBOI a90181296a [TY51822r3] a patch for TY51822r3 to use a change of PR #2535 2016-08-26 22:44:24 +09:00
jeromecoutant f1781a4447 Rebase to replace "default_build" into "default_lib" 2016-08-26 11:30:31 +02:00
jeromecoutant 1bdade929c Use GCC small build for 64K flash STM32 2016-08-26 11:24:19 +02:00
Martin Kojtal 842546d849 Merge pull request #2552 from LMESTM/fix_pwmout_remove_printf
STM32F4: pwmout: remove printf
2016-08-26 08:32:17 +01:00
Radhika db54c2125a heap and stack test 2016-08-26 12:04:22 +05:30
Radhika daea440b6a Adding NCS36510 support in mbed-os5.1 2016-08-26 12:04:22 +05:30
Radhika f5f8deb7ef heap and stack test 2016-08-26 12:00:54 +05:30
Radhika b75379f353 Adding NCS36510 support in mbed-os5.1 2016-08-26 12:00:54 +05:30
Laurent MEUNIER 4ae91ed73c [STM32F4] pwmout: remove printf
This remains from a debug session but is not needed and creates a warning,
so better remove it.
2016-08-26 07:46:58 +02:00
Sam Grove 6a1208af08 Merge pull request #2536 from jamike/STM32F3_TestFix
STM32F3 :  test fix
2016-08-25 09:32:27 -05:00
Sam Grove 39310b2aa4 Merge pull request #2535 from nvlsianpu/uart_hwfc_config_2
nRF5x uart hardware flow control configuration using mbed configuration systsem
2016-08-25 09:31:00 -05:00
Sam Grove 1dbe8d8cf8 Merge pull request #2520 from jeromecoutant/PR_L011K4
[NUCLEO_L011K4] build issues
2016-08-25 09:26:10 -05:00
Sam Grove 3dac791b4a Merge pull request #2476 from bulislaw/lp_ticker
K22F/K64F: Add lp_ticker implementation and HAL lp_ticker tests
2016-08-25 09:19:18 -05:00
Sam Grove 5197edc913 Merge pull request #2409 from pan-/enable_small_and_big_build_options
Allow 'small-build' and 'big-build' to be used as options.
2016-08-25 09:17:03 -05:00
Sam Grove defa61d183 Merge pull request #2253 from adustm/STM32F4_F7_entropy
[STM]Add RNG (random number generator) for STM32F4 STM32F7 families
2016-08-25 09:09:48 -05:00
Bartek Szatkowski 6fef43013f Ticker: Move ticker initialisation to object creation time
Having it in the attach call introduces extra latency and can break
short delays, for the first usage.
2016-08-25 13:25:02 +01:00
Bartek Szatkowski 584f997228 K64F/K22F: Implement HAL lp_timer API
API implemented using hybrid approach with RTC for longer periods and
LPTMR for subsecond ones.
2016-08-25 13:25:02 +01:00
Jeremy Brodt 67b556b648 [MAX32620HSP] Added Deep Sleep support with USB. 2016-08-24 16:33:47 -05:00
Jeremy Brodt 59f04b4771 [MAX32620HSP] Removed constant structure element. 2016-08-24 16:33:47 -05:00
Jeremy Brodt bf2be1a77f [MAX32620HSP] Cleaned up analogin. 2016-08-24 16:33:47 -05:00
Jeremy Brodt b9b6d30659 [MAX32620HSP] Initial release. 2016-08-24 16:33:47 -05:00
Andrzej Puzdrowski b68b54ee05 Introduce uart hardware flow control configuration using mbed configuraton system for nrf5x base-targets 2016-08-24 14:07:12 +02:00
Michel Jaouen 5908e44a7b STM32F3 : Fix RTOS GCC_ARM test failed.
remove target with RAM too small for RTOS GCC_ARM.
since newlib is used for RTOS re-entrance suport instead of nano-newlib :
Heap size is reduced because sdata and bss have increased.
2016-08-24 11:57:11 +02:00
Niklas Hauser 7c0cc50677 Fix missing wrapping of calloc_r with uVisor enabled.
uVisor only wraps malloc_r, realloc_r and free_r, not calloc_r!
2016-08-24 10:22:05 +01:00
jeromecoutant 284117fa99 [NUCLEO_F207ZG] Add MBED5 capability 2016-08-24 08:24:28 +02:00
Vincent Coubard fe322adc9c Make selection of c library used consistent.
* rename "default_build" property into "default_lib"
* rename "standard" value for "default_build" into "std".
2016-08-23 16:04:56 +01:00
jeromecoutant 086d5b9a4e [NUCLEO_L011K4] build issues
Target FLASH is quiet small (16KB),
so only uARM is supported and very small applications.
2016-08-23 17:02:57 +02:00
svastm 33a1757486 [STM32L1] Enable asynchronous serial 2016-08-23 17:01:12 +02:00
svastm 1a3d94a45b [STM32L1] Add asynchronous serial 2016-08-23 17:01:12 +02:00
Martin Kojtal 22acfbf077 Merge pull request #2461 from svastm/serial_asynch_f3
[STM32F3] Add asynchronous serial
2016-08-23 14:14:10 +01:00
Martin Kojtal 21d55cd235 Merge pull request #2465 from svastm/serial_asynch_l4
[STM32L4] Add asynchronous serial
2016-08-23 11:01:57 +01:00
Martin Kojtal ccfe2c82b0 Merge pull request #2481 from NXPmicro/KL27_SPI_Driver_Update
KL27 - fix SPI driver error, ARM linker
2016-08-23 09:29:54 +01:00
Martin Kojtal 58897c6613 Merge pull request #2503 from c1728p9/singleton_ptr_fix
Fix SingletonPtr problems
2016-08-23 09:27:05 +01:00
Martin Kojtal 4fd71547be Merge pull request #2478 from mtkrtk/master
[Renesas RZ/A1H] Enable SPI1 on P6_4 ~ P6_7
2016-08-23 09:16:42 +01:00
Martin Kojtal f084f5f5a4 Merge pull request #2501 from NXPmicro/HEXIWEAR_I2C_PinUpdate
HEXIWEAR: Update I2C pin mapping
2016-08-23 09:04:27 +01:00
Russ Butler 6a31ffbf3e Heap statistics
Keep track of the current size allocated, maximum size allocated,
number of allocations, failed allocations and total size allocated for
both GCC and ARM. Report the maximum size allocated at the end of
testing.

Also, add a test to verify heap metrics are working as expected.
2016-08-22 18:32:51 -05:00
Mahadevan Mahesh 38aeb4cdce KSDK: Updated version for the flexcan driver
- Add FlexCAN function pointer handler logic to save code size.
- CAN driver enter/exit Freeze mode issue

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-22 13:47:54 -05:00
Mahadevan Mahesh 8e8ccee98e KSDK: Updated version of the SAI driver to address code-size issues
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-22 13:44:55 -05:00
Bartek Szatkowski 12acfb3ca6 Beetle: Implement sleep API 2016-08-22 09:48:28 +01:00
Russ Butler 707291ab68 Fix SingletonPtr problems
Check to see if ptr is NULL after acquiring the singleton lock to
prevent initialization race conditions. Also explicitly call the
constructor for type T.
2016-08-19 18:41:16 -05:00
Mahadevan Mahesh c4e1bed878 HEXIWEAR: Update I2C pin mapping
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-19 14:45:16 -05:00
Martin Kojtal 133f16aa5d Merge pull request #2473 from svastm/ethernet_mbed_5
[STM32] Add ethernet and feature IPV4
2016-08-19 11:40:33 +01:00
Toyomasa Watarai b7536b83ca Fix link error
xxx_s.a libraries are no longer supported in GCC_CR toolchain
2016-08-19 15:52:42 +09:00
Toyomasa Watarai 362bb0e94d Add TOOLCHAIN_GCC_CR support 2016-08-19 13:50:12 +09:00
Toyomasa Watarai 6c0a0e144e Fix multiple definition errors in GCC_CR build 2016-08-19 11:58:59 +09:00
adustm 059c5a3ba8 [RNG for STM32F4 family] fix build issue by modifying labels 2016-08-18 17:25:33 +02:00
adustm 824fff5d63 Add documentation + reformat the code 2016-08-18 16:52:58 +02:00
adustm 4c50ec2734 Add entropy functions for STM32F4 and STM32F7 family 2016-08-18 16:52:58 +02:00
Martin Kojtal 0f2566b3ff Merge pull request #2432 from jeremybrodt/max326xx_bugfix
[MAX326xx] Bug fixes and clean up.
2016-08-18 11:04:47 +01:00
Martin Kojtal 64a30a0095 Merge pull request #2479 from geky/deprecated-until
Updated deprecation notices to match branch names
2016-08-18 09:06:39 +01:00
Mahadevan Mahesh 2d97246fb0 KL27Z: Update the ARM linker file
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-17 11:57:05 -05:00
Mahadevan Mahesh 1fe6c2f04a KL27Z: Update the SPI driver
1.Fix SPI flag name error
2.Fix SPI write blocking function
3.Use function pointer to implement SPI IRQ handler to reduce code size

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-17 08:58:32 -05:00
Martin Kojtal bdb4ab921f Merge pull request #2472 from ytsuboi/master
[TY51822r3] Added exporting support
2016-08-17 14:54:49 +01:00
Martin Kojtal 8568c9eac8 Merge pull request #2394 from geky/deprecated-until
Add more well-defined garuntees on deprecation notices in mbed
2016-08-17 14:45:46 +01:00
Martin Kojtal 77e87179bd Merge pull request #2456 from NXPmicro/SDK2_FRDM_K66F
Add support for FRDM K66
2016-08-17 14:37:31 +01:00
Martin Kojtal ea90ea20e5 Merge pull request #2379 from NXPmicro/SDK2_KL43Z
Add support for KL43Z using KSDK 2.0
2016-08-17 14:26:45 +01:00
mtkrtk 667accacd0 Enable SPI1 on P6_4 ~ P6_7 2016-08-17 21:19:43 +09:00
svastm 43be3b403e [STM32] Add ethernet and feature IPV4
This commit refactor the `lwip-eth/arch/TARGET_STM` folder and add the IPV4 feature for the
following targets:

 - NUCLEO_F207ZG
 - NUCLEO_F429ZI
 - NUCLEO_F767ZI
 - DISCO_F746NG
2016-08-17 10:27:32 +02:00
Yoshihiro TSUBOI f8a6af161a [TY51822r3] Added exporting support 2016-08-17 10:58:48 +09: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
svastm 7c384c9765 [STM32L4] Enable asynchronous serial 2016-08-16 17:54:14 +02:00
svastm bad850c49a [STM32L4] Add asynchronous serial 2016-08-16 17:54:14 +02:00
Jeremy Brodt 7be00b8fa8 [MAX326xx] Synchronizing SPI drivers. 2016-08-16 10:30:14 -05:00
Jeremy Brodt e628254c08 [MAX326xx] Added missing register definitions. 2016-08-16 10:30:14 -05:00
Jeremy Brodt c8410ee8c7 [MAX326xx] Updated bit-band macros to match latest MXC convention. 2016-08-16 10:30:14 -05:00
Jeremy Brodt 2fb904f25c [MAX326xx] Fixed analogout bugs. 2016-08-16 10:30:14 -05:00
Jeremy Brodt 301d7f271f [MAX326xx] Fixed i2c_byte_write() return value. 2016-08-16 10:30:14 -05:00
Jeremy Brodt 0e330ef1fa [MAX326xx] Fixed I2C bug. 2016-08-16 09:27:27 -05:00
svastm b2d8cfe14c [STM32F3] Enable asynchronous serial 2016-08-16 16:00:36 +02:00
svastm 79c11c0b8e [STM32F3] Add asynchronous serial 2016-08-16 16:00:36 +02:00
Martin Kojtal 8d368775e3 Merge pull request #2401 from svastm/serial_asynch_f4
[STM32F4] Add asynchronous serial
2016-08-16 14:24:06 +01:00
Martin Kojtal 2776dd7dd3 Merge pull request #2447 from ytsuboi/master
[TY51822r3] Add support for mbed OS 5
2016-08-16 10:05:26 +01:00
Mahadevan Mahesh 0ad9220fb1 Add support for FRDM K66
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-15 15:37:25 -05:00
Mahadevan Mahesh 5f598a9aaf Add support for KL43Z using KSDK 2.0
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-15 13:16:46 -05:00
0xc0170 f38ee3c049 K64F serial - fix device macro for serial flow 2016-08-15 14:55:22 +01:00
0xc0170 f51d8cfa3e MTS Gambit - remove serial flow control
Plus protect serial flow in the common k64f code, as not all targets provide its
support.
2016-08-15 14:55:20 +01:00
0xc0170 29d36f0e7d K64F - HAL common part prefixed with MCU_K64F 2016-08-15 14:55:18 +01:00