Commit Graph

1003 Commits (c18e1786cd914a7494168ac107a77ac7b46ef2be)

Author SHA1 Message Date
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
0xc0170 4c499780dd Target hexiwear - add mcu_k64f label 2016-08-15 14:55:16 +01:00
0xc0170 b52a2fe9f4 Rename cmsis K64F to MCU_K64F
This is common for any K64F not only for frdm-k64f that is named K64F. This
is causing conflicts with inheritance. This might be fixed better (long term
solution).
2016-08-15 14:55:14 +01:00
0xc0170 ae4a4938ab mbed lib revision - 123 2016-08-15 14:55:12 +01:00
Martin Kojtal 6c2ef92dfa Merge pull request #2427 from fvincenzo/master
[BEETLE] Add support for IAR compiler
2016-08-15 11:44:06 +01:00
Yoshihiro TSUBOI 38f626cc61 [TY51822r3] Add support for mbed OS 5
- Changed inherit to "MCU_NRF51_32K_UNIFIED".
- Added 32MHz XTAL support to "system_nrf.c".
- Added TY51822r3 support to "MCU_NRF51_32K_UNIFIED".
2016-08-15 19:18:56 +09:00
Vincenzo Frascino 5145ab73f7 [BEETLE] Change release_version to 5
mbedci-test CI server is complian only with mbed-os release version 5.x.
This patch updates the Beetle section of the target.json file in order
to comply with the requirement.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-08-12 17:02:48 +01:00
Vincenzo Frascino 55c446a1e0 [BEETLE] Add support for IAR compiler
IAR compiler support is a mandatory requirement for mbed-os 5.1.

This patch adds support to IAR on Beetle mbed-os platform.
It contains:
* Linker script
* Startup code
* Target enablement
* Cordio libraries for BLE

Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-08-12 17:02:27 +01:00
Martin Kojtal 685096eb11 Merge pull request #2351 from peeyushpashine/patch-1
Update analogin_api.c
2016-08-12 12:47:16 +02:00
svastm 22874be402 [STM32F4] Enable asynchronous serial 2016-08-12 10:39:02 +02:00
svastm f112c26c14 [STM32F4] Add asynchronous serial
- Move struct serial_s to common_objects.h
 - Add event field to struct serial_s
 - Remove ASYNCH_DMA
 - Clean yotta defines
2016-08-12 10:35:06 +02:00
Martin Kojtal 58d9926c0c Merge pull request #2220 from svastm/update_cube_l1
[STM32L1XX] Update STM32CUBE_L1 to v1.6
2016-08-12 09:50:25 +02:00
Martin Kojtal d49a4e6da9 Merge pull request #2414 from bcostm/stm32f4_serial_fc
[STM32F4] Add serial flow control
2016-08-12 09:29:55 +02:00
Martin Kojtal 0b74dc1fc4 Merge pull request #2400 from NXPmicro/Fix_Duplicate_Define_KL27Z
KL27Z: Fix duplicate define error
2016-08-12 09:06:17 +02:00
Martin Kojtal 56865a2076 Merge pull request #2328 from helmut64/STM32L4_DISCO_SPIPINS
Added the missing on-board SPI LSM303C sensor SPI pin definitions
2016-08-11 13:43:23 +01:00
Martin Kojtal a79afc2ce5 Merge pull request #2352 from svastm/clean_pwm_analog
[STM32F[0-1]] Clean pwm and analog channel definition
2016-08-11 13:32:15 +01:00
Martin Kojtal fca16f80e7 Merge pull request #2410 from pan-/fix_nrf51_os_tick
Fix possible overflow of NRF51 os tick.
2016-08-11 09:03:23 +01:00
bcostm 5a4e90d96d [NUCLEO_F446ZE] Add missing serial flow control elements in serial structure 2016-08-10 16:48:45 +02:00
bcostm aa772e9b86 [STM32F4] Activate SERIAL_FC in targets.json 2016-08-10 16:32:31 +02:00
bcostm 9bb710d38a [NUCLEO_F429ZI] Add Serial Flow Control pins 2016-08-10 16:24:26 +02:00
bcostm 7953526b3e [NUCLEO_F446RE] Add Serial Flow Control pins 2016-08-10 16:07:26 +02:00
bcostm d22054612b [NUCLEO_F411RE] Add Serial Flow Control pins 2016-08-10 15:58:42 +02:00
bcostm a905d36d13 [NUCLEO_F410RB] Add Serial Flow Control pins 2016-08-10 15:52:02 +02:00
bcostm 4e77da774f [DISCO_F469NI] Add Serial Flow Control pins 2016-08-10 15:40:33 +02:00
bcostm 7f2647d3ae [DISCO_F429ZI] Add Serial Flow Control pins 2016-08-10 15:30:45 +02:00
Vincent Coubard c17be7efe4 Fix possible overflow of NRF51 os tick.
The RTC1 counter can increase while the new value for the CC register
used by the os tick is computed. As a result, when interrupts are enabled
again RTC1 counter and CC register value are equal. If these two values are
equal then the interrupt for the CC channel used by the OS tick will be
generated the next time the RTC counter reach that value.
In other words, the next OS tick will occur 131 seconds latter.

This issue possibly concern all NRF51 targets with 32K of RAM but is
only visible on NRF51_DK target when their is heavy BLE load.
2016-08-10 09:50:04 +01:00
Russ Butler 3587a08f8e Fix nrf52 initial stack pointer in ARMCC
Set the initial stack pointer to the end of ram so it matches
INITIAL_SP defined in RTX_CM_lib.h.
2016-08-09 14:54:58 -05:00
Russ Butler 69bf173e22 Decrease NUC472 interrupt stack size
Decrease the interrupt stack of the NUC472 from 12KB to 8KB. This
frees up enough space to allow the core tests to run.
2016-08-09 14:54:51 -05:00
Russ Butler 16329fd2d9 Override new and delete operators to trap errors
When new or new[] fails to allocate space trigger an error.
2016-08-09 14:42:23 -05:00
Russ Butler 7cf1dc1155 Fix heap limit checking and make memory explicit
Set well defined limits for the heap and configure GCC and ARMCC to
correctly check these. IAR already correctly checked its heap.

