Skip to content
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
8 changes: 4 additions & 4 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ RUN rm -rf /home/ubuntu/FVP_Corstone_SSE-300; \
if [[ $(uname -m) == "aarch64" ]]; then \
FVP_LINK="_armv8l"; \
fi; \
wget -qO - https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-300/FVP_Corstone_SSE-300_11.24_13_Linux64${FVP_LINK}.tgz \
wget -qO - https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Corstone-IoT/Corstone-300/FVP_Corstone_SSE-300_11.27_42_Linux64${FVP_LINK}.tgz \
| tar -xz -C /tmp/arm-ecosystem-fvp; \
cd /tmp/arm-ecosystem-fvp && ./FVP_Corstone_SSE-300.sh --i-agree-to-the-contained-eula --no-interactive -q; \
rm -rf /tmp/arm-ecosystem-fvp
Expand All @@ -178,7 +178,7 @@ RUN rm -rf /home/ubuntu/FVP_Corstone_SSE-310; \
if [[ $(uname -m) == "aarch64" ]]; then \
FVP_LINK="_armv8l"; \
fi; \
wget -qO - https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-310/FVP_Corstone_SSE-310_11.24_13_Linux64${FVP_LINK}.tgz \
wget -qO - https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Corstone-IoT/Corstone-310/FVP_Corstone_SSE-310_11.27_42_Linux64${FVP_LINK}.tgz \
| tar -xz -C /tmp/arm-ecosystem-fvp; \
cd /tmp/arm-ecosystem-fvp && ./FVP_Corstone_SSE-310.sh --i-agree-to-the-contained-eula --no-interactive -q; \
rm -rf /tmp/arm-ecosystem-fvp
Expand All @@ -191,7 +191,7 @@ RUN rm -rf /home/ubuntu/FVP_Corstone_SSE-315; \
if [[ $(uname -m) == "aarch64" ]]; then \
FVP_LINK="_armv8l"; \
fi; \
wget -qO - https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-315/FVP_Corstone_SSE-315_11.24_22_Linux64${FVP_LINK}.tgz \
wget -qO - https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Corstone-IoT/Corstone-315/FVP_Corstone_SSE-315_11.27_42_Linux64${FVP_LINK}.tgz \
| tar -xz -C /tmp/arm-ecosystem-fvp; \
cd /tmp/arm-ecosystem-fvp && ./FVP_Corstone_SSE-315.sh --i-agree-to-the-contained-eula --no-interactive -q; \
rm -rf /tmp/arm-ecosystem-fvp
Expand All @@ -204,7 +204,7 @@ RUN rm -rf /home/ubuntu/FVP_Corstone_SSE-320; \
if [[ $(uname -m) == "aarch64" ]]; then \
FVP_LINK="_armv8l"; \
fi; \
wget -qO - https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-320/FVP_Corstone_SSE-320_11.27_25_Linux64${FVP_LINK}.tgz \
wget -qO - https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Corstone-IoT/Corstone-320/FVP_Corstone_SSE-320_11.27_25_Linux64${FVP_LINK}.tgz \
| tar -xz -C /tmp/arm-ecosystem-fvp; \
cd /tmp/arm-ecosystem-fvp && ./FVP_Corstone_SSE-320.sh --i-agree-to-the-contained-eula --no-interactive -q; \
rm -rf /tmp/arm-ecosystem-fvp
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ AI-capable SoCs faster.

