Commit Graph

192 Commits (a1fb8d21132b54b889962b4ba00fe51f00d4c5ec)

Author SHA1 Message Date
Vincent Coubard f2c4b770fd Factorization of NRF51 and NRF52 targets.
A new wbase target has been added (NRF5).
In this target, commonalities between 51 and 52 will be shared.
2016-06-15 12:30:04 +01:00
Vincent Coubard 70ffeb61be Add softdevice S132 binary for nrf52 targets. 2016-06-15 11:27:44 +01:00
Vincent Coubard a3b9c78df6 Update detection code for NRF52. 2016-06-15 11:26:53 +01:00
Vincent Coubard 9d85bfda25 Implementation of nrf52 target (draft). 2016-06-14 22:39:45 +01:00
Vincent Coubard 9d66dca950 Add NRF52 and NRF52_TARGETS. 2016-06-14 22:39:06 +01:00
Brian Daniels 8bbc163d3f Removing K64F_UVISOR target 2016-06-14 05:00:19 +01:00
Martin Kojtal e9b56018d2 Merge pull request #1848 from TomoYamanaka/master
Implement SystemcoreClock
2016-06-14 01:53:10 +02:00
Martin Kojtal ab5bd795a4 Merge pull request #1920 from 0xc0170/fix_inclusion
Fix inclusion (board.c and critical.c)
2016-06-14 01:10:06 +02:00
Martin Kojtal 9a06a7509b Merge pull request #1921 from akselsm/efm32-license-update
[EFM32] Update license texts.
2016-06-14 00:30:26 +02:00
Aksel Skauge Mellbye 8bdfb6c71d [EFM32] Update license texts. 2016-06-13 23:23:58 +01:00
Martin Kojtal f03943ccf6 Merge pull request #1889 from svastm/fix_rtos_uarm_l4
[STM32L4XX] Fix heap size for RTOS on uARM
2016-06-13 23:40:37 +02:00
0xc0170 81a7bdc482 critical - fix __STDC_LIMIT_MACROS for armcc
UINT32_MAX is defined only if __STDC_LIMIT_MACROS is provided prior
including stdint.h
2016-06-13 22:14:13 +01:00
0xc0170 3b2d75fcda error - include interface header file
to get mbed_error_vprinf() declaration
2016-06-13 21:54:44 +01:00
Vincenzo Frascino f8d7a76128 [BEETLE] Enable RTOS on Beetle
This patch enables RTOS support on Beetle.
It contains:
* Updated Beetle Startup code for ARMCC
* Modified SysTick Driver
* RTOS specific configuration parameters
* RTOS specific test suite enablement

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-06-13 16:21:19 +01:00
Martin Kojtal 89c1bef1b1 Merge pull request #1916 from c1728p9/fix_gcc
Fix GCC malloc lock
2016-06-13 16:17:02 +02:00
Russ Butler 8c2e352dd8 Fix GCC malloc lock
The malloc lock functions were not declared as extern "C" so they
are not getting linked to the standard library.  Add extern "C" to
fix this.

This bug was introduced in the commit:
d0b7b3b497 -
Fix duplicate symbols for malloc lock and unlock
2016-06-13 15:00:42 +01:00
Vincenzo Frascino ce1c2c780a [BEETLE] Add LED Emulation
The current version of MBED test environment requires LEDs to be present
in the platform.

Beetle HW does not provide any user programmable LEDs. This patch provides an
emulation of the feature by using dummy PINs.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-06-13 14:26:49 +01:00
Vincenzo Frascino c1442139a0 [BEETLE] Add support for uVision 5 exporter
This patch adds support for uVision 5 exporter to the Beetle Target.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-06-13 14:26:45 +01:00
Vincenzo Frascino 09b5551d41 [BEETLE] Add initial Beetle HAL files
This patch adds support for BEETLE SoC Target into the HAL layer.
It contains:
* Beetle Platform Configuration
* I2C API
* SPI API
* Serial API
* Port API
* us Ticker API

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-06-13 14:26:30 +01:00
Vincenzo Frascino 44be0626a6 [BEETLE] Add initial Beetle CMSIS files
This patch adds support for BEETLE SoC Target into the CMSIS layer.
It contains:
* Beetle System Core
* APB DualTimer Driver
* APB Timer Driver
* eFlash Driver
* Flash Cache Driver
* ARM Toolchain Support
* GCC ARM Toolchain Support

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-06-13 11:56:14 +01:00
Vincenzo Frascino 0d3268b61c [BEETLE] Add initial support
This patch adds support for the BEETLE Target. The compilers supported by
this target are:
* ARMCC
* GCC ARM

