- Jan 16, 2024
-
-
Hugues Kamba Mpiana authored
Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Hugues Kamba Mpiana authored
* Add all source and header files to build the application * Update open-iot-sdk-toolchain version to include the `-fno-rtti` C++ flag * Remove no longer needed `--specs=nosys.specs` flag as include already in the updated version of open-iot-sdk-toolchain * Update build and run scripts to support keyword-detection application * Add documentation for the Keyword Detection application Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
Applications can now have: * `fail/pass_output.log` files to test the application output. * `fail/pass_ota_output.log` files to the test the application output when OTA is tested. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Hugues Kamba Mpiana authored
When performing quality checks with uncrustify, do not longer override the programming langauge with C. Instead, let the application detect the language on its own. This is because C++ files will be added for ML examples and the C language override for uncrustify introduces error when it encounters C++ files. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Hugues Kamba Mpiana authored
In order for ML applications to access the API headers for the ML Evaluation Kit libraries, various paths in the ML Embedded Evaluation Kit's source directory need to be made available to them as include directories. Helper libraries have been created with library archives and include directories added to those helper libraries. ML applications will link the helper libraries they need, in order to inherit the library archives for linking and include directories for API headers. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
This library is added to build Machine Learning (ML) applications. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
Provide caller of event init function information about the outcome of the initialisation by adding a return value to the initialisation API. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
Hooks can now be added by applications to be notified when the OTA is active or not active. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
VSI needs a buffer to transfer audio data from S to NS space, so in order to provide consistency, VSI audio buffer would be placed at the DDR space for Corstone-310 right after where the activation buffer for SRAM is placed. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Ahmed Ismail authored
Corstone-310 GNU and ArmClang linker scripts are modified to use macros which are more descriptive than magic numbers. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Ahmed Ismail authored
This commit is meant to modify Corstone-300 linker files to be able to run ML applications, the changes are: - Use both ISRAM0 and ISRAM1 for non-secure data storage as ML applications would require more RAM space. - Increase the heap size in the Arm GNU Toolchain linker script to match Arm Compiler for Embedded's scatter file allocated heap size. Note that the greater heap size is necessary for Arm Compiler for Embedded builds of the ML apps. - Place the neural network models at the DDR space. - Modify AN552 GNU linker script to match Total Solutions AN552 GNU linker script as they should be matched to get ML applications working on Corstone-300 - VSI needs a buffer to transfer audio data from S to NS space, so in order to provide consistency, VSI audio buffer would be placed at the DDR space for Corstone-300 right after where the activation buffer for SRAM is placed. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Ahmed Ismail authored
A new patch is introduced to modify ISRAM0 to be non-secure application storage while the secure data would be placed inside Data tightly coupled memory (DTCM). The reason behind this change is that ML applications need more RAM memory than 1MB (ISRAM1 size) which is the only current RAM storage available. However, with this change we should have 2MB of RAM (ISRAM0 + ISRAM1 sizes) for the application (non-secure side). Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
Increase the clock rate from 60 Hz to 300 Hz mosty to benefit the execution speed of ML applications. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
Some ML applications will require more image size. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Ahmed Ismail authored
Some IRQs are specific to the FVP version of corstone3xx platforms. The `CORSTONE300_FVP` and `CORSTONE310_FVP` macros should be defined for the `arm-corstone-platform-bsp` library in order to make these IRQs available. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
Abstract the MPS3 LED native driver so they can be used by applications. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
The updated version of the `arm-corstone-platform-bsp` project provides necessary changes to use IO on non-secure side for Corstone 300 and Corstone 310 platforms. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
The configurations are added for Corstone 300 and 310 to be used for configuring the Ethos NPU by ML applications to be added. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Ahmed Ismail authored
The source code will be the same for all apps. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Hugues Kamba Mpiana authored
It is possible for the FVP to output characters that cannot be decoded as UTF-8. This change ensures that when such characters are encountered they are stripped out returning the string without them. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
- Jan 12, 2024
-
-
Ahmed Ismail authored
Just as is already the case for the Arm Compiler for Embedded (ARMClang), generate a map file when building applications with the Arm GNU Toolchain. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
- Jan 11, 2024
-
-
Hugues Kamba-Mpiana authored
The additional optional argument is useful to allow the end user to create multiple build directories for various applications and/or variants. Signed-off-by:
Hugues Kamba Mpiana <hugues.kambampiana@arm.com>
-
- Jan 10, 2024
-
-
Ahmed Ismail authored
* docs: Update references of Arm GNU Toolchain supported version The project supports building with Arm Toolchain v13.2.Rel1. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com> * apps: Fix toolchain check in `CMakeLists.txt` files Due to a syntax error, `CMAKE_C_COMPILER_ID` was incorrectly compared to `ARMClang` in applications's main `CMakeLists.txt`. Ensure the conditional statement uses `${CMAKE_C_COMPILER_ID}` instead. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com> --------- Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
- Jan 08, 2024
-
-
Hugues Kamba-Mpiana authored
The serial driver is used by multiple tasks and not all tasks use the Log APIs to send data to the serial driver. This was causing serial data buffer corruption. Synchronise the access of the serial driver using mutual exclusion to make it thread-safe. This also removes code duplication and fixes return values for the write system call: * Arm GNU Toolchain: On failure, `-1`. On success, total chars written. * Arm Compiler: On failure, a positive number representing the number of chars NOT written or a negative number indicating an error. On success, `0`. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com> Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Co-authored-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
- Jan 05, 2024
-
-
Hugues Kamba-Mpiana authored
The files will be identical for all apps to be added. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
- Dec 18, 2023
-
-
Version 2 of the open-iot-sdk Docker image in the GitLab CI contains Arm GNU Toolchain 13.2.Rel1. Additionally, the GitHub CI now also installs this version in its build enviornment. Signed-off-by:
Dávid Házi <david.hazi@arm.com>
-
The BSS section should be initialized with zeros by the startup code. This is done by passing the BSS section's start address and length as two 4-byte variables located at __zero_table_start__. Signed-off-by:
Dávid Házi <david.hazi@arm.com>
-
Arm GNU Toolchain 12 and above complains about rwx defined regions. With the following modification this warning can be eliminated. Signed-off-by:
default avatarDávid Házi <david.hazi@arm.com>
-
Stack sealing is only required for the secure side. Signed-off-by:
Dávid Házi <david.hazi@arm.com>
-
Added stub functions for system calls Signed-off-by:
Dávid Házi <david.hazi@arm.com>
-
- Dec 14, 2023
-
-
Hugues Kamba-Mpiana authored
* middleware: Restructure external projects integration * External projects are referred to as `components` * The components are grouped per category within the `components` subdirectory. * Each component contain a `library` subdir (containing the external project) and an `integration` subdir (containing additional code to integrate the external project). * The external project used for the BSP is now also located in a `library` subdir within the `Bsp` subdir. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * cmake: Provide components and BSP as part of the FRI Rather having applications include individual parts of the FRI, include all of its parts (BSP and components) in the root level CMakeLists.txt To build application, point CMake to each application's main CMakeLists.txt as application should be treated as the root level CMakeLists.txt. This approach also shows how users who may want to include the FRI as a dependency to their project can build applications by treating their applications as the root level project. Additionally: * Raise an error if the minimum CMake version requirement is not met. * Rename FRI CMake project to match FRI project name. * Expose Tools/cmake subdir to CMake to find additional modules Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * apps: Do not share configuration files This allows each application to apply configurations it needs without changing the behaviour of other applications as was previously the case since they share configuration files. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * blinky: Improve CMake support * Define all CMake variables to be used by the project prior to creating the project * Sort list items alphabetically so they are easier to find * Add fatal error if minimum CMake version is not used * Remove unnecessary comments to declutter * Handle compiler specific configurations in one location * Move BSP configuration to BSP subdir * Include only the libraries used by the application Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * apps: Improve Provisioning Python script * Add type notation * Wrap long lines * Clarify variables and function names * Process CLI arguments with click Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * aws-iot-example: Improve CMake support and organisation * Define all CMake variables to be used by the project prior to creating the project * Sort list items alphabetically so they are easier to find * Add fatal error if minimum CMake version is not used * Remove unnecessary comments to declutter * Handle compiler specific configurations in one location * Move BSP configuration to BSP subdir * Include only the libraries used by the application Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * aws-iot-example: Add FreeRTOS libs integration test app Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * run-script: Fix root path and wrap long string Improve readability of the string by wrapping it. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * provisioning: Make provisioning available to all apps that need it Move the provisioning source code and script to the helpers subdir Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * bsp: Rename `Bsp` subdir to `bsp` The project is adopting snake case for files and subdirectories names Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * bsp: Rename CMake script CMake modules follow the typical naming convention of VerbWithCamelCase. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * docs: Rename `Docs` subdir following snake_case The project is adopting snake case for files and subdirectories names Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * apps: Rename `Projects` subdir to `applications` Improves the description of the content of the subdir. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * tools: Rename `Tools` subdir following snake_case The project is adopting snake case for files and subdirectories names Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * provisioning: Rename CMake script CMake modules follow the typical naming convention of VerbWithCamelCase. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * aws-iot-example: Rename files and subdirs following snake_case Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * blinky: Rename files and subdirs following snake_case Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * docs: Add subdirectory description to README Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * ci: Move tools to `tools` subdir Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * tests: Move conftest.py to `tools/tests/` Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * docs: Add project organisation document The document describes the various subdirectories and conventions used througout this project. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> * ci: Add known words to spellchecker The added words are valid and therefore added to the spellchecker dictionary. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> --------- Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
- Dec 04, 2023
-
-
Signed-off-by:
Dávid Házi <david.hazi@arm.com>
-
The installation phase in TF-M renames the NS private and public keys to get a standardized output. Signed-off-by:
Dávid Házi <david.hazi@arm.com>
-
The files referenced from the TF-M build are relocated in this version, update all the reference to point to the new location of those files. Signed-off-by:
Dávid Házi <david.hazi@arm.com>
-
- Nov 29, 2023
-
-
Devaraj Ranganna authored
Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
- Nov 27, 2023
-
-
The last 0x1000 bytes of the RAM are reserved for the provisioning bundle. Signed-off-by:
Bence Balogh <bence.balogh@arm.com>
-
Signed-off-by:
Bence Balogh <bence.balogh@arm.com>
-
This version of TF-M renamed the `tfm_psa_ns_api.c` to `tfm_tz_psa_ns_api.c`. This is reflected in TF-M build script. Signed-off-by:
Bence Balogh <bence.balogh@arm.com>
-
- Nov 24, 2023
-
-
Devaraj Ranganna authored
Instead of deiniting git submodules, use `git submodule status` to find the list of exclude directories. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
- Nov 20, 2023
-
-
currently, we are using --check option to check for uncrustify failures, it is better to use --replace instead of --check as it corrects the failures beside doing what --check does. Developers can benefit from this improvement when they run the pre-commit locally. In addition, use same command line options for uncrustify for both internal and public CI. Uncrustify should check for all the FRI project files except for those that are downloaded with git submodule, to do so, we have to de-init all the submodules before Uncrustify tool run and then initialise them back right after it finish. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-