summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
8 daysMLECO-4935: Refactoring user optionsKshitij Sisodia
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>
12 daysMLECO-4825: Adding Arm Corstone-315 supportKshitij Sisodia
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>
2023-11-30MLECO-4371 Update dependencies to 23.11 release components23.11-rc1Richard Burton
* Updated NPU components and dependencies (core-driver, core-platform, Vela, CMSIS, TensorFlow Lite Micro) to 23.11 release SHAs. * Changed Python version to 3.10 * Updated release notes and other documentation * Added workarounds to scripts in order to address build issues Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com> Change-Id: I0a639b80881b53eebb216085b7e6764e3be8ca67
2023-08-31MLECO-4072: update MLEK dependencies to 23.08Nina Drozd
* version updates in cmakelists file * update submodules to 23.08 versions * updates to documentation - vela 3.9.0 Change-Id: I5e24d5729ecbd2289b04fcc845fb44f455ab38d5 Signed-off-by: Nina Drozd <nina.drozd@arm.com>
2023-05-30MLECO-4065 MLECO-4066: Updating to 23.05 dependenciesRichard Burton
* Update dependencies to 23.05 versions * Fix for a break caused by changes in TensorFlow Lite Micro * Update release notes Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Id2f60ea574aab982911125bdcb513adb8edc723d
2023-03-21MLECO-3802: [Maintenance] Remove Pillow warning23.02Isabella Gottardi
- Image.Resampling.BILINEAR replace deprecated Image.BILINEAR - Trivial documentation fixes Change-Id: Ia75af2d2bf171085d4a0a2c472f0e3f94dbdc5b9 Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2023-03-15MLECO-3666: Updating to 23.02 dependencies.23.02-rc1Kshitij Sisodia
Updating dependency submodules to 23.02 versions. See https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u/+/refs/tags/23.02/23.02.json Change-Id: If0e396decadc1b4e3c6b263c65f75ccf0dafed28 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-12-29MLECO-3747: Minor changes to Catch2 inclusionKshitij Sisodia
Catch2, included for tests on native target, is now added using FetchContent to download it at configuration stage. Minor improvements added to prevent name clashes if this project is used as a submodule in other projects where Catch2 is already a named dependency/target. Change-Id: I6f0ff02704e54a5c4cefe499ac80d434cf89b463 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-12-01MLECO-3620 MLECO-3619: Update to 22.11 dependencies22.11-rc122.11Richard Burton
* CMSIS-NN is now a seperate dependency * Added inclusive language commitment * TensorFlow Lite Micro dependency is moved ahead of 22.11 to fix compilation issue Change-Id: I60e3311ff7da2ce064cbcdca054a86bdd1f620d8
2022-11-17MLECO-3583: Update copyright notice according to new guidelinesRichard Burton
Change-Id: I0f057b33993e5196a60e52f4fb0c60e09693dcfe
2022-11-09MLECO-3247: Arm Corstone-310 deployment instructions updateKshitij Sisodia
Minor documentation updates for Corstone-310 target along with version bump for the project and updates to release notes. Change-Id: I8b33b66961ab0517864539d88501ad5d71219368 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-08-16MLECO-3319: Documentation updates for Arm® Corstone™-310.Kshitij Sisodia
Documentation updates around use of Arm® Corstone™-310 AVH, especially in terms of use of timing adapters (TA). Also, use of TA's is forced off for SSE-310 subsystem's CMake configuration. Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com> Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com> Change-Id: I66a87060d8d47ce2580aa15f3908be20162eab54
2022-06-02MLECO-3148 Enabling Ctest driven testingEanna O Cathain
Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com> Change-Id: Ica67662d20b0c02b75418f79d4ba2f4d18373310
2022-05-23MLECO-3225: Using official support for Arm Cortex-M85 CPU.Kshitij Sisodia
* CMake version requirement bumped up to 3.21.0 * CMake 3.22.4 installed in the local Python virtualenv * CPU flags updated in toolchain files. * Using __ARM_FEATURE_DSP instead of potentially defining ARM_MATH_DSP wrongly. * CMake project version bumped up to 22.05.0 Changes also made for MLECO-3107 (pack generation): * TensorFlow Lite Micro CMSIS-pack version updated to 1.22.02. * Change to using __ARM_FEATURE_DSP will also help the generated pack. Partial changes for MLECO-3095: * CMSIS updated to version post 5.9.0 * TensorFlow Lite Micro updated to latest available * Ethos-U driver and core-platform repositories updated to 20.05_rc2 tags. Change-Id: I012c9e65897aed8ce589cff9bfe3a19efc3edeb9 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-05-17MLECO-2985 Adding Corstone-310 supportKshitij Sisodia
Change-Id: Ifa4b11154478355c10cb3e747b9938a74afd242b Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com>
2022-05-16Minor change to help build API libs independently.Richard Burton
* Remove unused CMake left behind after API refactoring. * Include TensorFlow source path directory for common_api target when building CMSIS packs. Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I3ed63781edddf24887f61a971bfadaa037739fa8
2022-05-06MLECO-3183: Refactoring application sourcesKshitij Sisodia
Platform agnostic application sources are moved into application api module with their own independent CMake projects. Changes for MLECO-3080 also included - they create CMake projects individial API's (again, platform agnostic) that dependent on the common logic. The API for KWS_API "joint" API has been removed and now the use case relies on individual KWS, and ASR API libraries. Change-Id: I1f7748dc767abb3904634a04e0991b74ac7b756d Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-03-14MLECO-2919: Restructuring to standardise HAL APIsKshitij Sisodia
* LCD module component created (removed from individual platform packs). * retarget.c moved out into its own component that wraps the uart module. It also have the native stub for GetLine => paved the way for removing data_acq module from profiles. * shortened names for components' dir for npu and ta * remove peripheral_memmap and peripheral_irqs headers from platform_drivers.h. There should be no need for these to be included in the top level now. These should be private headers. * cmsis_device moved in as a component. * Pyenv created by set_up_default_resource.py will also install packages that CMake's source generator needs. TODO's: * Remove timer from profiles (MLECO-3096) Change-Id: I9d6ea2f4f291788f40a16ed507019563c8d7f205
2022-03-04MLECO-2978: Update to 22.02 dependenciesRichard Burton
* Core-platform now a depdenency for timing adapter Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I54f3773bdf91083fa1513be15372fcf2231bea2c
2022-02-25MLECO-2881: Revise resources_downloaded based on optimised models' metadataIsabella Gottardi
Change-Id: I12777c3818463c11d6351db0b4961a2bc0b00b18 Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2022-02-23MLECO-2948: Minor refactoring for platform modules.Kshitij Sisodia
Reducing dependency on cmsis-device sources as these will be removed under MLECO-2944. Also, starting to refactor to allow HAL to drop NPU and TA init routines - this will happen in future CRs. Added platform driver for native, and subsequent patches will attempt to get rid of the HAL "profile" specific sources and allow platform stub implementations at a level below HAL. This will allow platforms drivers to only override the range of functions that they actually want to implement and will fall back on stubs for the rest. In this CR only "utils" have been removed. Change-Id: I09b4a28e20847a07a956c818c6f47c74aab89063
2022-02-23Fixing profiler build flags.alexander
CPU_PROFILE_ENABLED was moved to profiler sub-project build. Signed-off-by: alexander <alexander.efremov@arm.com> Change-Id: I8191c83c7ae0f618769449d7d25fe58876cbcf05
2022-02-14MLECO-2853: update cmake flags for ArmclangNina Drozd
* set CMP0123 policy to remove warning * remove parentheses to avoid assert is always true warning Change-Id: Ifcdf089183d750d7b00b345f5c4115c82d897def
2022-02-14MLECO-2970: Moving Profiler out as a CMake target.Kshitij Sisodia
Profiler is a stand alone static lib that will depend on log and hal targets. Change-Id: Ibbff289c6760982f54ae278d95a054e73db018c8
2022-02-11MLECO-2752: Minor refactoring for native global steps.alexander
And further optimisations of extendability for platform build steps. Added a list for excluded use-cases. Change-Id: I5a9398bbeb595a5bf2ea39b81623e4f20238f948 Signed-off-by: alexander <alexander.efremov@arm.com>
2022-02-10MLECO-2682: CMake and source refactoring.alexander
MLECO-2930: logging macros were extracted from hal.h and used separately around the code. MLECO-2931: arm_math lib introduced, cmsis-dsp removed from top level linkage. MLECO-2915: platform related post-build steps. Change-Id: Id718884e22f262a5c070ded3f3f5d4b048820147 Signed-off-by: alexander <alexander.efremov@arm.com>
2022-02-02MLECO-2855: Move profiling outside application/mainIsabella Gottardi
Change-Id: I182bfa55b5ae743d6f0b9f5c766b746202a7968d Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2021-11-25MLECO-2426: Support for new Corstone-300 app note AN552 rev B.Kshitij Sisodia
These changes will limit the use of FPGA internal SRAM from a max of 4MiB to 2MiB and the BRAM from 2MiB to 1MiB. Change-Id: I69c8e695aee26ff4f235bfe83ffd26efbd66f547
2021-11-23MLECO-1935: All common CMake user options consolidated.Kshitij Sisodia
For easier look up and maintenance, all common CMake user options have been consolidated in one CMake file. NOTE: the individual use case specific options are still within the correspoinding use case CMake files. Change-Id: Id887f7b2c763f4d3eb997d997cf466684d0089b6
2021-11-18MLECO-2525 Upgrade to C++ 14ayamas01
-Updated CMake to use C++ 14 -Removed cmsis makefile include from tensorflow.cmake -Documentation update -Added more flags for processor in CMake Change-Id: I1c2b72141e98a5cf8bb09176d7c331da3b05b4c5
2021-10-29MLECO-2512: Minor improvement for helper scripts.Kshitij Sisodia
Python scripts 'build_default.py' and 'set_up_default_resources.py' now allow building for non-default Ethos-U configurations: H32, H64, H256 and Y512. Change-Id: Iefdbf135410396c4dc0be73462644725d4b47910
2021-09-24MLECO-2345: Adding dynamic load support for FVPsKshitij Sisodia
With this patch, the generic inference runner use-case can be configured to accept the model tflite file at run-time via the FVP's command line parameters. Same is true for the IFM and the inference results can be dumped out too. NOTE: this change is only for supporting the FVP, the FPGA implementation will not allow additional loading for the changes in this patch to be useful. Change-Id: I1318bd5b0cfb7bb635ced6fe58d22c3e401d2547
2021-08-03MLECO-2051: Work with Corstone-300 + Ethos-U65Cisco Cervellera
Change-Id: I64ab930a1de5210f435f91bed7600a700581946f Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com> Reviewed-on: https://eu-gerrit-2.euhpc.arm.com/c/ml/ecosystem/ml-embedded-evaluation-kit/+/459126 Tested-by: mlecosys <mlecosys@arm.com> Tested-by: George Gekov <george.gekov@arm.com> Reviewed-by: George Gekov <george.gekov@arm.com> Reviewed-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2021-07-23Generating bin files for simple_platform.Kshitij Sisodia
Breaking down the elf(axf) file into bin blobs for the simple_platform target too. Change-Id: Ie909508433ef03f8b4a32e04bc69353aed0d0849
2021-07-08MLECO-1987: Minor refactoring.alexander
ASRSlidingWindow can be used in other use-cases, thus it was renamed to decouple from ASR. Signed-off-by: alexander <alexander.efremov@arm.com> Change-Id: I2df977e4f18f490a532e0f27e3625b153ca464d7
2021-05-18Renamed core driver dependency to be "dash" style alignedalexander
Signed-off-by: alexander <alexander.efremov@arm.com> Change-Id: I86b1d658ddd9aa717eb571286a9e5f5e053725cf
2021-05-18MLECO-1873: default models are for 128 MAC configalexander
Signed-off-by: alexander <alexander.efremov@arm.com> Change-Id: Ic3e940a9d289d649976c4e951ced1473fc31ff3f
2021-05-11MLECO-1912: Explcitly setting resources dirKshitij Sisodia
Minor CMake and ReadMe edits. Change-Id: Ib5b3fb904a0b034af57a3d4065a6183e29499f0f
2021-05-07MLECO-1860: Support for Arm GNU Embedded ToolchainKshitij Sisodia
This patch enables compilation of ML use cases bare-metal applications using Arm GNU Embedded Toolchain. The GNU toolchain can be used instead of the Arm Compiler that was already supported. The GNU toolchain is also set as the default toolchain when building applications for the MPS3 target. Note: The version of GNU toolchain must be 10.2.1 or higher. Change-Id: I5fff242f0f52d2db6c75d292f9fa990df1aec978 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2021-05-07MLECO-1766: Default build flow helper scripts addedIsabella Gottardi
MLECO-1882: Anomaly Detection use-case default model download added and tests updated to run with it. Test data generation cmake logic moved from use-case cmakes to top-level cmake script. Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com> Change-Id: Ifde469e3585c37b9a53810236a92ce52d4fbb407
2021-05-06MLECO-1898: removing support of legacy sse-200 platformalexander
Signed-off-by: alexander <alexander.efremov@arm.com> Change-Id: Ie462e786af1d429bcb815f2c10656ed82862715a
2021-04-26MLECO-1871: Move tests golden fv into usecase foldersIsabella Gottardi
Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com> Change-Id: I02cbfffd85916e8c82d68e98b8951ee7c8a3d0c0
2021-04-23MLECO-1871: Adding external use-case directories supportIsabella Gottardi
* Cmake updates * Markdownlint on docs * Removing windows command leftovers Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com> Change-Id: I4a12b4e798559e8f4e8a3307038df7829137184a
2021-03-29Opensource ML embedded evaluation kit21.03alexander
Change-Id: I12e807f19f5cacad7cef82572b6dd48252fd61fd