2021-02-25 |
Add bare metal support to ARM FM targets
...
Modify scatter files to specify heap load region and add small libraries
to list of supported libraries in target.json.
Harrison Mutai
committed
on 25 Feb 2021
|
2020-11-25 |
CMake: Add support for all ARM's FM Mbed targets
...
Add CMakeLists.txt files so all ARM's FM Mbed targets can be built with CMake
Hugues Kamba
committed
on 25 Nov 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-06-06 |
FastModel: change Fastmodel memory layout regions from 3 to 2
...
- change memoryzones.h
- change linker scripts for each toolchains
Qinghao Shi
committed
on 6 Jun 2019
|
2019-03-01 |
Workaround(recommended by compiler team) for FVP_MPS2 targets to use ARM Compiler 6
Senthil Ramakrishnan
committed
on 1 Mar 2019
|
2019-01-08 |
[ARM_FM] Support boot stack size configuration option
Przemyslaw Stekiel
committed
on 8 Jan 2019
|
2018-08-05 |
Refactoring memory regions definitions for MPS2_M7 targets
...
* added memory_zones.h
* all linker scripts reference the definitions from memory_zones.h
* tool chains use predefined 1K as ISR Stack size
* ARM Complier 5 and GCC will auto calculated heap size
* IAR use predefined 2MiB as heap size
Qinghao Shi
committed
on 5 Aug 2018
|
2018-05-14 |
FastModels: add FVP_MPS2_M7 target support
...
add cmsis drivers and toolchain scripts for FVP_MPS2_M7
Qinghao Shi
committed
on 14 May 2018
|