Arm's [Fixed Virtual Platform](https://www.arm.com/products/development-tools/simulation/fixed-virtual-platforms)
is used to run the application artefacts.
The [currently released version <11.24.22>](https://developer.arm.com/downloads/-/arm-ecosystem-fvps)
The [currently released version <11.27.xx>](https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms/IoT%20FVPs)
of FVP is supported by the FRI.

* [Corstone-320](https://developer.arm.com/Processors/Corstone-320)
Expand Down
24 changes: 12 additions & 12 deletions docs/applications/aws_iot/aws_iot_cloud_connection.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,15 @@ To see messages being sent by the application:
1. Click on the **MQTT test client** button. This will open a new page.
1. Click on **Subscribe to a topic**.
1. In the **Subscription topic** field enter the topic name
`<mqtt-client-identifier>/ml/inference.`
`<mqtt-client-identifier>/ml/inference`
> `mqtt-client-identifier` value is defined in
`applications/<application_name>/configs/aws_configs/aws_clientcredential.h` as
`clientcredentialIOT_THING_NAME`.
1. In the **MQTT payload display** combo box select `Display payloads as
strings (more accurate)`
1. Click the **Subscribe** button. The messages will be shown below within
this same page.
1. Under **Additional configurations**, in the **MQTT payload display** combo box select
`Display payloads as strings (more accurate)`
1. Click the **Subscribe** button. The messages will be shown below under
`<mqtt-client-identifier>/ml/inference` topic within the same page under **Subscriptions** when
the application is running.

## Firmware update with AWS

Expand Down Expand Up @@ -96,20 +97,19 @@ in the next step.
1. Select the device to update (the Thing you created in earlier steps)
1. Select `MQTT` transport only
1. Select **Use my custom signed file**
1. Select upload new file and select the signed update binary
(`build/${APPLICATION_NAME}-update_signed.bin`)
1. Select the S3 bucket you created in step 1. to upload the binary to
1. Paste the signature string that is echoed during the build of the example
(it is also available in
`build/update-signature.txt`).
1. Select `SHA-256` and `ECDSA` algorithms.
1. Select `SHA-256` and `RSA` algorithms.
1. For **Path name of code signing certificate on device** put in `0`
(the path is not used)
1. Select upload new file and select the signed update binary
(`build/${APPLICATION_NAME}-update_signed.bin`)
1. Select the S3 bucket you created in step 1. to upload the binary to
1. For **Path name of file on device** put in `non_secure image`
1. As the role, select the OTA role you created in step 2.
1. Click next
1. **Job type**, select
*Your job will complete after deploying to the selected devices/groups
(snapshot).*
1. Click next, now your update job is ready and running
*Your job will complete after deploying to the devices and groups that you chose (snapshot)*
1. Click **Create job**, now your update job is ready and running
* If your application is connected to AWS, the update will begin immediately. If not, next time your application connects to AWS it will perform the update.
8 changes: 3 additions & 5 deletions docs/applications/aws_iot/setting_up_aws_connectivity.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,11 +141,9 @@ user defines called out below.

`clientcredentialMQTT_BROKER_ENDPOINT`

* Set this to the Device data endpoint name of your amazon account.
* To find this go to the navigation pane of the [AWS IoT console](https://console.aws.amazon.com/iotv2/),
choose **Settings** (bottom left hand corner).
* On the **Settings** page, in the **Device data endpoint** section of the page
look for **Endpoint**. (e.g. `a3xyzzyx-ats.iot.us-east-2.amazonaws.com`).
* Set this to the **Domain name** (aka Device data endpoint name) of your amazon account.
* To find this go to the navigation pane of the [AWS IoT console](https://console.aws.amazon.com/iotv2/), under the **Connect** section (top left hand corner) click on **Domain configurations**.
* Look for **Domain name** (e.g. `a3xyzzyx-ats.iot.us-east-2.amazonaws.com`).
* Note the region may be different than these instructions. It should match
where your thing and policy were created due to the MQTT Topic restrictions
discussed above.
Expand Down
6 changes: 6 additions & 0 deletions docs/applications/blinky.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ setup correctly before proceeding.

## Building the application

> ⚠️ **If you’ve built a different application, run the following commands before proceeding**
```bash
git submodule deinit --all -f
git submodule update --init --recursive
```

To build the blinky example, run the following command:
```bash
./tools/scripts/build.sh blinky --target <corstone300/corstone310/corstone315/corstone320> --toolchain <ARMCLANG/GNU>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,12 @@ Save and close the file.

## Building the application

> ⚠️ **If you’ve built a different application, run the following commands before proceeding**
```bash
git submodule deinit --all -f
git submodule update --init --recursive
```

To build the application, run the following command:

```bash
Expand Down
6 changes: 6 additions & 0 deletions docs/applications/keyword_detection.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ Follow the instructions described in [Setting Up AWS Connectivity](./aws_iot/set

## Building the application

> ⚠️ **If you’ve built a different application, run the following commands before proceeding**
```bash
git submodule deinit --all -f
git submodule update --init --recursive
```

To build the Keyword-Detection example, run the following command:

```bash
Expand Down
6 changes: 6 additions & 0 deletions docs/applications/object_detection.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ Follow the instructions described in [Setting Up AWS Connectivity](./aws_iot/set

## Building the application

> ⚠️ **If you’ve built a different application, run the following commands before proceeding**
```bash
git submodule deinit --all -f
git submodule update --init --recursive
```

To build the Object-Detection example, run the following command:
```bash
./tools/scripts/build.sh object-detection --certificate_path <certificate pem's path> --private_key_path <private key pem's path> -t <corstone315/corstone320> --toolchain GNU --conn-stack <FREERTOS_PLUS_TCP/IOT_VSOCKET> --psa-crypto-implementation <TF-M/MBEDTLS>
Expand Down
6 changes: 6 additions & 0 deletions docs/applications/speech_recognition.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ Follow the instructions described in [Setting Up AWS Connectivity](./aws_iot/set

## Building the application

> ⚠️ **If you’ve built a different application, run the following commands before proceeding**
```bash
git submodule deinit --all -f
git submodule update --init --recursive
```

To build the Speech-Recognition example, run the following command:

```bash
Expand Down
16 changes: 16 additions & 0 deletions docs/development_environment/linux_dev_env.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,19 @@ git submodule update --init --recursive
* In the file,
`applications/<application_name>/configs/freertos_config/FreeRTOSIPConfig.h`,
set `ipconfigUSE_DHCP` to value `0`
* If you encounter an error similar to the following during any of the applications compilation stage:
```
ERROR: cannot verify <domain>'s certificate, issued by '<CA name>':
Unable to locally verify the issuer's authority.
```
This indicates that the system or Python environment cannot locate a valid set of trusted Certificate Authorities (CAs).
This can happen in WSL or other custom environments where the default certificate path is not automatically configured.

You can temporarily set the correct certificate path by exporting the appropriate environment variable:
```
export SSL_CERT_FILE=<path-to-your-system-certificate-bundle>
```
For example, on many Linux-based systems this is commonly:
```
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
```
6 changes: 6 additions & 0 deletions release_changes/202510161635.change.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
npm: Use internal npm mirror
docs: Update endpoint instructions to new AWS console UI
docs: Add the SSL certification misconfiguration symptom
docs: Document outdated submodules symptom
docs: Update MQTT connectivity and OTA update instructions
fvp: Update to latest Corstone platforms FVP release
1 change: 1 addition & 0 deletions tools/ci/pipeline-baseline-fri.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ spell-check:
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
- nvm install v22.7.0
- apt-get install fd-find -y
- npm config set registry "${NPM_CONFIG_REGISTRY}"
- npm install -g cspell
# Find files with `.c`, `.h`, `.md`, `.txt`, `.change`, and `.yml` extensions in one patch.
# Then, run `cspell` on the collected files using `cspell.config.yaml` configuration file.
Expand Down