Commit Graph

1049 Commits (9d06732aae64d26de963f9d39a601956796fe5b5)

Author SHA1 Message Date
Alessandro Angelino 373b0ba34a CMSIS 5: Virtualize NVIC_SystemReset
This applies only when the virtualization option is explicitly set.
Currently only uVisor virtualizes the NVIC APIs.
2016-09-21 17:15:42 +01:00
Martin Kojtal 2866e21bea Merge pull request #2701 from simonqhughes/master
CFSTORE Integration with Storage-Volume-Manager and Flash-Journal API update to the latest versions
2016-09-21 17:03:31 +01:00
svastm e38b1d12fb STM32L1 - Enable the low power timer
Enable the low power timer for the NUCLEO_L152RE
2016-09-21 10:57:15 +02:00
svastm 37ee192205 STM32L1 - Add low power timer 2016-09-21 10:56:37 +02:00
Laurent MEUNIER 04fe4d2588 [STM32F4 HAL] Avoid SPI spurious interrupt
If SPI TXE is not disabled at the end of transfer, MBED application
callback that is registered for transfer completion might be called twice
2016-09-20 19:25:25 +02:00
Laurent MEUNIER 00086a6f44 [STM32F4] Simplify spi Asynch transfer implementation
Following discussion on:

it seems now clear that the transfer API is meant to be used either
with only Rx, or only Tx or Rx and Tx with the same lenth.

Therefore we're removing support of transfers of Rx and Tx with different
lenghts - this makes porting to HAL more direct and simpler.
2016-09-20 19:25:25 +02:00
Laurent MEUNIER e68b550c2a [STM32F4] enable SPI ASYNCH 2016-09-20 19:25:25 +02:00
Laurent MEUNIER c5323c13a8 [STM32F4] SPI: avoid duplicate information accross layers
Same information was stored in spi_api.c and STM32 HAL layers.
Modify code to avoid this duplicate information.
2016-09-20 19:25:25 +02:00
Laurent MEUNIER 478168c712 [STM32F4] SPI ASYNCH support
This commit is highly derived from an existing work from salkinium.

It adds SPI ASYNC support to STM32 F4 devices. This required a small
rework of the structure to have SYNCH and ASYNCH co-exist.
2016-09-20 19:25:25 +02:00
Laurent MEUNIER 5fdce5fbf7 [STM32F4] move spi_s to common file 2016-09-20 19:25:25 +02:00
Mahadevan Mahesh 47db661e8d Updated ARM linker scripts for Kinetis platforms that use SDK 2.0
1. Fix Heap start address
2. Update to the latest script provided by the Kinetis SDK team

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-09-20 10:38:04 -05:00
svastm 883ff3a1d4 STM32L4 - Enable the low power timer
Enable the low power timer for the following targets:
 - DISCO_L476VG
 - NUCLEO_L432KC
 - NUCLEO_L476RG
2016-09-20 17:36:56 +02:00
svastm 35d101ee50 STM32L4 - Add low power timer 2016-09-20 17:36:56 +02:00
svastm e70921a5e1 STM32F3 - Enable the low power timer
Enable the low power timer for the following targets:
 - NUCLEO_F302R8
 - NUCLEO_F303K8
 - NUCLEO_F303RE
 - NUCLEO_F334R8
 - DISCO_F334C8
 - DISCO_F303VC
2016-09-20 17:21:13 +02:00
svastm 06df09f250 STM32F3 - Add low power timer 2016-09-20 17:21:13 +02:00
svastm 369ecf2b26 STM32F0 - Enable the low power timer
Enable the low power timer for the following targets:
 - NUCLEO_F070RB
 - NUCLEO_F072RB
 - NUCLEO_F091RC