The exporters and the CMSIS/HAL components will follow in future patches.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-06-13 11:55:33 +01:00
Sam Grove 5acdad9fd7 Merge pull request #1907 from c1728p9/only_allow_one_thread_for_unsafe_stdlib
Only allow one thread for unsafe stdlib
2016-06-12 22:03:07 +01:00
Russ Butler 58d15f3007 Add virtual destructor to classes
Add a virtual destructor to classes which have a virtual lock and
unlock.  Remove the virtual qualifier from functions in
InterruptManager since this class cannot be extended.
2016-06-12 21:33:31 +01:00
Russ Butler d0b7b3b497 Fix duplicate symbols for malloc lock and unlock
When the malloc lock and unlock functions are inside a library they
conflict with the standard libraries weak version of these functions.
This is because of the way weak references are handled by the linker.
This patch renames the lock and unlock functions defined inside RTX
so they do not conflict.  A thunk inside retarget.cpp then calls the
RTX functions.  This problem does not occur with retarget.cpp since
it is always build into an object file rather than a library file.
2016-06-12 18:18:41 +01:00
Russ Butler 3db2c030d2 Only allow one thread on unsafe standard libs
When using a standard library which does not support multi-threading
allow only one thread to be used.  This allows the code to remain
safe.
2016-06-12 18:18:40 +01:00
Sam Grove 4dba251c33 Merge pull request #1896 from geky/align-stack-iar
Added warning about stack alignment limitations on IAR
2016-06-12 17:45:34 +01:00
Sam Grove df0c855df9 Merge pull request #1904 from sg-/iar-lpc-eth-patch
rename section used for eth and usb
2016-06-11 18:25:01 +01:00
Russ Butler b174d6a314 Add virtual lock for thread safe classes
Add a virtual lock for the classes which are thread safe.  This
allows the use of a mutex to be overridden.
2016-06-11 17:33:12 +01:00
Russ Butler e4f6e1b327 Update assert and error to be interrupt safe
Add printf functions intended for errors which are safe to call from
interrupts.  Update assert and error to use this function.
2016-06-11 17:33:10 +01:00
Russ Butler a6f611b706 Add sync level documentation to classes
Document public classes to indicate level of protection provided.
2016-06-11 17:33:09 +01:00
Russ Butler feb60784e9 Make core mbed API thread safe
Make the mbed C++ API thread safe by adding a combination of
mutexes and critical sections.  Stub out all mutexes when the
RTOS is not present.
2016-06-11 17:33:02 +01:00
Sam Grove 50c106f718 rename section used for eth and usb 2016-06-11 07:11:09 -07:00
Sam Grove dc1c716618 Merge pull request #1897 from pan-/fix_nrf51_rtos_ticker
Fix function RTOS ticker of nrf51 port
2016-06-10 17:59:50 +01:00
Alessandro Angelino a076f9a415 K64F: Add call to uvisor_init() in the startup code
This is backwards-compatible with unsupported targets.

If an application is compiled using the K64F target without uVisor
(UVISOR_PRESENT not set or set to 0) then uvisor_init() will just be an
empty function that immediately returns.
2016-06-10 16:56:17 +01:00
Alessandro Angelino 6aeafab6b3 K64F: Add page allocator sections to linker script
These changes are backwards compatible.

Targets that do not use the page allocator heap will have the same stack
and heap sizes available.
2016-06-10 16:56:17 +01:00
Alessandro Angelino eb9d124230 K64F: Add uVisor sections to the linker script
This commit includes all sections that are just added to the linker
script. These changes are backwards-compatible, meaning that they will
not affect the existing code.

Targets that do not support uVisor will leave those sections empty.
2016-06-10 16:56:17 +01:00
Niklas Hauser f81cf5d686 Add default implementation of malloc wrapping
For GCC malloc is always wrapped, but only used for FEATURE_UVISOR.
Otherwise we have to simply forward the wrappers.
2016-06-10 16:56:17 +01:00
Jaeden Amero 5d48984914 Initialize uvisor-lib
uvisor-lib has an init function that must be called before the RTOS kernel
is initialized. Call uvisor_lib_init from software_init_hook to accomplish
this.
2016-06-10 16:56:17 +01:00
Jaeden Amero 43e595aec3 Wrap software_init_hook
Wrap software_init_hook so that it can be used or extended from outside the
RTOS. This is desirable so that code can be added to the software_init_hook
without making the RTOS depend on new features or libraries.
2016-06-10 16:56:17 +01:00
Vincent Coubard 6315f8e486 Fix function is_in_wrapped_range, the function where returning false when
instead of true when begin <= val < end. The documentation was correct but
not the code.
2016-06-10 14:46:11 +01:00
svastm fe2871b8bd [STM32L4XX] rename startup file to .S 2016-06-10 09:48:55 +02:00
svastm a1b9e560e2 [STM32L4XX] Fix heap size for uARM 2016-06-10 09:48:55 +02:00
tomoyuki yamanaka 8f3e72f01c Implement SystemCoreClockUpdate () function 2016-06-10 16:16:06 +09:00
tomoyuki yamanaka 0a9e5fa3d6 Implement SystemCoreClockUpdate () function
We changed to calculare the CPU Clock by the division ratio setting of from FRQCR register.
2016-06-10 16:13:35 +09:00
Christopher Haster 0defc77fb7 Added warning about stack alignment limitations on IAR 2016-06-09 22:03:25 -05:00
Russ Butler 9d7ca3e405 KSDK2 - restore interrupts in InstallIRQHandler
Restore the state of interrupts inside InstallIRQHandler rather than
leaving them enabled.
2016-06-09 18:27:22 +01:00
Martin Kojtal 24e767c10f Merge pull request #1888 from sg-/feature-label
Feature label
2016-06-09 15:40:46 +01:00
Sam Grove d71f015659 Added features to Target description to support the changed names and build extensions 2016-06-09 15:00:36 +01:00
Rohit Grover 527e305df5 the contents of Driver_Storage.h don't need to be guarded by #if DEVICE_STORAGE 2016-06-09 13:30:54 +01:00
Martin Kojtal 7d583e5541 Merge pull request #1853 from svastm/update_cube_l4
[STM32L4XX] Update HAL_Cube_L4 to 1.5.1
2016-06-09 11:35:35 +01:00