This also statically declares the main thread stack so the
linker is responsible for its placement.
2016-08-09 13:44:33 -05:00
Martin Kojtal 52658e5131 Merge pull request #2380 from c1728p9/nucleo_f429
Add ARDUINO to supported form factors of F429ZI
2016-08-09 14:28:21 +01:00
Martin Kojtal 900fcfe516 Merge pull request #2355 from evark/stm32f1-serial
STM32F1 serial_api initialize failure message
2016-08-09 14:27:59 +01:00
Mahadevan Mahesh a7a6521b31 KL27Z: Fix duplicate define error
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-09 08:13:39 -05:00
Bogdan Marinescu 2f127cbd2b Merge pull request #2274 from ARMmbed/unified_wait
Unification of wait functions
2016-08-09 09:41:16 +01:00
Bogdan Marinescu 49606cd5de Improved accuracy for microsecond delays 2016-08-08 19:04:38 +03:00
Russ Butler ea4c65defa Add ARDUINO to supported form factors of F429ZI
Add support for the arduino form factor in targets.json for the
NUCLEO_F429ZI.
2016-08-05 16:01:45 -05:00
Sam Grove 150fd079ef Merge pull request #2375 from geky/expose-nsapi
Expose the network-socket API through mbed.h
2016-08-04 20:25:41 -05:00
Sam Grove 8e24d683c0 Merge pull request #2361 from geky/add-ipv4-vk_rz_a1h
Enable FEATURE_IPV4 for the VK_RZ_A1H
2016-08-04 19:24:34 -05:00
Sam Grove 0131aa657c Merge pull request #2365 from bridadan/increase-heap-kl46z
Increasing the heap for KL46Z for IAR.
2016-08-04 17:36:44 -05:00
Sam Grove fb92f3fd98 Merge pull request #2376 from NXPmicro/HEXIWEAR_Clock_Fix
Fix the clock setup for the K64 HEXIWEAR board
2016-08-04 17:02:20 -05:00
Christopher Haster 413ea26c00 [VK_RZ_A1H] Renamed __vector -> __vector_core_a9 as expected by IAR RTX 2016-08-04 16:36:50 -05:00
Christopher Haster 2c4a03f118 [VK_RZ_A1H] Maked __iar_program_start as weak 2016-08-04 16:36:38 -05:00
Sam Grove e9cebde193 Merge pull request #2372 from anangl/gpio_irq_fix
Fixed irq handling in gpio_api.
2016-08-04 14:54:50 -05:00
Mahadevan Mahesh f7948f6f65 Fix the clock setup for the K64 HEXIWEAR board 2016-08-04 13:06:33 -05:00
Sam Grove 0edef2da82 Merge pull request #2273 from svastm/fix_i2c_clock_l4
[STM32L4XX] Fix i2c clock config
2016-08-04 12:26:21 -05:00
Sam Grove ff34c5b54b Merge pull request #2354 from svastm/ram_fix_f303re
[STM32F303RE] Fix initial SP on ARM and uARM
2016-08-04 12:24:40 -05:00
Sam Grove 19351147e8 Merge pull request #2356 from svastm/fix_iar_nucleo_f207zg
[STM32F207ZG] Fix IAR memory init
2016-08-04 12:20:49 -05:00
Sam Grove a6ffdd4e94 Merge pull request #2366 from sg-/hexiwear-fixups
Hexiwear fixups
2016-08-04 11:38:41 -05:00
Christopher Haster 75a57ad797 Exposed the network-socket API through mbed.h
Currently this uses the same mechanism used by the rtos to conditionally
include the network-socket API. Perhaps this should be builtin to the
config system?

Note: this does require that the bug-compatible inclusion of mbed.h
be removed to avoid include-order issues.

per @sg-
2016-08-04 11:07:33 -05:00
Sam Grove 34caf43f5a Merge pull request #2238 from OpenNuvoton/nuc472
[NUC472] Add NUMAKER-PFM-NUC472
2016-08-04 10:37:31 -05:00
Sam Grove afe431b750 Merge pull request #2338 from pan-/fix_nrf51_stack_size
Fix nrf51 stack on IAR.
2016-08-04 09:23:34 -05:00
Evangelos Arkalis b27a5aa84b Alignment fixed 2016-08-04 15:32:31 +03:00
Głąbek, Andrzej 41c9d1d67c Fixed irq handling in gpio_api. 2016-08-04 12:47:54 +02:00
Sam Grove 6768d81691 add HEXIWEAR to both releases for 2 and 5 2016-08-03 17:38:07 -07:00
Brian Daniels a596529780 Increasing the heap for KL46Z for IAR.
The KL46Z passes all tests except the following when built with IAR:
tests-mbedmicro-rtos-mbed-threads. This is because the heap is becomes
fully allocated.This commit increases the heap from 8K to 16K.
2016-08-03 18:09:26 -05:00
Mahadevan Mahesh d581798e2a K64 HEXIWEAR: Add CTS and RTS pin defines
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-03 15:39:14 -05:00
Christopher Haster 4b62957ef9 Marked VK_RZ_A1H as release for mbed 2 and mbed 5
per @sg-
2016-08-03 15:01:58 -05:00
Christopher Haster 438d124acc Added FEATURE_IPV4 to the VK_RZ_A1H 2016-08-03 14:21:46 -05:00
svastm 4f82e34487 [STM32F207ZG] Fix IAR memory init
The icf file was not align with other targets and they were no reserved
space for NVIC vectors.
2016-08-03 17:00:52 +02:00
EvArk b4afc203b9 STM32F1 serial_api initialize failure message 2016-08-03 16:40:28 +03:00
svastm b00d8331c4 [STM32F303RE] Fix initial SP on ARM and uARM
Switch initial stack pointer from 0x2000 4000 to 0x2001 0000 (top of ram)
2016-08-03 13:00:18 +02:00
svastm a8d22e55ae [STM32F1XX] Clean pwm and analog definition
To be more consistant with ST targets, this commit change analog and pwm
channel definitions to PeripheralPins.c
2016-08-03 10:47:56 +02:00
svastm 0bdc6d81b3 [STM32F0XX] Clean pwm and analog definition
To be more consistant with ST targets, this commit change analog and pwm
channel definitions to PeripheralPins.c
2016-08-03 10:47:05 +02:00
Peeyush pashine 1cbdc15c72 Update analogin_api.c
Software trigger for ST NUCLEO F1x series boards:

Issue:

https://github.com/ARMmbed/mbed-os/issues/1672#issuecomment-236565445
2016-08-03 12:30:22 +05:30
Vincent Coubard e861755f27 Fix nrf51 stack on IAR. 2016-08-02 12:10:32 +01:00
Vincent Coubard 158c883dcd Export symbols __ICFEDIT_region_RAM_start__ and
__ICFEDIT_region_RAM_stop__ on NRF51.