2016-09-20 17:19:56 +02:00
svastm e4f643144d STM32F0 - Add low power timer 2016-09-20 17:19:56 +02:00
jeromecoutant 012f2c3353 [NUCLEO_F767ZI] Add CAN capability 2016-09-20 16:18:11 +02:00
bcostm 15f7a87f18 STM32L0xx - Add SERIAL_FC in "device_has" 2016-09-20 14:18:54 +02:00
bcostm f9dd9d3cfb STM32L0xx - Add UART_RTS and CTS pins 2016-09-20 14:17:40 +02:00
svastm a1324151d2 [STM32F0] Enable asynchronous serial 2016-09-20 12:57:56 +02:00
svastm 12210bc12f [STM32F0] Add asynchronous serial 2016-09-20 12:57:56 +02:00
bcostm 7dfc2fd424 DISCO_F746NG - Add Serial Flow Control pins 2016-09-20 09:58:05 +02:00
Toyomasa Watarai d52498f2fa [LPC11U68] Fix pin interrupt select offset
* Fix incorrect comment
* Add offset value calculation by interrupt port number
2016-09-20 15:24:56 +09:00
Vincent Coubard f4f8b491d1 Override exit and atexit functions from newlib.
This change simplify the exit and initialization process.
It also reduce the number of hidden memory allocation made by atexit.
2016-09-19 15:17:39 +01:00
Vincent Coubard b67d863c0a Disable registration of atexit handlers on ARMCC.
This prevent destructors for global C++ objects to be invoked at exit.
By default atexit handlers registration involved dynamic allocation.
2016-09-19 13:29:29 +01:00
jeromecoutant a6ed7cd77b [NUCLEO_F207ZG] Conflict with Arduino D11 and Ethernet port
The board has a jumper that be used to select between using ethernet
or using SPI for the same pin.
Without this patch, a user that configures the board in 'SPI' mode
would get a "pinmap not found for peripheral" error.
With this change a user doesn't have to change the mbed library
when switching modes
(of course user has to take care of SW and HW matching...
SPI wouldn't work as expected if board is configured in Ethernet)
2016-09-19 11:33:54 +02:00
Vincent Coubard 9803b62b4d Makes flush of IOs at exit configurable.
This change allows program which doesn't use the IO subsystem to
completelly get rid of it in the binary generated.

IO's are still flushed by default but it can be overriden in
configuration.
2016-09-19 10:33:48 +01:00
Sam Grove 6aae4170ba Merge pull request #2698 from TsungtaWu/master
DELTA_DFBM_NQ620 target
2016-09-18 17:47:12 -05:00
Sam Grove ee1cba0b69 Merge pull request #2572 from tung7970/master
Fix STM32F407VG target name and LPC11U6X linker errors
2016-09-18 17:44:55 -05:00
Sam Grove c4a02b037e Merge pull request #2463 from svastm/serial_asynch_l0
[STM32L0] Add asynchronous serial
2016-09-18 17:44:08 -05:00
Tony Wu 59dcd3f40c Fix signed/unsigned comparison warning in SerialBase.cpp
Silence the following compiler warning:

Compile: SerialBase.cpp
[Warning] SerialBase.cpp@34,23: comparison between signed and unsigned integer expressions [-Wsign-compare]

Signed-off-by: Tony Wu <tung7970@gmail.com>
2016-09-17 21:58:05 +08:00
Sam Grove c19dd19f9c Merge pull request #2723 from NXPmicro/Update_Serial_API
KSDK serial_api.c: Fix assertion error for ParityEven
2016-09-16 17:38:33 -05:00
Sam Grove 184e58d581 Merge pull request #2704 from jeromecoutant/PR_DISCO_L476VG_SPI
DISCO_L476VG: add SPI nicknames
2016-09-16 17:35:17 -05:00
Sam Grove 6b8774fb4e Merge pull request #2703 from anangl/master
TARGET_NRF5: Changed 'serial_baud' implementation to support special baud rates.
2016-09-16 17:34:41 -05:00
Sam Grove 8cdb69eca1 Merge pull request #2696 from c1728p9/add_nrf51_device_has
Add device_has to all nrf51 devices
2016-09-16 17:33:25 -05:00
Sam Grove 27c6e25bcc Merge pull request #2687 from nvlsianpu/add_fs_data_secton_gcc
[NRF5] Add fs_data symbol in data secton for gcc
2016-09-16 17:32:41 -05:00
Sam Grove 5920896169 Merge pull request #2681 from bcostm/adcintch_F0
STM32F0xx - Add support of ADC internal channels
2016-09-16 17:31:53 -05:00
Sam Grove 2fbbf0a4f8 Merge pull request #2666 from stevew817/bugfix/EFM32_us_timer
[EFM32] Microsecond ticker optimization
2016-09-16 17:28:23 -05:00
Sam Grove 27eb9c0969 Merge pull request #2620 from bcostm/serialfc_F4
NUCLEO_F429ZI - Add SERIAL_FC macro
2016-09-16 17:22:18 -05:00
Sam Grove ffdf9ddcae Merge pull request #2619 from bcostm/serialfc_L1
NUCLEO_L152RE - Add Serial Flow Control
2016-09-16 17:22:02 -05:00
Sam Grove 5b5da03129 Merge pull request #2616 from bcostm/serialfc_F3
STM32F3xx - Add Serial Flow Control pins + enable it
2016-09-16 17:21:43 -05:00
Sam Grove 75af749baa Merge pull request #2571 from svastm/serial_asynch_f7
STM32F7 - Add asynchronous serial
2016-09-16 17:20:51 -05:00
andreas.larsson 0e5a0d68b3 Enabled feature IPV4 for C029 2016-09-16 11:31:33 +02:00
Steven Cooreman 6700ab7d0d [EFM32] Remove HG from mbed 5
Remove Happy Gecko from mbed 5 builds until we can verify all of the examples fit using the ARM toolchain
2016-09-16 10:04:51 +02:00
Mahadevan Mahesh 20fc6ce180 KSDK serial_api.c: Fix assertion error for ParityEven
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-09-15 15:59:40 -05:00
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