Skip to content

Commit bdece89

Browse files
Merge pull request #3084 from ArmDeveloperEcosystem/main
Production update
2 parents eb041b1 + 1de3a10 commit bdece89

97 files changed

Lines changed: 223 additions & 156 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

content/install-guides/asct.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Arm System Characterization Tool
2+
title: Arm System Characterization Tool (ASCT)
33

44
additional_search_terms:
55
- ASCT

content/install-guides/performix.md

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22
title: Arm Performix
33

44
additional_search_terms:
5-
- performix
6-
- performance
7-
- profiling
8-
- analysis
9-
- neoverse
10-
- optimization
11-
- perf
12-
- top-down
5+
- performix
6+
- performance
7+
- profiling
8+
- analysis
9+
- neoverse
10+
- optimization
11+
- perf
12+
- top-down
1313

1414
minutes_to_complete: 30
1515

1616
author: Pareena Verma
1717

1818
### Link to official documentation
19-
official_docs: https://developer.arm.com/documentation/110163/latest
19+
official_docs: https://developer.arm.com/documentation/110163/latest
2020

21-
weight: 1
22-
tool_install: true
23-
multi_install: false
21+
weight: 1
22+
tool_install: true
23+
multi_install: false
2424
multitool_install_part: false
2525
layout: installtoolsall
2626
---
@@ -47,8 +47,8 @@ Arm Linux target systems running Amazon Linux 2023, Ubuntu 22.04, or Ubuntu
4747

4848
Arm Performix requires different packages depending on your host platform:
4949

50-
* **Windows**: Windows 10 or later (Arm64 or x64 architecture)
51-
* **macOS**: macOS on Arm64 (Apple Silicon)
50+
* **Windows**: Windows 10 or later on Arm64 or x64 architecture
51+
* **macOS**: macOS on Arm64 (Apple Silicon) or x64 architecture
5252
* **Linux**: Debian-based distribution on Arm64 or x64 architecture
5353

