Commit Graph

210 Commits (d9749b0447fb6ec0c745533f32380e3c6523dd92)

Author SHA1 Message Date
Martin Kojtal 9b5adb8cd1 Merge pull request #1752 from svastm/add_nucleo_l011k4
Add NUCLEO_L011K4
2016-06-14 22:00:28 +02:00
Martin Kojtal 53d7115b49 Merge pull request #1895 from bcostm/fix_l0_force_serial_reset
[STM32L0] Add USART force/release Reset at Init phase
2016-06-14 21:53:45 +02:00
Martin Kojtal 4dcefa604a Merge pull request #1913 from BartSX/816f0xx
[STM32F0xx] Fix for #816 issue
2016-06-14 21:53:26 +02:00
Martin Kojtal 1f9d28346f Merge pull request #1924 from 0xc0170/fix_armcc
Fix armcc ulib template - removal
2016-06-14 20:06:26 +02:00
Jaeden Amero af572350f0 Don't call __disable_irq for uVisor
This is a hack to get debug builds applications that use uVisor to work.
The assertions in core_util_critical_section fail because interrupts can't
actually be disabled from unprivileged mode.

Without this hack, core_util_critical_section_enter() calls
mbed_assert_internal() when the assertion fails, which calls
core_util_critical_section_enter() again, which calls
mbed_assert_internal() again; this is infinite recursion.

core_util_critical_section_enter needs some fixing.
2016-06-14 14:09:56 +00:00
Niklas Hauser 516c7cdb80 Rename NVIC_Set/GetVector for K64F
This allows FEATURE_UVISOR to virtualize the NVIC calls.
2016-06-14 14:06:45 +00:00
Niklas Hauser e4c217e21d Backport virtual NVIC mechanism from CMSIS 5 2016-06-14 14:06:45 +00:00
Niklas Hauser 23904e74be Access MCG and SIM through secure access 2016-06-14 14:06:45 +00:00
Niklas Hauser 37238fb9be Add secure access header to CMSIS 2016-06-14 14:06:44 +00:00
Alessandro Angelino 8db93cf0d9 K64F: Explicitly set the start of .uvisor.bss 2016-06-14 14:06:44 +00:00
Alessandro Angelino abd24ae4f1 K64F: Explicitly set the start of .text
If you don't specify the start address of a section explicitly, that
section can end up at different addresses depending on its alignment. If
the alignment of a section is not explicitly set, it inherits it from
the element with the highest alignment inside that section.

Since the uVisor code is in the .text section, and it *must* end up at a
known location, we set the start address of .text to 0x410, which is the
value that the uVisor binary expects.
2016-06-14 14:06:44 +00: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
0xc0170 269697d6d4 targets - remove ulib template
armcc provides command line option for choosing a lib type, and we use this,
thus a template is not needed.
2016-06-14 00:41:45 +01: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
Maciej Bojczuk bb65961089 [NUCLEO_F030R8] Set NVIC Timer priorities
This fix is a solution for issue #816 when having two separate IRQ handlers
in Timers (UPDATE Irq and OutputCompare Irq). The update priority needs to
be higher to avoid undefined behaviours.

Change-Id: Ic143ed0f3e4e42ad5f7b95337d8c005b7ec61274
2016-06-13 11:27:37 +02:00
Maciej Bojczuk 899cd44619 [NUCLEO_F070RB] Set NVIC Timer priorities
This fix is a solution for issue #816 when having two separate IRQ handlers
in Timers (UPDATE Irq and OutputCompare Irq). The update priority needs to
be higher to avoid undefined behaviours.

Change-Id: I5ef2c27926167ed22108901cd63586692a5f8f90
2016-06-13 11:27:37 +02:00
Bartosz Szczepanski 91422cb7e1 Revert "[NUCLEO_F030R8] 16-bit timer register update"
This reverts commit 01ff0b9ab7.
2016-06-13 11:27:37 +02:00
Bartosz Szczepanski ff1c172696 Revert "[NUCLEO_F070RB] 16-bit timer register update"
This reverts commit 82d82d0b2a.
2016-06-13 11:27:37 +02:00
Bartosz Szczepanski 3222d07d35 Partial revert of "[STM32Fxxx] Fix issue #816"
This is a partial revert of 07b841b and currently we are only reverting the
STM32F0xx family because new fix will be presented that's why we want to keep,
still the original solution only F1xx family (it will be fixed in future).

Change-Id: I147065299310c9fea499bf3ced8808a44699a1a1
2016-06-13 11:26:45 +02:00
svastm dd829053f9 [NUCLEO_L011K4] Move device.h defines to target.json 2016-06-13 10:30:18 +02:00
svastm c9bf3ca2fd [NUCLEO_L011K4] Add to the build and export scripts 2016-06-13 10:24:19 +02:00
svastm 062962a215 [NUCLEO_L011K4] Update HAL API 2016-06-13 10:24:19 +02:00
svastm f38c5e47f9 [NUCLEO_L011K4] Add HAL target 2016-06-13 10:24:19 +02:00
svastm c951f59993 [NUCLEO_L011K4] Add CMSIS target 2016-06-13 10:24:19 +02: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