Commit Graph

85 Commits (c3737b4f7ad9bbfe6379942ee743fbd7d2b4e548)

Author SHA1 Message Date
Sam Grove 582da03312 Merge pull request #2589 from OpenNuvoton/ccli8
[NUC472] Fix heap configuration error with armcc
2016-09-10 13:08:47 -05:00
ohagendorf 54adfe10c0 [disco_f769ni] adding rtos lib 2016-09-09 14:18:16 +02:00
Michel Jaouen aae0b921db [NUCLEO_F303ZE] Add RTOS support 2016-09-05 09:09:42 +02:00
ccli8 0194135bf3 [NUC472] Fix heap configuration error with armcc
In rtos/rtx/TARGET_CORTEX_M/RTX_CM_lib.h, Image$$ARM_LIB_HEAP$$Base/Image$$ARM_LIB_HEAP$$Length will cause zero memory allocation.
Fix it with Image$$ARM_LIB_HEAP$$ZI$$Base/Image$$ARM_LIB_HEAP$$ZI$$Length. This is to place heap at external SRAM.
2016-08-31 14:32:13 +08:00
Sam Grove ea56684fff Merge pull request #2531 from radhika-raghavendran/master
ncs36510 from ON Semiconductor
2016-08-27 07:31:39 -05:00
Alessandro Angelino b98227c939 K64F: Revert to hardcoded stack pointer in RTX 2016-08-26 17:19:04 +01:00
Sam Grove 030261f2c4 Merge pull request #2544 from tung7970/master
Fix implicit declaration of function 'atexit'
2016-08-26 09:30:19 -05:00
Sam Grove daf4b1c6b1 Merge pull request #2528 from jeremybrodt/max32620
[MAX32620HSP] Initial release.
2016-08-26 09:25:33 -05:00
Radhika b75379f353 Adding NCS36510 support in mbed-os5.1 2016-08-26 12:00:54 +05:30
Jeremy Brodt 2604773a27 [MAX32620HSP] Added support to RTX files. 2016-08-25 16:55:42 -05:00
Tony Wu 6157563ae3 Fix implicit declaration of function 'atexit'
Silence the following compiler warning:
[Warning] RTX_CM_lib.h@807,5: implicit declaration of function 'atexit' [-Wimplicit-function-declaration]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2016-08-25 18:07:54 +08:00
Michel Jaouen a1bd087380 STM32F3 : fix RTOS IAR test not compiling.
Thread_stack_main is by default too large for this target.
2016-08-24 11:53:53 +02: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
Russ Butler d9ac33d0c3 Increase interrupt stack size for K64F
The config store tests use more than 2K of the interrupt stack, causing
an overflow.  This patch bumps the K64F interrupt stack size to 4K
for ARMCC and GCC. The IAR interrupt stack is left untouched since
it is 32K.
2016-08-09 14:55:05 -05:00
Russ Butler 1615dca6bd Add a test for heap and stack layout
Test the following components of the heap and stacks:
-Heap and interrupt stack are at the expected locations
-Entire heap can be used
-Heap limit is properly enforced and returns NULL when out of
  of memory
2016-08-09 14:54:17 -05:00
Russ Butler 81382ebdb2 Turn on main thread stack checking
Since the heap and stack are no longer shared, stack checking on the
main thread can be turned back on. This allows stack overflows on the
main thread to be caught quickly.
2016-08-09 14:50:17 -05:00
Russ Butler 1d3d01f000 Correctly set INITIAL_SP for K64F
With the latest K64F linker file the initial stack is out of sync
with INITIAL_SP when uVisor is not present. This patch removes
the incorrect declaration.
2016-08-09 14:49:47 -05:00
Russ Butler da4787f036 Adjust stack size for the nrf51
Decrease the main stack size for the nrf51 so there is more heap
space available.
2016-08-09 14:42:09 -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
ccli8 41242e3d55 Support NUMAKER_PFM_NUC472 2016-07-28 10:00:49 +08: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
Sam Grove d1da7bc0e7 Merge pull request #2256 from NXPmicro/K22_RTOS_FIX
The core clock in run mode is 80MHz for K22F
2016-07-26 21:20:23 -05:00
Russ Butler 2d50c60a78 Fix MAIN_THREAD_ID check
In cmsis_os.h OS_TIMERS is undefined unless the timer thread is
disabled, in which case it is defined to 0. When comparing against
an undefined value, the undefined value will evaluate as if it were
0. Because of this the MAIN_THREAD_ID was always set to 0x1.
This patch fixes that problem by checking if OS_TIMERS is defined
before comparing it to 0.

This problem only effects IAR since it has a different heap/stack
layout. GCC_ARM and ARM have a dedicated stack region so
the presence of a guard word and stack checking does not cause
problems.

