Commit Graph

221 Commits (42bc1a43eeba2724f105ed98b76aa5276f83d1cc)

Author SHA1 Message Date
Martin Kojtal 42bc1a43ee Merge pull request #1890 from bcostm/fix_f0_force_serial_reset
[STM32F0] Add USART force/release Reset at Init phase
2016-06-16 17:10:30 +02:00
Martin Kojtal b79e95ab7e Merge pull request #1894 from bcostm/fix_f3_force_serial_reset
[STM32F3] Add USART force/release Reset at Init phase
2016-06-16 17:07:31 +02:00
Martin Kojtal 39acdd66a0 Merge pull request #1945 from jeromecoutant/PR_UpdateF0_driver_v1_6_0
STM32Cube_FW_F0_V1.6.0
2016-06-16 17:06:10 +02:00
Martin Kojtal b4bb088876 Merge pull request #1960 from AlessandroA/fix_volatile_missing
K64F KSDK2: Re-add missing volatile in CLOCK functions
2016-06-16 15:52:21 +02:00
Martin Kojtal 9836fedd33 Merge pull request #1915 from anpilog/master
Fix pin mode for STM32F1 target.
2016-06-16 15:22:16 +02:00
Alessandro Angelino 75fa7af17c K64F KSDK2: Re-add missing volatile in CLOCK functions
A previous patch removed two `volatile` keywords by mistake, which are
here re-introduced.

Fixes:

* 23904e7 "Access MCG and SIM through secure access"
2016-06-16 13:18:24 +01:00
Bogdan Marinescu 74270b2a94 Added feature list for K64F
IPv4 driver exists on the build tree, so enabling it.

Signed-off-by: Seppo Takalo <seppo.takalo@arm.com>
2016-06-15 20:53:08 +03:00
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
Andrii Anpilogov 9c0d45598e Fix pin mode for STM32F1 target. Failed for pin_index 0 (PA_0, PB_0, PC_0). 2016-06-13 20:47:25 +08: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