Skip to content

Add AWS IoT Device Advisor validation to keyword-detection application #54

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 24 additions & 9 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2023 Arm Limited and/or its affiliates
# Copyright (c) 2023-2024 Arm Limited and/or its affiliates
# <[email protected]>
# SPDX-License-Identifier: MIT

Expand All @@ -20,6 +20,14 @@ on:
jobs:
ubuntu:
runs-on: ubuntu-latest
strategy:
matrix:
application: [keyword-detection, speech-recognition]
audio: [ROM, VSI]
inference: [ETHOS, SOFTWARE]
exclude:
- application: speech-recognition
inference: SOFTWARE
steps:
- name: Checkout project
uses: actions/checkout@v3
Expand All @@ -29,6 +37,7 @@ jobs:
- name: Install python 3
uses: actions/setup-python@v3
with:
python-version: '3.10'
architecture: x64
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -37,7 +46,7 @@ jobs:
run: |
pip install cmake ninja imgtool cffi intelhex cbor2 cbor jinja2 PyYaml pyelftools
sudo apt-get -y update
sudo apt-get -y install srecord
sudo apt-get -y install srecord libsndfile1-dev
- name: Install GNU Arm toolchain
shell: bash
run: |
Expand All @@ -53,25 +62,31 @@ jobs:
export IOT_OTA_CLIENT_CERT="dummy_certificate"
export IOT_OTA_CLIENT_PRIV="dummy_priv_key"
export IOT_OTA_CLIENT_PUB="dummy_pub_key"
./tools/ci/generate_credentials.sh -f -p applications/aws_iot_example/configs/aws_configs
export APP_UNDERSCORED=$(echo ${{ matrix.application }} | tr '-' '_')
./tools/ci/generate_credentials.sh -f -p applications/${APP_UNDERSCORED}/configs/aws_configs
git config --global user.email "[email protected]"
git config --global user.name "ci"
- name: Build the project
- name: Build ${{ matrix.application }} application
shell: bash
run: |
export PATH=$HOME/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin:$PATH
./tools/scripts/build.sh aws-iot-example --toolchain GNU --certificate_path $PWD/certificate.pem --private_key_path $PWD/private_key.pem
./tools/scripts/build.sh ${{ matrix.application }} \
--inference ${{ matrix.inference }} \
--audio ${{ matrix.audio }} \
--toolchain GNU \
--certificate_path $PWD/certificate.pem \
--private_key_path $PWD/private_key.pem
- name: Copy artifacts
shell: bash
run: |
tar -czf gnu_build.tar.gz \
build/aws-iot-example_merged.elf \
build/aws-iot-example-update_signed.bin \
tar -czf ${{ matrix.application }}_gnu_build.tar.gz \
build/${{ matrix.application }}_merged.elf \
build/${{ matrix.application }}-update_signed.bin \
build/update-signature.txt
- name: Upload Build Artifacts
uses: actions/upload-artifact@v3
with:
name: FRI-build-logs
path: |
${{ github.workspace }}/gnu_build.tar.gz
${{ github.workspace }}/${{ matrix.application }}_gnu_build.tar.gz
retention-days: 5
5 changes: 1 addition & 4 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ build-applications:
matrix:
-
<< : *pipeline_config_non_ml_applications
APP: [blinky, aws-iot-example]
APP: [blinky]
-
<< : *pipeline_config_ml_applications
APP: [keyword-detection]
Expand Down Expand Up @@ -177,9 +177,6 @@ test-applications:
fi
parallel:
matrix:
-
<< : *pipeline_config_non_ml_applications
APP: [aws-iot-example]
-
<< : *pipeline_config_ml_applications
APP: [keyword-detection]
Expand Down
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,17 +61,16 @@ This reference integration contains following two examples:

* [Blinky example](docs/blinky.md)
* Demonstrates FreeRTOS kernel and TF-M integration
* [AWS IoT example](docs/aws_iot_example.md)
* Demonstrates [secure connectivity](#secure-tls-connection) to AWS IoT core using [Mbed TLS](#mbed-tls),
[PKCS#11 PSA Shim](#pkcs11-psa-shim) and [coreMQTT-agent](https://docs.aws.amazon.com/freertos/latest/userguide/coremqtt-agent.html)
library. In addition, [secure OTA](#secure-ota-updates) using [OTA agent](https://freertos.org/ota/index.html)
and [AWS OTA PAL PSA implementation](#aws-ota-pal-psa-implementation).
* [Keyword Detection](docs/keyword_detection.md)
* Demonstrates detecting keywords from an audio source using Machine Learning.
It also has all the features of the AWS IoT example.
* [Speech Recognition](docs/keyword_detection.md)
* [Speech Recognition](docs/speech_recognition.md)
* Demonstrates detecting sentences from an audio source using Machine Learning.
It also has all the features of the AWS IoT example.

The Keyword-Detection and Speech-Recognition applications demonstrate [secure connectivity](#secure-tls-connection)
to AWS IoT core using [Mbed TLS](#mbed-tls), [PKCS#11 PSA Shim](#pkcs11-psa-shim) and
[coreMQTT-agent](https://docs.aws.amazon.com/freertos/latest/userguide/coremqtt-agent.html) libraries.
In addition, [secure OTA](#secure-ota-updates) using [OTA agent](https://freertos.org/ota/index.html)
and [AWS OTA PAL PSA implementation](#aws-ota-pal-psa-implementation) can be performed to update the binary running on the device.

### Secure TLS Connection

Expand Down
134 changes: 0 additions & 134 deletions applications/aws_iot_example/CMakeLists.txt

This file was deleted.

8 changes: 0 additions & 8 deletions applications/aws_iot_example/configs/CMakeLists.txt

This file was deleted.

10 changes: 0 additions & 10 deletions applications/aws_iot_example/configs/app_config/CMakeLists.txt

This file was deleted.

45 changes: 0 additions & 45 deletions applications/aws_iot_example/configs/app_config/app_config.h

This file was deleted.

38 changes: 0 additions & 38 deletions applications/aws_iot_example/configs/aws_configs/CMakeLists.txt

This file was deleted.

Loading