2021-02-19 |
Fix indentation in RW_IRAM1 load region description
Harrison Mutai
committed
on 19 Feb 2021
|
2021-02-18 |
Fix indentation in ER_IROM1 load region description
Harrison Mutai
committed
on 18 Feb 2021
|
Refactor ARM MSP2 target scatter files for bare metal support
Harrison Mutai
committed
on 18 Feb 2021
|
Add bare metal support to ARM_MPS2_Target family of targets
Harrison Mutai
committed
on 18 Feb 2021
|
2021-02-15 |
CMake Arm SSG: refactor CMake targets
...
Create CMake target per each Mbed OS target.
Martin Kojtal
committed
on 15 Feb 2021
|
2021-01-15 |
CMake: Add support for Arm's MPS2 targets
Hugues Kamba
committed
on 15 Jan 2021
|
2020-10-15 |
Add SPDX license identifier to Arm files
...
Add license identifier to files which Arm owns the copyright to,
and contain either BSD-3 or Apache-2.0 licenses. This is to address
license errors raised by scancode analysis.
Harrison Mutai
committed
on 15 Oct 2020
|
2020-09-10 |
stack: armc: Workaround config passing bug
...
Workaround a bug where the boot stack size configuration option is not
passed on to armlink, the Arm Compiler's linker. Prefer
MBED_CONF_TARGET_BOOT_STACK_SIZE if present, as this is what the
configuration system should provide. Fall back to MBED_BOOT_STACK_SIZE
if MBED_CONF_TARGET_BOOT_STACK_SIZE is not defined, as in the case of
buggy tools. If both MBED_CONF_TARGET_BOOT_STACK_SIZE and
MBED_BOOT_STACK_SIZE are not defined, then we fall back to a hard-coded
value provided by the linkerscript. See
https://github.com/ARMmbed/mbed-os/issues/13474 for more information.
Jaeden Amero
committed
on 10 Sep 2020
|
Use boot stack size from config system
...
To allow overriding of the boot stack size from the Mbed configuration
system, consistently use MBED_CONF_TARGET_BOOT_STACK_SIZE rather than
MBED_BOOT_STACK_SIZE.
Fixes #10319
Jaeden Amero
committed
on 10 Sep 2020
|
2019-10-23 |
Clean up ARM toolchain heap+stack setup in targets
...
ARM Compiler 6.13 testing revealed linker errors pointing out
conflicting use of `__user_setup_stackheap` and
`__user_initial_stackheap` in some targets. Remove the unwanted
`__user_initial_stackheap` from the targets - the setup is
centralised in the common platform code.
Looking into this, a number of other issues were highlighted
* Almost all targets had `__initial_sp` hardcoded in assembler,
rather than getting it from the scatter file. This was behind
issue #11313. Fix this generally.
* A few targets' `__initial_sp` values did not match the scatter
file layout, in some cases meaning they were overlapping heap
space. They now all use the area reserved in the scatter file.
If any problems are seen, then there is an error in the
scatter file.
* A number of targets were reserving unneeded space for heap and
stack in their startup assembler, on top of the space reserved in
the scatter file, so wasting a few K. A couple were using that
space for the stack, rather than the space in the scatter file.
To clarify expected behaviour:
* Each scatter file contains empty regions `ARM_LIB_HEAP` and
`ARM_LIB_STACK` to reserve space. `ARM_LIB_STACK` is sized
by the macro `MBED_BOOT_STACK_SIZE`, which is set by the tools.
`ARM_LIB_HEAP` is generally the space left over after static
RAM and stack.
* The address of the end of `ARM_LIB_STACK` is written into the
vector table and on reset the CPU sets MSP to that address.
* The common platform code in Mbed OS provides `__user_setup_stackheap`
for the ARM library. The ARM library calls this during startup, and
it calls `__mbed_user_setup_stackheap`.
* The default weak definition of `__mbed_user_setup_stackheap` does not
modify SP, so we remain on the boot stack, and the heap is set to
the region described by `ARM_LIB_HEAP`. If `ARM_LIB_HEAP` doesn't
exist, then the heap is the space from the end of the used data in
`RW_IRAM1` to the start of `ARM_LIB_STACK`.
* Targets can override `__mbed_user_setup_stackheap` if they want.
Currently only Renesas (ARMv7-A class) devices do.
* If microlib is in use, then it doesn't call `__user_setup_stackheap`.
Instead it just finds and uses `ARM_LIB_STACK` and `ARM_LIB_HEAP`
itself.
Kevin Bracey
committed
on 23 Oct 2019
|
2019-04-15 |
Fix the build failed issue of MPS2 targets with ARMC6.
...
Change-Id: I0205d381de331a827435d667c16297aaf5bb609e
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
Shawn Shan
committed
on 15 Apr 2019
|
Add IAR support for the target AN382 of MPS2.
...
Add file MPS2.icf and startup_MPS2.S to suppout IAR of the target
AN382(ARM_MPS2_M0). Add "IAR" to supported_toolchain list.
Change-Id: I2b2ad7645166c4f973a8baa9c394521514183767
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
Shawn Shan
committed
on 15 Apr 2019
|
Add GCC_ARM support for the target AN382 of MPS2.
...
Add files MPS2.ld and startup_MPS2.S to support GCC_ARM of the target
AN382(ARM_MPS2_M0). Add "GCC_ARM" to supported_toolchains list.
Change-Id: I7046b698834c82e94015e51eef9a0f5e1315ddaa
Signed-off-by: Shawn Shan <shawn.shan@arm.com>
Shawn Shan
committed
on 15 Apr 2019
|
MPS2 Re-Enablement in mbed
...
These file changes provide small fixes for various targets
on MPS2 platform in order to work properly and pass all
Greentea test cases. The __initial_sp has been explicitly set
in the targets' startup files, and also INITIAL_SP has been
given a different value. The values have been extracted from
the specific targets' Application Note documentation.
Affected targets are: ARM_MPS2_M0, ARM_MPS2_M0P, ARM_MPS2_M3,
ARM_MPS2_M4 and ARM_MPS2_M7.
Change-Id: I3d5d0e1ae386cdcc3ba5eb63be929267a257b139
Signed-off-by: Bence Kaposzta <bence.kaposzta@arm.com>
Shawn Shan
committed
on 15 Apr 2019
|
2019-01-08 |
[ARM_SSG] Support boot stack size configuration option
Przemyslaw Stekiel
committed
on 8 Jan 2019
|
2017-06-20 |
Upcase all assembler file extensions
Jimmy Brisson
committed
on 20 Jun 2017
|
2017-06-08 |
Restore cmsis_nvic for Cortex-M0 targets
...
Restore cmsis_nvic (cmsis_nvic.c and cmsis_nvic.h) files for the
implementations which use a mechanism other than the VTOR to set
interrupts. These are vendor specific and were done for M0 devices
which do not have a VTOR.
Note - There were two cmsis_nvic files which did not use the VTOR that
which not restored in this patch. This is because these targets were
not M0 devices and could use the new unified implementation instead.
These files are:
targets\TARGET_ARM_SSG\TARGET_MPS2\TARGET_MPS2_M0P\device\cmsis_nvic.c
targets\TARGET_ONSEMI\TARGET_NCS36510\device\cmsis_nvic.c
Note - cmsis_nvic.c and cmsis_nvic.h were initial removed in
(and restored from) the commit:
b97ffe8 -
"CMSIS5: Replace target defined NVIC_Set/GetVector with CMSIS implementation"
Russ Butler
committed
on 8 Jun 2017
|
2017-05-30 |
CMSIS5: Replace target defined NVIC_Set/GetVector with CMSIS implementation
Bartek Szatkowski
authored
on 24 Oct 2016
Martin Kojtal
committed
on 30 May 2017
|
2016-10-04 |
restructure - Restructured cmsis directory
...
targets/cmsis -> cmsis
targets/cmsis/TARGET_* -> targets/TARGET_*/device
targets/cmsis/TARGET_*/mbed_rtx.h -> targets/TARGET_*/mbed_rtx.h
Christopher Haster
committed
on 4 Oct 2016
|