Age | Commit message (Collapse) | Author |
|
Refactoring for CMake configuration options to allow target platform
to drive their own defaults for certain dependent options.
For example, the MPS3 target platform defaults to SSE-300 sub-system
while native target doesn't need to worry about sub-system and CMSIS
options which it will never use. This allows MPS4 target to default
to SSE-315 and set the NPU arch to Arm Ethos-U65 as it should, which
otherwise would have had to be explictly specified by the user.
A welcome by-product of this is also that the options summary at the
end of a successful CMake configuration stage would only include the
settings that are actually used by the given target.
Change-Id: Ibb7f8233d427cd33f39eeb4c71d88193aa998ebd
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Tested-by: mlecosys <mlecosys@arm.com>
Reviewed-by: Alex Tawse <alex.tawse@arm.com>
Reviewed-by: Conor Kennedy <conor.kennedy@arm.com>
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
This patch adds initial support for MPS4 based Arm Corstone-315 FVPs.
The applications will execute on the FVP but with INITSVTOR set to
`0x12000000` explicitly. The default value is the 64kiB code region
at `0x11000000`. The linker scripts will be changed for the initial
boot logic and vector table to be moved to the code region.
This patch adds `source/hal/source/platform/mps4` directory. There is
considerable overlap with MPS3 platform and this is expected to be the
case until the support for MPS4 matures. Refactoring to pull in
common bits from these targets will follow. Same goes for the CMake
build support added under `scripts/cmake/platforms/mps4`.
Change-Id: I981be9e1ec57cfedcf7d340b4f19e5eb40b5cbd3
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Tested-by: mlecosys <mlecosys@arm.com>
Reviewed-by: Conor Kennedy <conor.kennedy@arm.com>
Reviewed-by: Alex Tawse <alex.tawse@arm.com>
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
Separates CMakePresets to respective.
Adds options preset file with log-level and single-input for use-cases.
Adds use-case file with base build preset with all the targets.
Adds a configurable targets to all build presets.
Adds additional config/build preset to show-off options-presets.
Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: Id82ce9c5b8d7cc48b80d784141dc22efa2690222
|
|
Configuring binaryDir prevents user from creating and naming out
directory - cmake ignores ./ folder it is run from and creates
root/binaryDir for the output. Removing this option allows user full
control over the destination directory.
Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: I2190d5063f4b9f70376934f7b23ecdb9d6cedc8f
|
|
Assuming cmake 3.21 adds basic configuration and build presets:
* Target mps3 board with gcc
* Target mps3 board with armclang
* Target simple platform with gcc
* Target simple platform with armclang
* Target native build system
Adds test preset for native build to run default ctests.
Adds respective doc section to building instructions.
Note: hidden configurationPresets are to be moved to respective project
directories once cmake 3.24 is supported in the codebase and preset
include is supported.
Note: it is encouraged to create a personal CMakeUserPresets.json with
personal preferences like specific `LOG_LEVEL` and `jobs` for faster
compilation time.
Usage example:
cmake --preset=mps3-gcc
Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: I07a8861ed91160cc3f5167e16be45a921b60a285
|