Commit Graph

638 Commits (d49a4e6da91f89a1dba45c9bce5f4413d680386b)

Author SHA1 Message Date
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
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
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