- Feb 27, 2024
-
-
Devaraj Ranganna authored
* Move supported toolchain information from application docs to README.md to avoid duplicatiing it on all supported examples. * Move supported platforms description from docs/prerequisites.md to README.md to list and describe the supported platforms in one place. * Add supported versions information to supported targets. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
Devaraj Ranganna authored
The default target for FRI is Corstone-310. Update the `docs/prerequisites.md` instructions to download Corstone-310 FVP. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
Devaraj Ranganna authored
In the initial days of FRI, vht running in ami was the only supported platform since it supported virtual socket interface. However, latest ecosystem FVPs do support virtual socket interface. In addition, FRI now supports FreeRTOS TCP/IP stack. Therefore, remove vht support. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
- Feb 25, 2024
-
-
Add missing PARENT_SCOPE to root folder CMakeLists.txt. It is needed as the entry point is the application/<example>. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com>
-
- Feb 21, 2024
-
-
Ahmed Ismail authored
All the components across the project should use the `iot_reference_arm_corstone3xx_apply_patches` function to apply patches which in turn improves consistency. For more information, please refer to the commit with SHA: fa76f068 Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Gabor Abonyi authored
Move common settings and values from the applications to the bsp and root CMakeLists.txt files. These values are common across all apps. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com>
-
- Feb 19, 2024
-
-
GaborAbonyi authored
* ml-eval-kit: Make ETHOSU_ARCH configurable in TensorFlow CMake This patch removes the hardcoded value of u55 in tesorflow.cmake. It now uses ETHOS_U_NPU_ID as input and convert it to the format needed by TensorFlow build. This also means the ETHOS_U_NPU_ID variable preserve workaround is no longer needed in SetupMlEmbeddedEvaluationKitLibraries.cmake as it is no longer overwritten in tensorflow.cmake. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com> * ml-eval-kit: Move NPU config from app to bsp These settings are independent from the applications, to reduce duplication, configuration of NPU is moved to bsp layer. Added U65 option and checks for config validity. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com> * ml-eval-kit: Move activation_buf_dram to .bss.NoInit region This is needed to place activation_buf_dram in a no init region, so it does not require space in flash. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com> * build-run: Add support for Ethos NPU ID and MAC cycle configuration * Add option to the build/run scripts to select different Ethos NPU * Add option to the buld script to select number of Ethos NPU MAC unit per cycle Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com> * build-run: Use a shell variable to gather CMake arguments This is so some CMake arguments can be excluded more easily depending on the build configuration. It will remove the need to set default values for CMake cache variables from the scripts as CMake cache variables already have default values. This change allows a standard overriding of CMake cache variable in CMake scripts without a check to see if the user input a value for the cache variable. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com> * build: Unify error report format in build.sh Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com> --------- Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com>
-
Since both the certificate path and the private key path are forwarded to CMake, the user is asked to specify them as absolute. Build process fails when either of these is a local path instead. Unfortunately, although our build script checks for existence of both files, the check is not done from CMake's point of view. As a result, the build error seen by the user is hard to understand (no known rule to make a missing ninja target). Resolve both AWS certificate path and AWS private key path to prevent the unhelpful error message from showing up, and make the build script more flexible by giving users option to use local paths as well as absolute paths for PEM files. Signed-off-by:
Filip Jagodzinski <filip.jagodzinski@arm.com>
-
- Feb 14, 2024
-
-
Change the optimization level for the `freertos-iot-libraries-tests` application to reduce code size whilst still maintaining a comfortable debugging experience. Arm Compiler For Embedded optimization level is set to use `-O1` and Arm GNU Toolchain is set to use `-Og`. These optimization levels are already used by the other FRI applications. The Arm Compiler For Embedded `-O1` optimization level results in a slower binary execution speed on `FVP_Corstone_SSE-310`. The MQTT test process loop timeout period (`MQTT_TEST_PROCESS_LOOP_TIMEOUT_MS`) needs therefore to be increased from `40000` to `54630` to pass the `MqttTest, MQTT_Restore_Session_Duplicate_Incoming_Publish_Qos1` test case. Signed-off-by:
Hugues Kamba Mpiana <hugues.kambampiana@arm.com>
-
- Feb 12, 2024
-
-
Hugues Kamba Mpiana authored
Improvements include: * Use descriptive names for symbols in lines with other test scripts * Add docstrings * Add type annotations * Use Python assignment operators where appropriate * Use f-strings to make print statement more readable Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Hugues Kamba Mpiana authored
Instead of repeating the executable name in the application `CMakeLists.txt`, use `CMAKE_PROJECT_NAME`. This change ensures that the project name matches the CMake target executable name. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Hugues Kamba Mpiana authored
Rename the AWS IoT Example application CMake project name from `aws-iot-example-project` to `aws-iot-example`. The addition of `-project` suffix was redundant as it is the value of the `CMAKE_PROJECT_NAME` CMake variable. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Hugues Kamba Mpiana authored
The `aws-iot-example-tests` executable's source code and CMake build instructions were contained within the AWS IoT Example application. It has now been decoupled as a standalone application named `freertos-iot-libraries-tests`. The `freertos-iot-libraries-tests` application verifies this FRI's integration of FreeRTOS IoT libraries running on the supported hardware platforms for robustness and compatibility with AWS’s published best practices for AWS IoT Core connectivity. Other changes include: * Use `CMAKE_PROJECT_NAME` to refer to the apps executable * Include header files that declares objects used in source files Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
- Feb 11, 2024
-
-
David Hazi authored
* Declaring MBEDTLS_ALLOW_PRIVATE_ACCESS allows access to mbedtls "private" fields. * Migration guide: https://github.com/Mbed-TLS/mbedtls/blob/development/docs/3.0-migration-guide.md Signed-off-by:
Dávid Házi <david.hazi@arm.com>
-
- Feb 07, 2024
-
-
The `otaPal_CloseFile_ValidSignature` test case was previously removed as it kept failing. Restore it as it has been fixed. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
For the integration test app, select the code signing public key .Pem file within test directory of `FreeRTOS-Libraries-Integration-Tests` for generating the credentials header file. This static public key is necessary to verify the test signature using the same key pair used to generate the signature during provisioning. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
The fixes are provided with a patch that does the following: * Make the binary file path configurable using a macro (`OTA_PAL_FIRMWARE_FILE`) instead of hardcoding it as `test_happy_path_image.bin`. This is so it can be specified as expected by the AWS test suite. * Replace the RSA SHA256 signature as it is invalid. The replacement signature has been regenerated using a different key pair with the public key also added to the `src/ota/test_files` subdirectory. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
- Feb 06, 2024
-
-
* Improved tensorflow.cmake * Model URLs file location has changed * Some patches have been merged upstream Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com>
-
Instead of building the whole project as an external project, only build the necessary libraries. Rename BuildMLEmbeddedEvaluationKit.cmake to SetupMlEmbeddedEvaluationKitLibraries.cmake This change also uses the NPU driver component from ML Evaluation Kit which results in the following changes: * Modify initialization of NPU in AI applications to use API provided by the component * Add ICache and DCache enablement options as caches are used in the NPU component * Include various patches for the NPU component. * Remove ML Evaluation Kit device drivers header files inclusions as they are no longer used as we are now using the NPU component for initializing the NPU. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com>
-
Use the -additional-ethos-u-config-name option to generate required NPU optimization instead of patching default list. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com>
-
This prevents the module from always being included even when building applications that do not require it. Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com>
-
This commit is meant to do the following: * Modify test-application-output job to test blinky application only as it can be used as a smoke test. * Test ML inference output for both keyword-detection and speech-recognition applications as part of the OTA test job which is now renamed to test_applications as it is testing OTA update and ML inference outputs as well. Note: * The mentioned changes would result in a better reliability and better CI performance. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
FVP VSI python workaround shall be done as part of the docker image generation rather than being done for each VSI test which should significantly reduce CI execution time. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Ensure the URL of the files reported in the TPIP comment added to the Merge Request contains the correct branch name. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
For non-ML applications there is no need to build and run for AUDIO and INFERENCE variants as these configurations should be relevant for ML applications only. Non-ML applications would use the default values only. Thus, separating non-ML applications pipeline configurations from the ML applications pipeline configurations. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Signed-off-by:
Gabor Abonyi <gabor.abonyi@arm.com>
-
- Feb 05, 2024
-
-
Fix firmware update cancellation and cleanup check by ensuring the result variable is initialized to the success value. The result variable was only set in case of failure if the cancellation and/or the cleanup failed. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Devaraj Ranganna authored
In order for one of the patches to be be cleanly applied, git config option `core.autocrlf` must be set to value `input`. The file `src/transport_interface/transport_interface_test.c` has `CRLF` line ending and patching it fails if `core.autocrlf` is not set to `input`. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
Devaraj Ranganna authored
The `TRANSPORT_TEST_BUFFER_WRITABLE_LENGTH` is set to `2048`. Reduce it to `1350`, so that the test data can be sent in a single ethernet packet. Without this change, it takes a very long time to complete transport tests and most of the times test fails. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
Devaraj Ranganna authored
With a lower timeout value (750), socket connection sporadically fails. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
Devaraj Ranganna authored
Use FreeRTOS memory management APIs instead of using C library ones, as FRI is configured to use FreeRTOS memory management. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
Devaraj Ranganna authored
The integration tests validates both secure and unsecure connections over TCP. However, unsecure TCP connection support was missing from FreeRTOS TCP/IP integration layer. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
Devaraj Ranganna authored
* Change `ECHO_SERVER_ENDPOINT` from `localhost` to `127.0.0.1` as DNS resolution of `localhost` fails with FreeRTOS-TCP/IP. Therefore hardcode the numerical value. * Increase the transport interface test timeout to its maximum value by overriding the `TRANSPORT_TEST_WAIT_THREAD_TIMEOUT_MS` macro with value `0xFFFFFFFF`. This is required to ensure the nightly test in the internal CI passes. * Increase MQTT process loop timeout, so that the expected packet from the AWS IoT service is received successfully. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
Devaraj Ranganna authored
Provide the device private key and certificate to the build script as parameters. In addition, provide timeout value to integration test script as parameter. Signed-off-by:
Devaraj Ranganna <devaraj.ranganna@arm.com>
-
This new way of applying patches is added to fix Corstone300 platform hardfault exception happening as the TF-M patch (components/security/trusted_firmware-m/integration/patches /0001-corstone300-Modify-ISRAM0-to-be-non-secure-partition.patch) for this platform is sometimes not applied. Patches are now applied using `git stash` and `git apply`. This methodology is much better as it reports whenever the new CMake function fails to apply a certain patch. Note: This solution is based on what TF-M implemented in `components/security/trusted_firmware-m/library/cmake/ remote_library.cmake` Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
- Feb 02, 2024
-
-
Hugues Kamba-Mpiana authored
The project is tested in the internal CI/CD with Arm Compiler For Embedded version 6.21. The previously used version was version 6.18. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
- Jan 31, 2024
-
-
Hugues Kamba Mpiana authored
Add support for testing ML applications with VSI as the audio source. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com>
-
Ahmed Ismail authored
This commit is meant to enable the users to build and run keyword-detection and speech-recognition ML applications using VSI(Virtual Streaming Interface) as the input audio source. `core_clk.mul=200000000` clock rate multiplier FVP option is added to increase the clock rate which result in faster and more precise ML inference. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Ahmed Ismail authored
It is better to use task notifications in VSI callback function as this functions is called from an interrupt service routine where it is not a good practice to execute functions in its context but rather than that task notifications should be used to keep the interrupt service routine simple. Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-
Hugues Kamba Mpiana authored
The script is added to provide support for Virtual Streaming Interface (VSI) as the audio source for ML applications with audio input files. Signed-off-by:
Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Signed-off-by:
Ahmed Ismail <Ahmed.Ismail@arm.com>
-