5454
You also need access to an Arm Linux target system for profiling.
@@ -64,12 +64,12 @@ Download the Windows installer package for your architecture from the [Arm Perfo
6464
Alternatively, download using PowerShell. These commands require PowerShell and do not work in the Windows Command Prompt (CMD):
6565

6666
{{< tabpane code=true >}}
67-
{{< tab header="Arm64" >}}
67+
{{< tab header="Arm64" >}}
6868
curl -o ArmPerformix-windows-arm64.exe https://artifacts.tools.arm.com/arm-performix/app/latest/windows/arm64/ArmPerformix-windows-arm64.exe
69-
{{< /tab >}}
70-
{{< tab header="x64" >}}
69+
{{< /tab >}}
70+
{{< tab header="x64" >}}
7171
curl -o ArmPerformix-windows-x64.exe https://artifacts.tools.arm.com/arm-performix/app/latest/windows/x64/ArmPerformix-windows-x64.exe
72-
{{< /tab >}}
72+
{{< /tab >}}
7373
{{< /tabpane >}}
7474

7575
After downloading the `.exe` file, locate it in your Downloads folder and double-click it to start the installation wizard.
@@ -93,12 +93,12 @@ Download the Linux installer package for your architecture from the [Arm Perform
9393
Alternatively, download using `wget`:
9494

9595
{{< tabpane code=true >}}
96-
{{< tab header="Arm64" >}}
97-
wget -P $HOME https://artifacts.tools.arm.com/arm-performix/app/latest/linux/arm64/ArmPerformix-linux-arm64.deb
98-
{{< /tab >}}
99-
{{< tab header="x64" >}}
100-
wget -P $HOME https://artifacts.tools.arm.com/arm-performix/app/latest/linux/x64/ArmPerformix-linux-amd64.deb
101-
{{< /tab >}}
96+
{{< tab header="Arm64" >}}
97+
wget -P $HOME https://artifacts.tools.arm.com/arm-performix/app/latest/linux/arm64/ArmPerformix-linux-arm64.deb
98+
{{< /tab >}}
99+
{{< tab header="x64" >}}
100+
wget -P $HOME https://artifacts.tools.arm.com/arm-performix/app/latest/linux/x64/ArmPerformix-linux-amd64.deb
101+
{{< /tab >}}
102102
{{< /tabpane >}}
103103

104104
After downloading the `.deb` file, navigate to the directory where you downloaded it:
@@ -147,13 +147,18 @@ Arm Performix daemon version: 1.0.0
147147

148148
### How do I install Arm Performix on macOS?
149149

150-
Download the macOS installer package from the [Arm Performix download page](https://developer.arm.com/servers-and-cloud-computing/arm-performix).
150+
Download the macOS installer package for your architecture from the [Arm Performix download page](https://developer.arm.com/servers-and-cloud-computing/arm-performix).
151151

152152
Alternatively, download using `curl`:
153153

154-
```bash
154+
{{< tabpane code=true >}}
155+
{{< tab header="Arm64" >}}
155156
curl -Lo ArmPerformix-darwin-arm64.pkg https://artifacts.tools.arm.com/arm-performix/app/latest/darwin/arm64/ArmPerformix-darwin-arm64.pkg
156-
```
157+
{{< /tab >}}
158+
{{< tab header="x64" >}}
159+
curl -Lo ArmPerformix-darwin-arm64.pkg https://artifacts.tools.arm.com/arm-performix/app/latest/darwin/x64/ArmPerformix-darwin-x64.pkg
160+
{{< /tab >}}
161+
{{< /tabpane >}}
157162

158163
After downloading the `.pkg` file, navigate to the directory where you downloaded it and double-click the file to start the installer.
159164

@@ -250,9 +255,9 @@ In the **Configure Target** form, provide the following details:
250255
* **Port**: the SSH port number (default is 22)
251256
* **User**: the username for SSH connection
252257
* **SSH Private Key**: choose **Automatically Detect Key** or **Select Key Manually**
253-
* For manual selection, enter the path to your private key (usually `~/.ssh/id_rsa` or `~/.ssh/id_ed25519`)
258+
* For manual selection, enter the path to your private key (usually `~/.ssh/id_rsa` or `~/.ssh/id_ed25519`)
254259
* **Host Key Verification**: Choose **Strict** (recommended) or **Ignore**
255-
* Strict mode verifies the server identity using your `~/.ssh/known_hosts` file
260+
* Strict mode verifies the server identity using your `~/.ssh/known_hosts` file
256261

257262
![Arm Performix target configuration form displaying input fields including Host with IP address 192.168.1.10, Name field for descriptive target identifier, Port field set to 22, User field for SSH username, SSH Private Key section with radio buttons for Automatically Detect Key and Select Key Manually options, and Host Key Verification dropdown menu set to Strict mode with explanation text about verifying server identity using known_hosts file alt-txt#center](/install-guides/_images/atp-target-config.png "Configure Target form with connection settings")
258263

@@ -361,32 +366,32 @@ apx target add '{
361366
Choose one of the following methods to authenticate with your target:
362367

363368
* **Use an existing SSH key in a non-default location:**
364-
369+
365370
If your private key is not in `~/.ssh/id_rsa` or `~/.ssh/id_ed25519`, specify its path in the target command:
366371
```bash
367372
apx target add user@host:22:/path/to/private_ssh_key
368373
```
369374

370375
* **Automatically detect an existing SSH key:**
371-
376+
372377
Arm Performix searches common locations (`~/.ssh/id_rsa`, `~/.ssh/id_ed25519`, etc.) for a usable key:
373378
```bash
374379
apx target add user@host --find-keys
375380
```
376381

377382
* **Generate and configure a new SSH key pair using password authentication:**
378-
383+
379384
If your target supports password-based SSH login, Performix can generate a new key pair and configure it automatically:
380385
```bash
381386
apx target add user@host --password
382387
```
383388
This option:
384-
- Generates an RSA 4096-bit key pair on your host (without a passphrase)
385-
- Authenticates to the target using the password you provide
386-
- Adds the public key to the target's `~/.ssh/authorized_keys` file
387-
- Records the target's host key in the known hosts list
388-
- Stores the private key securely for future connections
389-
- Discards the password immediately after use (not stored)
389+
- Generates an RSA 4096-bit key pair on your host (without a passphrase)
390+
- Authenticates to the target using the password you provide
391+
- Adds the public key to the target's `~/.ssh/authorized_keys` file
392+
- Records the target's host key in the known hosts list
393+
- Stores the private key securely for future connections
394+
- Discards the password immediately after use (not stored)
390395

391396
**Host key verification:**
392397

content/learning-paths/automotive/openadkit2_safetyisolation/3_container_spliting.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ In this Learning Path, you will split the simulation and visualization stack fro
1919

2020
These nodes communicate using ROS 2 with DDS as the middleware layer, ensuring low-latency and fault-tolerant data exchange between components.
2121

22-
## Architectural Benefits
22+
## Architectural benefits
2323

2424
This architecture brings several practical benefits:
2525

@@ -31,7 +31,7 @@ This architecture brings several practical benefits:
3131

3232
- **Support for Modular CI/CD Workflows**: with containerized separation, you can build, test, and deploy each module independently, which enables agile development and faster iteration cycles.
3333

34-
![img1 alt-text#center](aws_example.jpg "Split instance example in AWS")
34+
![Diagram showing OpenAD Kit deployment split across two AWS instances, with simulation and visualization on one instance and planning-control on another, connected via DDS communication#center](aws_example.jpg "Split instance example in AWS")
3535

3636
## Configure networking for DDS communication
3737

@@ -54,7 +54,7 @@ Within the EC2 Security Group settings:
5454
- Add an inbound rule that allows all traffic from the same Security Group by setting the source to the security group itself.
5555
- Outbound traffic is typically allowed by default and usually does not require changes.
5656

57-
![img2 alt-text#center](security_group.jpg "AWS Security Group Setting")
57+
![Screenshot of AWS Security Group configuration showing inbound rule allowing all traffic from the same security group to enable DDS peer discovery between instances#center](security_group.jpg "AWS Security Group Setting")
5858

5959
This configuration allows automatic discovery and peer-to-peer communication between DDS participants across the two instances.
6060

@@ -143,7 +143,7 @@ Copy the following configuration into docker/cycloneDDS.xml on both machines, an
143143
- For more information on CycloneDDS settings, see the [Cyclone DDS Configuration Guide](https://cyclonedds.io/docs/cyclonedds/latest/config/config_file_reference.html#cyclonedds-domain-internal-socketreceivebuffersize).
144144
{{% /notice %}}
145145

146-
## Update the Docker Compose Configuration for Multi-Host Deployment
146+
## Update the Docker Compose configuration for multi-host deployment
147147

148148
To support running containers across two separate hosts, you’ll need to modify the docker/docker-compose-2ins.yml file.
149149
This includes removing inter-container dependencies and updating the network and environment configuration.
@@ -256,7 +256,7 @@ services:
256256
257257
Before moving to the next step, make sure that `docker-compose-2ins.yml` and `cycloneDDS.xml` are already present on both instances.
258258

259-
## Optimize Network Settings for DDS Communication
259+
## Optimize network settings for DDS communication
260260

261261
In a distributed DDS setup, `high-frequency UDP traffic` between nodes may lead to `IP packet fragmentation` or `buffer overflows`, especially under load.
262262
These issues can degrade performance or cause unexpected system behavior.

content/learning-paths/automotive/openadkit2_safetyisolation/4_multiinstance_executing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ Once both machines are running their launch scripts, the Visualizer container ex
8888

8989
Open this link in your browser to observe the simulation in real time. The demo closely resembles the output in the [previous Learning Path, Deploy Open AD Kit containerized autonomous driving simulation on Arm Neoverse](/learning-paths/automotive/openadkit1_container/4_run_openadkit/).
9090

91-
![Distributed OpenAD Kit simulation running on two Arm-based instances with visualizer and simulator coordination over DDS alt-text#center](split_aws_run.gif "Visualizer output from a distributed OpenAD Kit simulation showing ROS 2 modules running across two cloud instances using DDS communication.")
91+
![Animated visualization showing the OpenAD Kit simulation running across two distributed Arm-based instances, with the planning-control module on one node communicating over DDS with the simulator and visualizer on another node, demonstrating real-time autonomous driving scenario execution#center](split_aws_run.gif "Visualizer output from a distributed OpenAD Kit simulation showing ROS 2 modules running across two cloud instances using DDS communication.")
9292

9393
You’ve now run the OpenAD Kit across two nodes with separated control and visualization roles. DDS enabled real-time, peer-to-peer communication between the ROS 2 nodes, supporting synchronized behavior across the planning and simulation components deployed on two separate instances.
9494

content/learning-paths/automotive/openadkit2_safetyisolation/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Prototype safety-critical isolation for autonomous driving systems on Neoverse
3+
description: Learn how to implement functional safety isolation for autonomous driving systems on Arm Neoverse using DDS-based communication, containerized deployment, and ISO 26262 compliance principles.
34

45
minutes_to_complete: 60
56

content/learning-paths/automotive/system76-auto/_index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
title: Develop Arm automotive software on the System76 Thelio Astra
33

4+
description: Learn how to build and run the Arm Automotive Solutions Software Reference Stack locally on the System76 Thelio Astra desktop using Multipass virtualization and Yocto build tools.
5+
46
minutes_to_complete: 60
57

68
who_is_this_for: This is an introductory topic for automotive developers interested in local development using the System76 Thelio Astra Linux desktop computer.
@@ -22,6 +24,10 @@ armips:
2224
operatingsystems:
2325
- Linux
2426
tools_software_languages:
27+
- Multipass
28+
- Yocto
29+
- Docker
30+
- Git
2531

2632
further_reading:
2733
- resource:

content/learning-paths/automotive/system76-auto/about.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ weight: 2
66

77
layout: "learningpathall"
88
---
9-
### About the Thelio Astra
9+
## About the Thelio Astra
1010

1111
Thelio Astra is an Arm-based desktop computer designed by System76 for autonomous vehicle development and other general-purpose Arm software development.
1212

content/learning-paths/automotive/system76-auto/build.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Press the space bar and the arrow keys to select the three components shown in t
3131
- **Safety Island Actuation Demo**.
3232
- **Baremetal**.
3333

34-
![configuration #center](configure.png)
34+
![Kas configuration menu showing three selected options: EULA acceptance, Safety Island Actuation Demo, and Baremetal, with Build button highlighted at bottom#center](configure.png)
3535

3636
{{% notice Note %}}
3737
To build and run, you must accept the EULA.

content/learning-paths/automotive/zenacssdebug/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Debug Arm Zena CSS Reference Software Stack with Arm Development Studio
33

4+
description: Learn how to debug the Arm Zena CSS Reference Software Stack using Arm Development Studio on a Fixed Virtual Platform, covering RSE, Safety Island, and Linux kernel debugging workflows.
45

56
minutes_to_complete: 60
67

content/learning-paths/automotive/zenacssdebug/rse.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,5 +87,5 @@ stepi
8787
Use the `Commands` or `History` pane to see and copy the equivalent debugger commands of the GUI actions.
8888
{{% /notice %}}
8989

90-
![RSE.launch in Arm Development Studio showing Debugger pane with TF-M symbols loaded and path substitution mapping alt-text#center](debugger_commands.png "RSE Debugger pane with TF-M symbol loading and source path substitution")
90+
![RSE.launch in Arm Development Studio showing Debugger pane with TF-M symbols loaded and path substitution mapping#center](debugger_commands.png "RSE Debugger pane with TF-M symbol loading and source path substitution")
9191

0 commit comments

Comments
 (0)