Those symbols are needed by the nordic SDK.
2016-08-02 11:22:03 +01:00
Helmut Tschemernjak 9abc93d6d0 Added the missing on-board SPI LSM303C sensor SPI pin definition
to allow programming the sensor via mbed APIs
See issue(#1746)
2016-08-01 19:47:44 +02:00
cyliangtw a4b25174ff Fix IAR failure 2016-08-01 15:40:08 +08:00
ccli8 accb95d858 Add release_versions for NUMAKER_PFM_NUC472 2016-08-01 13:19:30 +08:00
Sam Grove ea78ed1699 Merge pull request #2300 from bridadan/enforce-standard-boards-v5
Enforcing 'standard' build for version 5 release
2016-07-29 17:15:55 -05:00
Martin Kojtal ac34f29f66 Merge pull request #2297 from neilt6/spi-mutex-fix
[HAL] Modified SPI to use shared mutex
2016-07-29 17:30:38 +02:00
Brian Daniels 7a07c386cb Enforcing 'standard' build for mbed OS 5.0 release
This PR enforces that the default_build in a target's definition in
hal/targets.json is set to standard to be included in the version 5
release.

This is being enforced because small builds do not support
multi-threading. This makes the capabilities more consistent across all
boards in the version 5 release.

NOTE: This removes the MOTE_L152RC and the LPC11U68
from the version 5 release list because the 'default_build' for these
targets is currently set to 'small'.
2016-07-28 18:47:49 -05:00
Sam Grove 43bae174f5 Merge pull request #2280 from pan-/nrf-standard-build
Change default_build from small to standard on NRF based targets with at least 32K of RAM.
2016-07-28 17:35:13 -05:00
Sam Grove 2a7d364a3a Merge pull request #2301 from bridadan/enable-f429zi-rz_a1h-v5
Enable v5 release for NUCLEO_F429ZI and RZ_A1H
2016-07-28 16:18:53 -05:00
Sam Grove 6973ee6fb8 Merge pull request #2302 from c1728p9/fix_rtc
Fix RTC test for LPC and STM families on GCC
2016-07-28 16:09:37 -05:00
Russ Butler 1da259af3b Fix RTC test failures by removing critical sect
Remove the critical section in mbed_rtc_time.c and instead use a
mutex to protect this. This function does not need to be interrupt
safe, just thread safe.

This fixes crashes on the GCC_ARM toolchain on the RTC test due to
trying to lock the GCC environment mutex while in a critical section.
Prior to this patch, this failure was likely to occur on STM and LPC
processor families.
2016-07-28 14:35:51 -05:00
Russ Butler 4047ff9576 Create dedicated file for PlatformMutex
Move the PlatformMutex class into a dedicated file to reduce the
number of unnecessary includes.
2016-07-28 14:21:04 -05:00
Brian Daniels eacbc93e98 Enable v5 release for NUCLEO_F429ZI and RZ_A1H 2016-07-28 12:26:29 -05:00
Sam Grove 1fb040861b Merge pull request #2269 from nvlsianpu/lfclkdoc2master
documentation regards nRF51/nRF52 Low frequency clock configuration
2016-07-28 11:54:38 -05:00
neilt6 e80b16628d [HAL] Modified SPI to use shared mutex
Modified the SPI class to use a shared mutex for all instances. This is
consistent with I2C and others.
2016-07-28 08:57:59 -06:00
svastm 0e63f4183c [STM32L4XX] Fix i2c clock config
The i2c expected wrongly a 32MHz core clock.

This commit add the following things:
 - I2C now handle both 80MHz and 48MHz core clock speeds
 - Align system_stm32l4xx.x files
2016-07-28 14:31:54 +02:00
Andrzej Puzdrowski d885692711 Changes form doc review of the LF clock configuration for nRF51/nRF52 SoCs. 2016-07-28 14:13:33 +02:00
cyliangtw d7d841fe17 Stronger RNG 2016-07-28 15:19:39 +08:00
cyliangtw 5710178afb Add NUC472 eth and entropy 2016-07-28 10:00:49 +08:00
ccli8 955695679e Fix compile error with IAR 2016-07-28 10:00:49 +08:00
ccli8 9e40582f0d Remove M453 and uvisor. Replace __disable_irq() with critical_section API
1. Remove M453. It is not to support in this commit.
2. Remove uvisor. It is incomplete and not to support in this commit.
3. Replace __disable_irq() with critical_section APIs.
2016-07-28 10:00:49 +08:00
cyliangtw 872d60fae3 Add IPV4 in NUC472 target 2016-07-28 10:00:49 +08:00
ccli8 6f3540c42d Fix I2C issues
1. I2C active.
2. 7-bit address assert error.
3. Master Repeat Start.
2016-07-28 10:00:49 +08:00
cyliangtw 56678473cd Support ethernet and mbed client 2016-07-28 10:00:49 +08:00
ccli8 41242e3d55 Support NUMAKER_PFM_NUC472 2016-07-28 10:00:49 +08:00
Vincent Coubard a62b00a7d5 Change default_build from small to standard on NRF based targets with at
least 32K of RAM.

NRF targets with 16K keep their default_build configuration set to small.
2016-07-27 23:42:19 +01:00
Brian Daniels e528b6cdea Adding NRF52_DK and NRF51_DK to the v2 and v5 release 2016-07-27 14:52:51 -05:00
Brian Daniels 0e4b78f840 Changing 'release' key to 'release_versions'.
The key 'release' in hal/targets.json is ambiguous. This changes the key
to 'release_versions' to emphasize that the entries should be version
numbers/strings and that it should be an array, not a singular value.
2016-07-27 13:38:02 -05:00
Brian Daniels edc580758e Adding concept of release versions for targets.
Previously, the condition for including a target in a release was decided
by a 'release' key being set to 'true' in hal/targets.json. This doesn't
have enough granularity when we release multiple versions of mbed. This PR
changes the 'release' key to an array of strings, where each member is a
version that the target supports. Currently the valid versions are '2' and
'5'.

This PR also adds more robust checking for invalid target configurations
in a release. This is enforced whenever the release list is built from the
data, preventing invalid targets from coming into the release.

Finally, it updates the build_release.py script to use the new api for
fetching release targets.
2016-07-27 13:36:52 -05:00
Bogdan Marinescu 1a1507ac78 Unification of wait functions
This commit adds two implementations for the mbed wait functions (wait,
wait_ms, wait_us):

- with the RTOS present, the wait functions will use `Thread::wait` for
  millisecond delays and a busy wait loop for sub-millisecond delays.
- with the RTOS not present, the wait functions will always use a busy
  wait loop.
2016-07-27 17:30:59 +03:00
Andrzej Puzdrowski 849e644c43 typos 2016-07-27 13:15:36 +02:00
Andrzej Puzdrowski 412d0fe5f1 Typo in l 2016-07-27 13:15:35 +02:00
Andrzej Puzdrowski 587c8952bc Add draft of doc for the ll clock configurtion using mbed configuration system. 2016-07-27 13:15:34 +02:00
Sam Grove 90fa585568 Merge pull request #2211 from pan-/nrf52_nrf51_unified_integration
NRF52 target and unification with NRF51
2016-07-27 02:35:43 -05:00
Russ Butler bf1ac0d50c Enable the STORAGE feature for the K64F
Enable storage for the K64F since this target supports it.
2016-07-26 23:07:25 -05:00
Sam Grove 09f9c0e50d Merge pull request #2219 from rgrover/improvements_to_mtd_k64_storage_driver
Improvements to k64 internal-flash storage driver
2016-07-26 22:17:40 -05:00
Sam Grove 7c73a659da Merge pull request #2064 from mbedmicro/kl25z-no-rtc
Remove support for the RTC
2016-07-26 20:40:31 -05:00
Sam Grove 96b338df6d Merge pull request #2221 from zgoda/BLUEPILL_sleep_code_refactor
[BLUEPILL_F103C8] Sleep code refactor
2016-07-26 20:27:21 -05:00
Vincent Coubard 9a92da8afe Fix HEAP and CSTACK placement for IAR on NRF51 and NRF52. 2016-07-26 23:39:02 +01:00
Vincent Coubard d3d6c8144d Set the build configuration for NRF52 to small. 2016-07-26 23:34:46 +01:00
Jarek Zgoda 093c7b9540 Fix code formatting 2016-07-26 16:50:49 +02:00
Sam Grove 4b6159b772 guard Freescale_KLXX shared RTC implementation with DEVICE_RTC 2016-07-25 23:21:33 -05:00
Sam Grove d8f44bb4c1 Remove support for the RTC. Only early versions of the interface firmware provided a clock for the RTC that was used. This has long been depreciated since it also routed the same pin to an ADC on the arduino connector which caused wiring conflicts 2016-07-25 22:40:22 -05:00
Głąbek, Andrzej 91bd396a08 Merge branch 'nrf52_nrf51_unified_integration' of https://github.com/pan-/mbed into refactored_serial_api
# Conflicts:
#	hal/targets/hal/TARGET_NORDIC/TARGET_NRF5/sdk/drivers_nrf/uart/nrf_drv_uart.c
2016-07-25 09:06:50 +02:00
Głąbek, Andrzej a8a7df03b7 Corrected serial_api - added waiting for TX completion in 'serial_putc' and before TX_COMPLETE callback, corrected pins configuration routines. 2016-07-25 09:01:05 +02:00
Russ Butler 5206addfd7 Fix intermittent lockup in echo test
The NRF5x driver transmits a byte by writing it to the uart data
register and then waiting for the TXRDY event indicating that this
byte was sent. If another UART interrupt comes in at the right time
the the UART ISR handler will process and clear the TXRDY event,
even though this interrupt is not enabled. This causes serial_putc
to get stuck waiting on an already cleared TXRDY.

This patch fixing the lockup by preventing the UART ISR from handling
the TXRDY event if this interrupt is not enabled.
2016-07-23 11:02:42 +01:00
Sam Grove dc9fb460ee prepend common .c files with mbed_ 2016-07-22 23:36:25 -05:00
Sam Grove 542fcca670 Merge pull request #2137 from sg-/operators
Remove macro for operators. Enable these as default behavior
2016-07-22 19:01:24 -05:00
Sam Grove 83f24fb0bd Merge pull request #2227 from mbedmicro/include_rtos_by_default
Includre rtos.h in mbed.h if present
2016-07-22 15:50:43 -05:00
Głąbek, Andrzej 32afc59409 Removed no longer used UART-related SDK files. 2016-07-22 22:11:39 +02:00
Głąbek, Andrzej d59608a85b Refactored serial_api implementation, improved asynchronous routines.
Not using Nordic SDK driver now, since it prevented interrupts from being handled properly.
2016-07-22 21:12:28 +02:00
Bogdan Marinescu b8ab75db03 Includre rtos.h in mbed.h if present
So that apps don't need to include "rtos.h" explicitly anymore.
2016-07-22 18:08:32 +03:00
Jarek Zgoda 8c785e5022 [BLUEPILL_F103C8] Sleep code refactor 2016-07-22 15:10:13 +02:00
Głąbek, Andrzej 42d9898fd0 Fixed RTC1_IRQHandler in a bit more elegant way. 2016-07-22 14:58:17 +02:00
Martin Kojtal 6b8ff8feb3 Merge pull request #2192 from egostm/sleep_code_refactor
[STM32] Sleep code refactor
2016-07-22 13:40:06 +01:00
Głąbek, Andrzej 900acc6562 Fixed RTC1_IRQHandler linking problem. 2016-07-22 13:33:02 +02:00
Mihail Stoyanov c8a5aae7ab Merge pull request #2098 from svastm/switch_default_build
[STM32XX] Fix default build
2016-07-22 12:11:07 +01:00
svastm 95c17a4ff4 [STM32L1XX] Add STM32CUBE_L1 cmsis files 2016-07-22 11:46:42 +02:00
svastm ab5ddb581e [STM32L1XX] Add STM32CUBE_L1 hal target files 2016-07-22 11:46:42 +02:00
svastm bdfc94c257 [STM32L1XX] Add STM32CUBE_L1 hal common files 2016-07-22 11:46:42 +02:00
Vincenzo Frascino 015067f73b [BEETLE] Add comment to clarify LEDs Emulation
Beetle board is built to optimize power consumption therefore does not
provide on-board LEDs.

This patch adds a comment in PinNames in order to clarify that the
Emulated LEDs are provided for compatibility reasons with the MBED test
suite.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-07-22 10:28:27 +01:00
Martin Kojtal 51cd3cb972 Merge pull request #2191 from geky/callback-fp-deprecate
[api] Mark FunctionPointer and friends as deprecated
2016-07-22 10:25:07 +01:00
Rohit Grover 9182b6d57d erase-optimization: check sectors for all-1s before launching erase
With this change, we check for all-1s before executing erase. This means that
the cost of erasing a range is now proportional to the amount of sectors which
have been programmed. This should result in latency improvements in our use of
containers based on flash storage.
2016-07-22 10:08:37 +01:00
Rohit Grover 1efb48f4b1 add helper function launchCommandFromIRQ() 2016-07-22 09:57:28 +01:00
Rohit Grover 02738b7af6 Add a separate error code for runtime/intergrity-check failures 2016-07-22 09:51:11 +01:00
Martin Kojtal 37e254fa16 Merge pull request #2204 from fvincenzo/master
Lp_ticker and Us_ticker time count fix
2016-07-22 09:50:05 +01:00
Rohit Grover 8396aafb5a add missing include for stdint.h to Driver_Storage.h 2016-07-22 09:38:11 +01:00
Rohit Grover 81ab477abc switch to using more specific names in DEVICE_STORAGE_CONFIG_*
This should help avoid conflicts with configs for other Storage devices in the
future.
2016-07-22 09:31:43 +01:00
Rohit Grover c82e7775b1 minor fixes to include headers 2016-07-22 09:21:58 +01:00
Rohit Grover 9014777a31 remove an un-necessary comment header 2016-07-22 09:17:44 +01:00
Rohit Grover 4f2c3edf5b salvaging the changes from PR#2150 which are useful in spite of fix to RWW
The RWW fix is controversial because it requires holding off interrupts for
periods of around 5ms at a time. But there were still some minor improvements
around that change which could be retained. This commit contains these
changes.
2016-07-22 09:14:39 +01:00
Martin Kojtal 781fda0465 Merge pull request #2193 from neilt6/lpc15xx-ticker-fix
[LPC15XX] Fixed µs_ticker implementation
2016-07-22 09:11:17 +01:00
Vincent Coubard 50ce4fd59c Initialize ticker prior to read, this is required by the wait_api module. 2016-07-22 08:41:34 +01:00
Vincent Coubard 07d7165f98 Remove LF clock initialization from os_init_clock.
The LF clock initialization is already handled by the SystemInit function.
This code was causing troubles when run on targets with an alternate LF
clock.
2016-07-21 19:36:58 +01:00
Vincent Coubard a9a0657c53 Reintegration of TARGET_MCU_NRF51822 from master.
It was deleted in the mbed-nordic branch.
2016-07-21 15:02:26 +01:00
Vincent Coubard f10cf7fe16 Merge remote-tracking branch 'mbed-nordic/epr_integration' into nrf52_nrf51_unified_integration 2016-07-21 14:50:37 +01:00
Vincent Coubard 478a7fd4cd Remove files from unused targets. 2016-07-21 13:39:53 +01:00
svastm 44da533625 [STM32XX] Fix default build 2016-07-21 13:09:26 +02:00
Martin Kojtal dd010097ba Merge pull request #2159 from jeromecoutant/PR_dev_NUCLEO_F207ZG
New STM32 board : NUCLEO_F207ZG
2016-07-21 11:13:33 +01:00
Martin Kojtal 89d5583bde Merge pull request #2190 from geky/callback-const
[api] Fix handling of const objects in Callback class
2016-07-21 11:07:03 +01:00
Martin Kojtal c9d8690fa9 Merge pull request #2194 from zgoda/BLUEPILL_fix_int_handler
[BLUEPILL_F103C8] Fix interrupt handler
2016-07-21 10:56:21 +01:00
Vincenzo Frascino 4f5b191e74 [BEETLE] Fix US_Ticker read
MBED OS requires an us_ticker_read function that returns a 32bit
value in microseconds. This can not be represented directly on
the Beetle Timer Load register.

max_us_on_reg = (0xFFFFFFFF ticks)/DIVIDER_US

This patch introduces an intermediate layer that counts the timer wraps
around and returns the correct value of us to the MBED library.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-07-21 10:38:20 +01:00
Vincenzo Frascino 1b364a1e52 [BEETLE] Fix Lp_Ticker read
MBED OS requires an lp_ticker_read function that returns a 32bit
value in microseconds. This can not be represented directly on
the Beetle Dual Timer Load register.

max_us_on_reg = (0xFFFFFFFF ticks)/DIVIDER_US

This patch introduces an intermediate layer that counts the timer wraps
around and returns the correct value of us to the MBED library.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-07-21 10:38:20 +01:00
Christopher Haster e806b89df6 Fixed handling of const objects in Callback class
Before, the following results in a compilation error:

    const struct Object *obj;
    void obj_doit(const Object *obj);

    Callback<void()> cb(obj, obj_doit);

This is especially noticable when migrating from the old Thread
constructor, which previously _required_ const.

Short term fix for all cv qualifiers through a C cast:
void *_obj = (void*)obj;
2016-07-20 19:20:32 -05:00
Vincent Coubard a81b8b13dd Set correct compiler support for NRF51 and NRF52 based targets. 2016-07-21 00:10:52 +01:00
Vincent Coubard 406ac8f5f4 Makes room for old NRF51 implementation.
the unified target for NRF51 has been renamed MCU_NRF51_UNIFIED and
hal implementation has been moved from TARGET_MCU_NRF51822 to
TARGET_MCU_NRF51822_UNIFIED.

In the process, the only real taget kept for NRF51 based targets is
NRF51_DK.

It is too risky at this stage to switch NRF51822 (16K target) to the new
softdevice. The overhead of the RTOS is already too huge.
2016-07-21 00:02:44 +01:00
Neil Thiessen 22598341cd [LPC15XX] Modified μs_ticker to use critical API
Replaced __disable_irq() and __enable_irq() with core_util_critical_section_enter() and core_util_critical_section_exit().
2016-07-20 08:55:14 -06:00
Vincent Coubard c3ddc9aaca Merge pull request #25 from pan-/armcc_support
Armcc support
2016-07-20 15:43:44 +01:00
Vincent Coubard 847d0f6764 Remove app_timer and dependencies instead of adding a dependency to RTX. 2016-07-20 15:39:44 +01:00
Jarek Zgoda c005781063 [BLUEPILL] fix interrupt handler 2016-07-20 11:06:58 +02:00
Vincent Coubard 0bb2d3376f Merge pull request #24 from nvlsianpu/nrf5x_lf_clk_config
NRF5x LF clk config over mbed config system
2016-07-20 09:01:26 +01:00
Vincent Coubard ea0ae68c60 Update memory layout for nrf51 targets. 2016-07-19 23:39:52 +01:00
Vincent Coubard 6d214eb76a ARM cc has difficulties to link binary with undefined symbols, even if
those symbols are not used.

bootloader and log are not needed in our case, just remove files causing
troubles.

define app_timer symbols with the RTX implementation.
2016-07-19 22:40:18 +01:00
Sam Grove d89c3c18f9 Merge pull request #2158 from c1728p9/singleton_support
Singleton support
2016-07-19 16:34:20 -05:00
Vincent Coubard 3368fa8b0d Merge pull request #22 from nvlsianpu/anpu_arm_cc_sandbox
fix nRF5x IAR build, files for keil build
2016-07-19 22:21:52 +01:00
Andrzej Puzdrowski fa5937fce8 Add configuration of LF clk source in targer.json for targets MCU_NRF51 & MCU_NRF52
Fix typo
2016-07-19 20:29:38 +02:00
Neil Thiessen d5f09859de [LPC15XX] Fixed µs_ticker implementation for GCC
Modified SCT3 match register critical section for compatibility with GCC toolchain.
2016-07-19 11:41:44 -06:00
neilt6 9f6b2c47ca [LPC15XX] Fixed µs_ticker implementation
Re-wrote µs_ticker implementation to use SCT3 instead of RIT in order to
fix a serious rollover bug at 1:11:34.
2016-07-19 10:24:02 -06:00
Erwan GOURIOU f7120413ec [STM32L4xx] Sleep API factorization
In order to enable sleep API factorization, HAL_Suspend/ResumeTick
functions have been implemented in hal_tick.c for each platform.
2016-07-19 16:36:33 +02:00
Erwan GOURIOU 75bbc0a3e1 [STM32L1xx] Sleep API factorization
In order to enable sleep API factorization, HAL_Suspend/ResumeTick
functions have been implemented in hal_tick.c for each platform.
2016-07-19 16:36:27 +02:00
Erwan GOURIOU 34c37c8b94 [STM32L0xx] Sleep API factorization
In order to enable sleep API factorization, HAL_Suspend/ResumeTick
functions have been implemented in hal_tick.c for each platform.
2016-07-19 15:28:21 +02:00
Erwan GOURIOU 8f6090d002 [STM32F7xx] Sleep API factorization
In order to enable sleep API factorization, HAL_Suspend/ResumeTick
functions have been implemented in hal_tick.c for each platform.
2016-07-19 15:28:19 +02:00
Erwan GOURIOU 3ab56972bc [STM32F4xx] Sleep API factorization
In order to enable sleep API factorization, HAL_Suspend/ResumeTick
functions have been implemented in hal_tick.c for each platform.
2016-07-19 15:28:16 +02:00
Erwan GOURIOU 2afde47b46 [STM32F3xx] Sleep API factorization
In order to enable sleep API factorization, HAL_Suspend/ResumeTick
functions have been implemented in hal_tick.c for each platform.
2016-07-19 15:28:08 +02:00
Erwan GOURIOU a227a9438c [STM32F1xx] Sleep API factorization
In order to enable sleep API factorization, HAL_Suspend/ResumeTick
functions have been implemented in hal_tick.c for each platform.
2016-07-19 15:13:49 +02:00
Erwan GOURIOU c1e0663922 [STM32F0xx] Sleep API factorization
In order to enable sleep API factorization, HAL_Suspend/ResumeTick
functions have been implemented in hal_tick.c for each platform.
2016-07-19 15:13:32 +02:00
0xc0170 c8fc07928a Merge branch 'fix_int_handler' of https://github.com/svastm/mbed into svastm-fix_int_handler
Conflicts:
	hal/targets/hal/TARGET_STM/TARGET_STM32F0/pwmout_api.c
	hal/targets/hal/TARGET_STM/TARGET_STM32F7/pwmout_api.c
2016-07-19 14:10:25 +01:00
Andrzej Puzdrowski be4687540c startup configuraton of LF oscilator over mbed configuration system. 2016-07-19 10:50:10 +02:00
Andrzej Puzdrowski d99843745b lf clock config prove of concept 2016-07-19 10:49:53 +02:00
0xc0170 edf015ad92 Merge branch 'master' into release
Conflicts:
	tools/export/uvision4.py
	tools/export/uvision5.py
2016-07-19 08:44:34 +01:00
Christopher Haster ad07ab8174 Marked FunctionPointer and friends as deprecated
FunctionPointer/FunctionPointerArg0/FunctionPointerArg1 has been
replaced by the more flexible Callback template class.

For the motivation behind adopting the Callback class:
https://github.com/mbedmicro/mbed/pull/1783
2016-07-18 16:22:21 -05:00
Russ Butler 348b32c3c6 Create singleton class and update code to use it
Create the wrapper class SingletonPtr.  This provides a safe way to
declare and use singletons.  This class allows both the lazy
initialization of a singleton, and allows the singleton to be
garbage collected by the linker if it is never referenced.

This patch also updates the HAL to use SingletonPtr when declaring
singleton mutexes.
2016-07-15 14:37:43 -05:00
Martin Kojtal 38ae4f9289 Merge pull request #2128 from LMESTM/fix_F4_serial_it_issue2119
[STM32] Serial interrupt TC vs. TXE
2016-07-15 15:21:49 +01:00
Martin Kojtal 1201f4a09c Merge pull request #2127 from svastm/fix_rtc_min_year
[STM32XX] Fix RTC minimum date
2016-07-15 15:03:14 +01:00
Andrzej Puzdrowski 62543f1337 remove unrichable return statment 2016-07-15 13:16:01 +02:00
Andrzej Puzdrowski d433b55763 changes from CR of IAR fixes for nRF5x port 2016-07-15 13:10:20 +02:00
Martin Kojtal ee2f9174ad Merge pull request #2097 from jamike/STM32F3
Target STM32F3
2016-07-15 11:05:02 +01:00
Martin Kojtal 829289bdd9 Merge pull request #2129 from jamike/Fix_for_#2124
Fix issue #2124: IAR no rtos
2016-07-15 10:48:53 +01:00
Martin Kojtal 46057c5d70 Merge pull request #2103 from LMESTM/fix_pwmout_period
Fix pwmout period
2016-07-15 10:26:08 +01:00
Andrzej Puzdrowski 7eaef66ba2 rename scater file for nRF52 ARM_5 2016-07-14 17:09:30 +02:00
Andrzej Puzdrowski 5d7c5cf9c1 Corect nRF51 IAR scatre files in order to be compatible with softdevice 130 2.0.0 2016-07-14 17:03:06 +02:00
Andrzej Puzdrowski 7861cefb05 Fix: IAR build for NRF5x produce proper combined intel-hex file. 2016-07-14 16:37:02 +02:00
Martin Kojtal edd539b499 Merge pull request #2123 from jamike/remove_uARM_sys_cpp
[TARGET_STM] : remove sys.cpp not used in TOOLCHAIN_ARM_MICRO
2016-07-14 10:08:41 +01:00
Andrzej Puzdrowski 3c8c82b06c make posible IAR compilation
IAR dosen't support "flexible array member" in c++ compilation
pm_peer_data_local_gatt_db_t::data[] -> pm_peer_data_local_gatt_db_t::data[1]
2016-07-13 13:16:36 +02:00
Vincent Coubard 9745eff74c Merge commit 'ce830296d0297a8da543c24134bf859710fd7698' into epr_integration
Merge the EPR tag and the nordic branch together.
2016-07-13 12:06:02 +01:00
jeromecoutant 616494bcc1 Minor updates after ST internal review 2016-07-13 11:35:27 +02:00
jeromecoutant d32c215f4e Add new NUCLEO_F207ZG (CMSIS)
source: STM32Cube_FW_F2_V1.4.0
- CMSIS v2.1.1 => v2.1.2
- HAL   v1.1.2 => v1.1.3
2016-07-12 16:40:30 +02:00
jeromecoutant 4f579ecf7f Add new NUCLEO_F207ZG (HAL) 2016-07-12 16:38:23 +02:00
jeromecoutant 7ab31e8524 Add new STM32F2 family (HAL) 2016-07-12 16:38:19 +02:00
jeromecoutant cc729709fb Update targets.json to add NUCLEO_F207ZG 2016-07-12 16:38:02 +02:00
Andrzej Puzdrowski 5d5ea9a050 CR changes for PWM of nRF52 part 3. 2016-07-12 15:30:32 +02:00
Andrzej Puzdrowski 3c93283dc0 CR changes for PWm nRF52 part 2. 2016-07-12 15:23:25 +02:00
Andrzej Puzdrowski 3519122760 cCR changes for nRF52 PwmOut implementation. 2016-07-12 15:12:09 +02:00
Bogdan Marinescu 6f86064ece Merge pull request #2140 from mbedmicro/k64f_flow_control
Added flow control for K64F
2016-07-12 13:07:11 +03:00
Bogdan Marinescu 089b67cc79 Merge pull request #2144 from geky/stdio-baud-config
Add config option for stdio baud rate
2016-07-12 13:06:29 +03:00
Andrzej Puzdrowski 9f337875bb PWM for nRF52 full debuged. 2016-07-12 11:47:34 +02:00
Andrzej Puzdrowski 7798651719 nRF52 PwmOut implementation debug 2016-07-12 11:44:42 +02:00
Andrzej Puzdrowski 07ce12fcc5 nrf52 PwmOut in progress. 2016-07-12 11:44:42 +02:00
Martin Kojtal 4b441c9e9e Merge pull request #2121 from rgrover/develop
introduce a context structure to encompass global state in the K64F Storage driver
2016-07-12 10:22:36 +01:00
Hasnain Virk a4475a0cf8 Use correct mask for CTS flow control 2016-07-12 11:31:58 +03:00
Russ Butler 0343ad2674 KSDK2 - set ADC mux before taking measurement
Set the channel mux before taking a reading rather than on
initialization.  This allows ADC pins on both mux A and B to be used in
the same application.
2016-07-11 20:34:58 -05:00
Christopher Haster 126de5b07a Added config option for stdio baud rate 2016-07-11 18:42:44 -05:00
Bogdan Marinescu 998af81092 Added flow control for K64F
This commit adds hardware flow control capabilities for the K64F family
of MCUs. This is a backport of these commits:

9bfcfd0572
77042cc945

with a few changes:

- since the current version of KSDK doesn't seem to have APIs for
  manipulating the flow control settings, we change the peripheral
  registers directly.
- updated pin maps for RTS/CTS in accordance to the K64F datasheet.
2016-07-11 16:41:07 +03:00
jeromecoutant 72f4aa5e2b Add new STMF2 family (CMSIS)
source: STM32Cube_FW_F2_V1.4.0
- CMSIS v2.1.1 => v2.1.2
- HAL   v1.1.2 => v1.1.3
2016-07-11 15:24:02 +02:00
Martin Kojtal 967b45a3ec Merge pull request #2029 from adustm/b_fix_MBED_16_STM32F4
Fix #2027 Add timeinfo.tm_isdst = -1 to pass MBED_16 test with IAR.
2016-07-11 11:07:40 +01:00
Bogdan Marinescu 2d41d9b013 Merge pull request #2138 from ohagendorf/progen_correction
[target.json - progen] changing a wrong config
2016-07-11 12:54:22 +03:00
0xc0170 359d33cc16 Revert part of the FPU change
We keep target.core names, it defines if CPU contains FPU, as it's common - Cortex M4F/M7F.
We add Cortex M7FD for double precision FPU.
2016-07-11 10:39:23 +01:00
Martin Kojtal 8188684cab Merge pull request #2136 from lrks/fix_i2c_slave_addr_ksdk2
[KSDK2_MCUS] Fix I2C slave address
2016-07-11 09:50:57 +01:00
ohagendorf 7388b446d4 [target.json - progen] changing a wrong config
ARCH_MAX has a STM32F407 mcu
2016-07-10 20:58:35 +02:00
Sam Grove 254ae0e109 Remove macro for operators. Enable these as default behavior 2016-07-10 13:47:13 -05:00
lrks 4b77054940 Fix I2C slave address
Remove the needless bit shift for I2C slave address.
2016-07-10 10:34:13 +09:00
Christopher Haster 98d55e71d8 Moved core_util_atomic_*_ptr functions out of cortex switch 2016-07-09 11:14:16 -05:00
Christopher Haster 70013d03b6 Fixed casts around calls to atomic u32 functions
- uint32_t -> void *
- void ** -> uint32_t *

For whatever reason `uintptr_t` and `uint32_t` expand to incompatible
types `unsigned int` and `unsigned long int`. This is implicitely casted
when passed by value, but causes a warning in gcc and error in iar when
passed by pointer.

This issue is not present on x86_32 gcc
2016-07-09 11:13:20 -05:00
Michel JAOUEN e29aa6a7fa Fix issue #2124: IAR no rtos
Remove the 2nd call of mbed_sdk_init in __iar_argc_argv
2016-07-08 13:45:52 +02:00
svastm a101c4f3d8 [STM32XX] Fix RTC minimum date 2016-07-08 13:22:15 +02:00
Michel JAOUEN 6dfb37eafc [TARGET_STM] : remove sys.cpp not used in TOOLCHAIN_ARM_MICRO 2016-07-08 10:00:45 +02:00
Laurent MEUNIER 9c33f70157 [STM32] Serial interrupt TC vs. TXE
Reported in Issue #2119

There was some inconsistency in serial interrupt handling accross STM32
serial_api.c implementation. In case application wants to be notified of
Tx interrupt, it is mainly interested in transmission complete information,
which is the _TC interrupt.

The _TXE (Transmit Data REgister Empty) is used only within driver
in case SERIAL_ASYNCH is being supported to make the transmission
more efficient.
2016-07-08 09:53:32 +02:00
Christopher Haster 2c78dca69c Fixed typo in incr/decr function
Result of last minute change, interestingly only emits a
warning in gcc.
2016-07-07 22:51:31 -05:00
Sam Grove c55c07a890 Merge pull request #2054 from geky/critical-cas-ptr
Added cas instrinsics for pointer values
2016-07-07 16:59:56 -05:00
Rohit Grover 887aa833b3 rename CONFIG_HARDWARE... to have a prefix of DEVICE_STORAGE_ 2016-07-07 14:55:56 +01:00
0xc0170 24916505e1 mbed lib revision - 122 2016-07-07 12:04:54 +01:00
Andrzej Puzdrowski 17c72504ca os_tick for iar 2016-07-07 12:16:11 +02:00
Rohit Grover 14a14a07dc make compile-time decision about async. vs. sync. operation 2016-07-07 08:53:36 +01:00
Rohit Grover a2b683677d introduce a context structure to encompass global state 2016-07-07 08:53:36 +01:00
Rohit Grover 53def56426 get rid of an un-necessary call to NVIC_ClearPendingIRQ 2016-07-07 08:53:36 +01:00
Rohit Grover d60021ca3e remove the call to FLASH_Init() 2016-07-07 08:53:35 +01:00
Christopher Haster 946199183c Minor documentation updates for critical
- extra dereference in cas example
- clarification of incr/decr
2016-07-06 13:06:37 -05:00
Christopher Haster 9067148618 Standardized style of critical.h
per @0xc0170
2016-07-06 13:06:37 -05:00
Christopher Haster 26726cc170 Added proper usage of standard types for critical pointer functions 2016-07-06 13:06:34 -05:00
Christopher Haster cf6f8e33fb Added cas instrinsics for pointer values
- core_util_atomic_cas
- core_util_atomic_incr
- core_util_atomic_decr
2016-07-06 13:04:36 -05:00
Martin Kojtal 704c042707 Merge pull request #2109 from 0xc0170/dev_lpc2368_arm
Targets - LPC23678 ARM fails to build, remove from supported toolchains
2016-07-06 11:40:14 +01:00
Bogdan Marinescu 087b8fa648 Added proper definition for NRF51_MICROBIT_B 2016-07-06 12:31:30 +03:00
0xc0170 668dd17784 Targets - LPC23678 ARM fails to build, remove from supported toolchains
Tracking issue: https://github.com/mbedmicro/mbed/issues/2108
2016-07-06 09:41:32 +01:00
Martin Kojtal 7c00a75b05 Merge pull request #2105 from bridadan/ignore-target-specific-test
Adding .mbedignore for target specific test
2016-07-06 09:05:49 +01:00
Martin Kojtal 8d1024433a Merge pull request #2096 from 0xc0170/fix_release_targets
Fix release targets in the build_release.py
2016-07-06 09:02:44 +01:00
Andrzej Puzdrowski bd8c335c07 add scater files forARM CC and IAR for nRF52
add the startup file for IAR
modyfi object.h for strict compiler
2016-07-06 09:53:53 +02:00
Brian Daniels af7da146a9 Adding .mbedignore for target specific test 2016-07-05 11:05:57 -05:00
Michel Jaouen 1794463a06 [STM32F3]: fix for uart baudrate. 2016-07-05 14:30:25 +01:00
Andrzej Puzdrowski a8c27bde69 startup file for nRF52 basing on nRF51 and nordic SDK v11. 2016-07-05 15:27:57 +02:00
Laurent MEUNIER 6dc9501153 [STM32L4] Handle higher range pwm periods
As first reported on STM32F3 family in #1682, we need to cope
with periods in the seconds range as well. This is fixed here in
the same way as was done for STM32F3 by using the pre-scaler.
2016-07-05 14:32:56 +02:00
Laurent MEUNIER 6eab29cc09 [STM32L1] Handle higher range pwm periods
As first reported on STM32F3 family in #1682, we need to cope
with periods in the seconds range as well. This is fixed here in
the same way as was done for STM32F3 by using the pre-scaler.
2016-07-05 14:32:54 +02:00
Laurent MEUNIER 332660eb1b [STM32L0] Handle higher range pwm periods
As first reported on STM32F3 family in #1682, we need to cope
with periods in the seconds range as well. This is fixed here in
the same way as was done for STM32F3 by using the pre-scaler.
2016-07-05 14:32:52 +02:00
Laurent MEUNIER 0cdcb9bafa [STM32F7] Handle higher range pwm periods
As first reported on STM32F3 family in #1682, we need to cope
with periods in the seconds range as well. This is fixed here in
the same way as was done for STM32F3 by using the pre-scaler.
2016-07-05 14:32:49 +02:00
Laurent MEUNIER ab45ef0378 [STM32F4] Handle higher range pwm periods
As first reported on STM32F3 family in #1682, we need to cope
with periods in the seconds range as well. This is fixed here in
the same way as was done for STM32F3 by using the pre-scaler.
2016-07-05 14:32:47 +02:00
Laurent MEUNIER ce5ee179cd [STM32F1] Handle higher range pwm periods
As first reported on STM32F3 family in #1682, we need to cope
with periods in the seconds range as well. This is fixed here in
the same way as was done for STM32F3 by using the pre-scaler.
2016-07-05 14:32:45 +02:00
Laurent MEUNIER 00e51f4fe2 [STM32F0] Handle higher range pwm periods
As first reported on STM32F3 family in #1682, we need to cope
with periods in the seconds range as well. This is fixed here in
the same way as was done for STM32F3 by using the pre-scaler.
2016-07-05 14:32:43 +02:00
Laurent MEUNIER 7dc0ce3c2b [STM32L4] place holder for common object definition
Some of the objects in object.h are the same for all targets.
Create a place where to define those common definitions, and
start using it for pwm object.
2016-07-05 14:32:40 +02:00
Laurent MEUNIER e71a164682 [STM32L1] place holder for common object definition
Some of the objects in object.h are the same for all targets.
Create a place where to define those common definitions, and
start using it for pwm object.
2016-07-05 14:32:35 +02:00
Laurent MEUNIER f77155f6b6 [STM32L0] place holder for common object definition
Some of the objects in object.h are the same for all targets.
Create a place where to define those common definitions, and
start using it for pwm object.
2016-07-05 14:32:32 +02:00
Laurent MEUNIER 42498e9f7c [STM32F7] place holder for common object definition
Some of the objects in object.h are the same for all targets.
Create a place where to define those common definitions, and
start using it for pwm object.
2016-07-05 14:32:30 +02:00
Laurent MEUNIER 2b178a5c99 [STM32F3] place holder for common object definition
Some of the objects in object.h are the same for all targets.
Create a place where to define those common definitions, and
start using it for pwm object.
2016-07-05 14:32:24 +02:00
Laurent MEUNIER f6164f34cd [STM32F1] place holder for common object definition
Some of the objects in object.h are the same for all targets.
Create a place where to define those common definitions, and
start using it for pwm object.
2016-07-05 14:32:22 +02:00
Laurent MEUNIER baa95ec5b2 [STM32F0] place holder for common object definition
Some of the objects in object.h are the same for all targets.
Create a place where to define those common definitions, and
start using it for pwm object.
2016-07-05 14:32:16 +02:00
Laurent MEUNIER 24ac9fd49d [STM32F4] place holder for common object definition
Some of the objects in object.h are the same for all targets.
Create a place where to define those common definitions, and
start using it for pwm object.
2016-07-05 14:32:13 +02:00
Martin Kojtal 17693ac0fa Merge pull request #2100 from jamike/fix_NUCLEO_F303K8_MBED_16
[NUCLEO_F303K8] fix MBED_16.
2016-07-05 13:30:39 +01:00
0xc0170 de4c97abb8 Targets - add release boolean flag 2016-07-05 10:47:51 +01:00
Michel JAOUEN 552631ec9e [NUCLEO_F303K8] fix MBED_16.
RTC clk on LSI (no LSE connected)
2016-07-05 11:45:12 +02:00
Michel JAOUEN 3046e5b7fe [STM32F3]: Hal update
release cube V1.6.0
HAL V1.3.0
2016-07-05 11:27:04 +02:00
Michel JAOUEN e04fab1069 [DISCO_F303VC] : fix build issue 2016-07-05 11:23:42 +02:00
Laurent MEUNIER fd4941f3f4 [STM32F3] Fix for pmw period change
The new period needs to be saved before the duty cycle is updated as
the period is used in pwmout_write function.

Also presclaer shall better be initiliazed properly.
2016-07-05 10:53:49 +02:00
Martin Kojtal e56b9d06b7 Merge pull request #2087 from ohagendorf/stm32f7xx_fpu_sp_dp
fpu with single/double precision - bugfix and extension
2016-07-05 09:39:44 +01:00
svastm be1efa4ae8 [STM32XX] some comment corrections 2016-07-05 10:02:15 +02:00
svastm 67ef32c51a [STM32F7XX] Fix timer interrupt handler 2016-07-05 10:02:11 +02:00
svastm db49b362e9 [STM32F4XX] Fix timer interrupt handler 2016-07-05 10:01:43 +02:00
svastm 307a13c095 [STM32F3XX] Fix timer interrupt handler 2016-07-05 09:57:19 +02:00
svastm bb565984c1 [STM32F1XX] Fix timer interrupt handler 2016-07-05 09:57:19 +02:00
svastm c2e4261ccc [STM32F0XX] Fix timer interrupt handler 2016-07-05 09:57:19 +02:00
svastm b36978b265 [STM32L4XX] Fix timer interrupt handler 2016-07-05 09:57:19 +02:00
svastm 84e28df32b [STM32L1XX] Fix timer interrupt handler 2016-07-05 09:57:19 +02:00
svastm 2780436466 [STM32L0XX] Fix timer interrupt handler 2016-07-05 09:57:19 +02:00
Martin Kojtal fe3b80aa68 Merge pull request #2090 from jamike/fix#2089
Fix#2089
2016-07-05 08:36:13 +01:00
Olaf Hagendorf 78bb74a761 fpu with single/double precision - rebasing
- master branch got two new cortex-m4f targets -> travis build failed
2016-07-04 22:10:49 +02:00
Olaf Hagendorf 4fe41d4edd fpu with single/double precision - removing redundancy
- removing redundancy as discussed in PR #2087:
 - in target.json the core option can have only this values : "Cortex-M0", "Cortex-M0+", "Cortex-M1", "Cortex-M3", "Cortex-M4", "Cortex-M7", "Cortex-A9" - Cortex-M4F and Cortex-M7F removed
 - in target.json an additional fpu option with values: "single" and "double" can be used
- build and export scripts are changed to handle this

- tested (compiling, running on hardware) with nucleo_f767 (cortex-m7 with double precision fpu), nucleo_f746 (cortex-m7 with single precision fpu), nucleo_f446 and nucleo_l467 (cortex-m4 with single precision fpu), teensy31 (cortex-m4 without fpu - only build test), nucleo_l073 (cortex-m0)
- singletest results are added to PR #2087 comments
2016-07-04 22:08:31 +02:00
Olaf Hagendorf ea196e2adb fpu with single/double precision - bugfix and extension
- creating new core name Cortex_M7F_DP for a target with a double precision fpu
- adding new core name to arm.py to set compiler/linker flags to a double precision fpu when configured in target.json
- up to now: gcc wrote flag for a double precision fpu -> target with STM32F746 didn't run when using double variables - mcu has only single precision fpu
- changing gcc.py to use single precision for Cortex-M7 und double precision for Cortex_M7F_DP

tested with NUCLEO_F746, NUCLEO_F767 and build.py+make.py and exporting with project.py + compiling/flashing

- iar.py need a similar extention - I didn't change that yet because
  - did not run at the moment - python exception
  - currently worked on in PR #1948
2016-07-04 22:08:30 +02:00
Erwan GOURIOU eaf77ed37f [STM32F4xx][NUCLEO_F429ZI] Add on for NUCLEO_F429ZI export and tests 2016-07-04 15:20:12 +02:00
Erwan Gouriou 091e62cbf7 [STM32F4xx][NUCLEO_F429ZI] Update PeripheralPins.c and pin definition 2016-07-04 14:00:41 +02:00
Erwan Gouriou 9bb08291ce [STM32F4xx] Add support for NUCLEO_F429ZI 2016-07-04 14:00:41 +02:00
Martin Kojtal 2b5f0317c4 Merge pull request #2039 from LMESTM/dev_NUCLEO_F446ZE
Add nucleo_f446ze
2016-07-04 11:49:15 +01:00
Martin Kojtal 4c0319388b Merge pull request #2086 from svastm/fix_mbed_23_l0
[STM32L0XX] Remove stabilization of the timer
2016-07-04 11:44:51 +01:00
Martin Kojtal 5af16c9546 Merge pull request #2079 from fvincenzo/master
[BEETLE] Add BLE support
2016-07-04 11:01:27 +01:00
Laurent Meunier 39197e6ad3 [NUCLEO_F446ZE] Add HAL target
Inspired from NUCLEO_F446RE, only PinNames.h updated according to NUCLEO_F446ZE schematics.
2016-07-04 11:42:43 +02:00
Laurent Meunier d6e7df9591 [NUCLEO_F446ZE] Add CMSIS target
Adding new nucleo target, actually exactly the same as NUCLEO_F446RE
2016-07-04 11:42:43 +02:00
Martin Kojtal ebfe44c1bf Merge pull request #2038 from infinnovation/parityeven-fix
[K64F] serial_api.c: Fix #1979 assertion error for ParityEven
2016-07-04 10:40:06 +01:00
Martin Kojtal a3a4c78ea0 Merge pull request #2070 from akselsm/efm32-update
[EFM32] Update HAL implementation
2016-07-04 10:35:58 +01:00
Martin Kojtal 1216d8088d Merge pull request #2092 from akselsm/spi-init-fix
SPI: Properly aquire peripheral in constructor
2016-07-04 10:10:11 +01:00
Aksel Skauge Mellbye a81fdc461d [EFM32] Backport changes from mbed OS 3. 2016-07-04 10:08:20 +02:00
Aksel Skauge Mellbye da2a4ccbae [EFM32] Add SPI test. Refactor SPI HAL, fix misc test failures.
Properly support the bit_width parameter for the async API.
Fix issues with long DMA transfers (exceeding 1023 frames).
2016-07-04 10:08:09 +02:00
Steven Cooreman 746c485b43 [EFM32] Swap out INT_* functions with mbed critical sections 2016-07-04 10:06:32 +02:00
Aksel Skauge Mellbye 641087ce65 [EFM32] Add delay after reset for greentea test runs.
The host-test resets the target by sending a UART break. After this, it takes some
time for the target to come back up. Without this timeout, the __sync packet
sent by greentea would not be retransmitted by the interface chip (i.e. it would never
reach the target). Testing on different devices indicates that 2 seconds delay
is sufficient for the device to reset and the  __sync packet to reach the target.
2016-07-04 10:03:02 +02:00
Aksel Skauge Mellbye b09a87ffb8 SPI: Properly aquire peripheral in constructor
Prevent mismatch between _owner and peripheral configuration. In the previous
implementation, the following code would leave the peripheral in an inconsistent
state:

```
SPI spi1(...);      // _owner is NULL, peripheral config is 1
spi1.transfer(...); // _owner is 1, config is 1
SPI spi2(...);      // _owner is 1, config is 2
spi1.transfer(...)  // 1 thinks it still owns peripheral, doesn't reconfigure
```
2016-07-04 09:52:57 +02:00
Andrzej Głąbek 6a31d1abc1 Merge pull request #14 from anangl/hal_improvements
Enabled lp_ticker after adjusting its implementation to the new API.
2016-07-04 09:23:47 +02:00
Głąbek, Andrzej 75ba6b7623 Polished tickers implementation - moved interrupt clearing code. 2016-07-04 09:21:39 +02:00
Michel Jaouen 680afcb677 [STM32F3]: fix iar built (cast error) 2016-07-03 23:46:29 +02:00
Vincenzo Frascino 3785de8412 [BEETLE] Add BLE Cordio Support into HAL
This patch adds BLE Cordio support into MBED HAL. It contains:
* Cordio and TRIM object files
* The Cordio stack header file
* The Cordio library for Beetle Systems precompiled for GCC and ARMCC

The BLE implementation will be provided in a future patch in the mbed-os
repository.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-07-01 17:25:11 +01:00
Vincenzo Frascino 1be4788b1a [BEETLE] Mbed SDK Init Update
In Beetle systems eFlash and Cache Flash are always enabled by default.
This patch updates the Mbed SDK Init procedure to reflect the changes in
the eFlash and Cache Flash Drivers provided in a previous patch.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-07-01 17:24:14 +01:00
Vincenzo Frascino 15745a063d [BEETLE] Add BLE Cordio support into CMSIS
This patch adds BLE Cordio support into CMSIS. It provides:
* A modification for the linker scripts for both ARMCC and GCC
  compilers that adds the cordio specific sections.
* A method to access the Flash stored MAC Address.

The CORDIO_RO_2.1.o and TRIM_2.1.o objects that rappresent the Cordio
firmware will be added by a future patch.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-07-01 17:23:48 +01:00