This problem manifested on the NRF51_DK in the pull request
https://github.com/mbedmicro/mbed/pull/2211
as a c_strings test failure on floating point. This is because the
guard word of the main stack overlapped with standard library
data used by sprintf and corrupted it.
2016-07-26 18:05:58 -05:00
Mahadevan Mahesh 5a0ad646a1 The core clock in run mode is 80MHz for K22F
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-07-26 13:50:50 -05: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
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
Sam Grove d89c3c18f9 Merge pull request #2158 from c1728p9/singleton_support
Singleton support
2016-07-19 16:34:20 -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
Russ Butler d4627176da Update ARMCC pre_main to be in C
Switch pre_main from assembly to C for ARMCC.  This function does not
need to be in assembly.
2016-07-15 14:12:37 -05:00
Russ Butler 59e2f9621c Suppress warnings about deprecated __ldrex/strex
Suppress warnings about ARMCC warnings about the __ldrex and __strex
intrinsics to match CMSIS 5.
2016-07-15 11:10:38 -05: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 9fc0a625bd rtos update to add NUCLEO_F207ZG 2016-07-12 16:38:07 +02:00
tomoyuki yamanaka 8331d5641c Modify the timing at which mbed_main() is called in IAR compiler.
Renesas modified the timing at which mbed_main() is called in IAR compiler.
Because we fail about test "mbed call before main" in IAR compiler.
2016-07-07 21:58:01 +09:00
Martin Kojtal fe3b80aa68 Merge pull request #2090 from jamike/fix#2089
Fix#2089
2016-07-05 08:36:13 +01:00
Laurent Meunier be889fc49b [NUCLEO_F446ZE] Add RTOS support 2016-07-04 11:47:06 +02:00
Michel JAOUEN b73fd5e6f9 Fix issue #2089 :IAR set_main_stack
i.e test RTOS_4 on NUCLEO_F303K8 with IAR fails.
(rt_stk_check detects that main_stack Magic is corrupted)
2016-07-03 23:47:08 +02:00
ohagendorf fdda915a8a [NUCLEO_F767ZI] adding target to rtos lib 2016-07-01 15:19:30 +02:00
Sam Grove 26e9aa4b4e Merge pull request #2075 from 0xc0170/fix_#2059
RTOS - fix for main thread id might not be 0x02
2016-06-30 14:29:21 -05:00
svastm 505814147d [NUCLEO_L432KC] Add RTOS support 2016-06-30 15:05:09 +02:00
0xc0170 757d340b0a RTOS - fix for main thread id might not be 0x02
Fixes #2059. As reported, if timer thread is not created, the main thread
id is 0x01. We introduce MAIN_THREAD_ID macro to define the id. We shall consider,
if we keep this in a variable.

I placed MAIN_THREAD_ID in cmsis_os.h as that header is safe to include within RTX, not like
RTX_Config.h or RTX_CM_Lib.h).
2016-06-30 11:15:21 +02:00
Sam Grove dff2c313ea Merge pull request #2053 from AlessandroA/guard_svc_priority_set
RTOS: Only set the SVC priority if uVisor is not present
2016-06-29 14:26:16 -05:00
Sam Grove 76be7c185b Merge pull request #2052 from meriac/master
Add secured page allocator for uVisor
2016-06-29 14:26:03 -05:00
Sam Grove 78cef9c176 Merge pull request #2019 from TomoYamanaka/master_3
Change stack size of main thread for RZ_A1H
2016-06-28 20:46:49 -05:00
Alessandro Angelino e22280e684 RTOS: Only set the SVC priority if uVisor is not present
uVisor requires the SVCall to have priority 0, while RTX allows it to be
the second lowest priority level in the system (after PendSV).

This commit makes sure that the SVCall priority is not changed if uVisor
is present. The PendSV priority is not affected.
2016-06-28 18:52:11 +01:00
Niklas Hauser 5044c968dd Use the stack top defined in the linkerscript 2016-06-28 16:49:00 +00:00
tomoyuki yamanaka 287aea22ee Update the comments of stack size for main threads
We updated the comments of stack size for main threads.
2016-06-28 11:15:19 +09:00
tomoyuki yamanaka e412f20e70 Change stack size of main thread for RZ_A1H
We changed the stack size of main thread for RZ_A1H.
We changed "OS_MAINSTKSIZE" from 2048 to 4096.
Because stack shortage was found in the automatic test by the CI System .
2016-06-27 20:42:19 +09:00
tomoyuki yamanaka d6624c078a RTX - init sequence (C++ array init) for Cortex-A version
This is an update to RTX kernel for Cortex-A version to allow c++ libc array init to be called after kernel start.
Ref: https://github.com/mbedmicro/mbed/pull/1730
2016-06-27 19:40:22 +09:00
Brian Daniels 93773bad68 Calling mbed_main when using RTX and compiling with IAR 2016-06-23 17:09:38 -05:00
Jaeden Amero 409ecf6be6 Call the pre-start event unprivileged 2016-06-16 17:38:52 +00:00