Skip to content

Commit 23e9ad9

Browse files
authored
Merge pull request #2299 from pareenaverma/content_review
Zena CSS ArmDS Tech review
2 parents 084568b + 5e17c5d commit 23e9ad9

File tree

8 files changed

+37
-34
lines changed

8 files changed

+37
-34
lines changed

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,35 @@ title: Debug Arm Zena CSS Reference Software Stack with Arm Development Studio
44
draft: true
55
cascade:
66
draft: true
7-
8-
description: Learn how to set up a debug environment for Arm Zena CSS Reference Software Stack
97

108
minutes_to_complete: 60
119

12-
who_is_this_for: This topic is for software developers who wish to use Arm Development Studio to explore and debug the Arm Zena CSS Reference Software Stack.
10+
who_is_this_for: This is an introductory topic for software developers who wish to use Arm Development Studio to explore and debug the Arm Zena CSS Reference Software Stack.
1311

1412
learning_objectives:
1513
- Set up debug configuration for the Arm Zena CSS FVP
1614
- Debug Runtime Security Engine (RSE) from boot time
1715
- Debug Safety Island (SI)
1816
- Debug Linux OS on Primary Compute cores
19-
## - Debug Linux application
2017

2118
prerequisites:
2219
- Ubuntu 22.04 host machine
23-
- Arm Development Studio 2024.1 (or later) and an appropriate license
20+
- You will need [Arm Development Studio 2024.1 (or later)](/install-guides/armds) and an appropriate license
2421
- A basic understanding of the Arm Zena CSS software stack and Arm processors
2522

2623
author: Ronan Synnott
2724

2825
### Tags
2926
skilllevels: Introductory
30-
subjects:
27+
subjects: Performance and Architecture
3128
armips:
32-
- Arm Zena CSS
29+
- Cortex-A
30+
- Cortex-R
3331
operatingsystems:
3432
- Linux
3533
tools_software_languages:
3634
- Arm Development Studio
35+
- Arm Zena CSS
3736

3837

3938
further_reading:

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ layout: "learningpathall"
1212

1313
Arm Development Studio requires a `Debug Configuration` of the target that it will connect to.
1414

15-
As of 2025.0, there is no such configuration provided 'out-of-the-box' for the Zena CSS FVP. However creating such a configuration is straight forward.
15+
As of Arm Development Studio version 2025.0, there is no such configuration provided 'out-of-the-box' for the Zena CSS FVP. However creating such a configuration is straight forward.
1616

17-
See the Arm Development Studio [Getting Started Guide](https://developer.arm.com/documentation/101469/latest/Migrating-from-DS-5-to-Arm-Development-Studio/Connect-to-new-or-custom-models) for full instructions, but summarized below.
17+
See the Arm Development Studio [Getting Started Guide](https://developer.arm.com/documentation/101469/latest/Migrating-from-DS-5-to-Arm-Development-Studio/Connect-to-new-or-custom-models) for full instructions, but they are also summarized below.
1818

1919
## Launch FVP
2020

@@ -38,7 +38,7 @@ Debug Configurations are stored in a configuration database. You must first crea
3838

3939
Navigate to `File` > `New` > `Other`, and then select `Configuration Database` > `Configuration Database` from the drop-down list.
4040

41-
Click `Next`. Give the Database a meaningful name, and click `Finish`.
41+
Click `Next`. Give the Database a name, and click `Finish`.
4242

4343
## Debug Configuration
4444

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ layout: "learningpathall"
1010

1111
## Debug Connections
1212

13-
You are now ready to create debug connections for each of the sub-systems within Zena CSS. This section will create the connections, which will be subsequently enhanced in the following section. You may prefer to fully set up one such connection before moving to others.
13+
You are now ready to create debug connections for each of the sub-systems within Zena CSS. In this section you will create the connections, which will be subsequently enhanced in the following section. You may prefer to fully set up one such connection before moving to others.
1414

15-
Development Studio has full support for Heterogeneous systems such as Zena CSS, and so you can connect to all processors simultaneously.
15+
Arm Development Studio has full support for Heterogeneous systems such as Zena CSS, and so you can connect to all processors simultaneously.
1616

1717
### Debug connection project
1818

19-
It may be sensible to create a project to store these connections (`.launch` files) in.
19+
First, create a project to store these connections (`.launch` files) in.
2020

2121
Select `File` > `New...` > `Project` > `General` > `Project`, and give it a meaningful name (`Connections`).
2222

@@ -34,11 +34,11 @@ You can also use `File` > `New` > `Other` > `Arm Debugger` > `Model Connection`,
3434

3535
Specify a connection name (`RSE`), and associate with the above `Connections` project. Click `Next`.
3636

37-
Locate the FVP based on the name you gave it previously (`Zena_CSS_FVP`). The text filter can help locate easily.
37+
Locate the FVP based on the name you gave it previously (`Zena_CSS_FVP`). The text filter can help you locate it easily.
3838

3939
You will then be presented with the `Edit configuration` pane. In the `Connection` tab, scroll down to locate `Bare Metal Debug` > `Arm_Cortex-M55`.
4040

41-
As we shall be later launching the FVP with the software stack loaded, select `Connect to an already running model`.
41+
As you will be later launching the FVP with the software stack loaded, select `Connect to an already running model`.
4242

4343
Assuming the same host will be running both the FVP and the debugger, specify the `Connection address` as the default `127.0.0.1:7100`.
4444

@@ -56,10 +56,10 @@ Click `Apply` to save the connection information, and `Close`. Observe that `RSE
5656

5757
The Safety Island is a subsystem based on [Cortex-R82AE](https://developer.arm.com/Processors/Cortex-R82AE) core. The software running on the Safety Island is responsible for power, clock and CMN control.
5858

59-
The procedure to create this connection is very similar to the above, other than to select `Bare Metal Debug` > `Arm_Cortex-R82AE` from the pull down.
59+
The procedure to create this connection is very similar to the above, other than to select `Bare Metal Debug` > `Arm_Cortex-R82AE` from the drop-down.
6060

6161
{{% notice %}}
62-
For convenience you can copy-and-paste `RSE.launch` as `SI.launch` and simply modify the CPU.
62+
For convenience you can copy-and-paste `RSE.launch` as `SI.launch` and just modify the CPU.
6363
{{% /notice %}}
6464

6565
### Primary Compute (Cortex-A720AE)
@@ -68,8 +68,8 @@ The Primary Compute consists of four processor clusters to run a rich OS such as
6868

6969
The application processors will be debugged in an SMP configuration with Linux Kernel awareness.
7070

71-
As above, create `Primary_init.launch` connection and scroll to `Bare Metal Debug` > `ARM_Cortex-A720AE_0`. This will connect to just CPU0, leaving the other CPUs free to run.
71+
As shown above, create `Primary_init.launch` connection and scroll to `Bare Metal Debug` > `ARM_Cortex-A720AE_0`. This will connect to just CPU0, leaving the other CPUs free to run.
7272

73-
To debug the Linux kernel we can make use of the [OS awareness](https://developer.arm.com/documentation/101470/latest/Debugging-Embedded-Systems/About-OS-awareness) feature of the Arm Debugger.
73+
To debug the Linux kernel you can make use of the [OS awareness](https://developer.arm.com/documentation/101470/latest/Debugging-Embedded-Systems/About-OS-awareness) feature of the Arm Debugger.
7474

7575
Create `Primary_Linux.launch` connection and scroll to `Linux Kernel Debug` > `ARM_Cortex-A720AEx16 SMP Cluster 1`. This will connect to all 16 `Cortex-A720AE` processors present in the FVP, though only cores 0-3 are used.

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ layout: "learningpathall"
1010

1111
## Launch FVP
1212

13-
From the [documentation](https://arm-auto-solutions.docs.arm.com/en/v2.0/rd-aspen/user_guide/reproduce.html#run-the-fvp) the default command to launch the FVP (within the virtual environment) with the software stack loaded is:
13+
You can now launch the FVP within the virtual environment with the software stack loaded:
1414

1515
```command
1616
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose"
1717
```
18-
19-
It is sensible to continue to use this method to launch the FVP whilst debugging. However this command as shown does not enable the Iris debug server inside the model, and so will not be debuggable.
18+
Refer to the [documentation](https://arm-auto-solutions.docs.arm.com/en/v2.0/rd-aspen/user_guide/reproduce.html#run-the-fvp) for more details.
19+
While you can continue to use this method to launch the FVP whilst debugging, this command does not enable the Iris debug server inside the model, and so will not be debuggable.
2020

2121
Additional command options are necessary.
2222

23-
We will use the following. See output of `FVP_RD_Aspen --help` for full list and explanation. Options are case-sensitive.
23+
You will use the following. See output of `FVP_RD_Aspen --help` for full list and explanation. Options are case-sensitive.
2424

2525
| Option | Alias | Notes |
2626
|---------------------- |--------- |---------------------------------------------- |

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ layout: "learningpathall"
1212

1313
The Primary Compute application processors (`Cortex-A720AE`) are the final processors to be enabled.
1414

15-
As before we can connect whilst powered down and monitor the point that they are enabled.
15+
As before, you can connect whilst powered down and monitor the point that they are enabled.
1616

17-
You can debug the initialization code and/or the final Linux Operating System (OS) threads.
17+
You can debug the initialization code and the final Linux Operating System (OS) threads.
1818

1919
### Connect debugger to target
2020

@@ -37,7 +37,7 @@ Run the code to the `bl2_entrypoint` and you can debug as expected.
3737

3838
### Debug Linux kernel modules
3939

40-
To make use of the OS awareness, disconnect `Primary_init` and connect to `Primary_Linux` as created previously. Load the symbols from `vmlinux` image.
40+
To make use of the OS awareness feature, disconnect `Primary_init` and connect to `Primary_Linux` as created previously. Load the symbols from the `vmlinux` image.
4141

4242
``` text
4343
stop
@@ -47,7 +47,7 @@ set substitute-path /usr/src/kernel/ /arm-auto-solutions/build/tmp_baremetal/wor
4747
Run the FVP until the OS prompt appears.
4848

4949
{{% notice %}}
50-
If only interested in kernel debug, modify the launch command for the FVP to include `--run` to start execution immediately.
50+
If you are only interested in kernel debug, modify the launch command for the FVP to include `--run` to start execution immediately.
5151

5252
``` command
5353
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100 --run"
@@ -67,3 +67,5 @@ WARNING(ROS60): Could not enable OS support as the OS does not appear to be init
6767
```
6868
may be emitted if the OS is not booted when you connect. It can safely be ignored.
6969
{{% /notice %}}
70+
71+
You have successfully learnt how to use Arm Development Studio to explore and debug the Arm Zena CSS Reference Software Stack.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ To debug from reset, launch the FVP with the Iris server but do not run. This wi
2525
```command
2626
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100"
2727
```
28-
The FVP will start and emit various informational messages. Once initialized you should see something similar to:
28+
The FVP will start and generate various informational messages. Once initialized you should see something similar to:
2929

3030
```output
3131
...

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ If necessary, restart the FVP in the reset state as before, and reconnect `RSE`.
1919
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100"
2020
```
2121

22-
Set up the `SI` connection in a similar way as the `RSE` connection. Use the following commands in the `Debugger` pane. This will load debug symbols and performing the necessary path substitution. You can then set a breakpoint on the entry point of the `SI` code, `arch_exception_reset`.
22+
Set up the `SI` connection in a similar way as the `RSE` connection. Use the following commands in the `Debugger` pane. This will load debug symbols and perform the necessary path substitution. You can then set a breakpoint on the entry of the `SI` code, `arch_exception_reset`.
2323

2424
``` text
2525
stop
@@ -44,6 +44,8 @@ The `RSE` code will run until the point that the `SI` is enabled. This is reflec
4444

4545
#### Full output log
4646

47+
The full output lof is shown here for your reference:
48+
4749
``` output
4850
Trying ::1...
4951
Trying 127.0.0.1...

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ For more information, see [Arm Zena Compute Subsystem (CSS)](https://developer.a
2222

2323
## Build software stack
2424

25-
The steps to download and build the software stack are described in the [User Guide](https://arm-auto-solutions.docs.arm.com/en/v2.0/rd-aspen/user_guide/reproduce.html).
25+
Follow the steps to download and build the software stack in the [User Guide](https://arm-auto-solutions.docs.arm.com/en/v2.0/rd-aspen/user_guide/reproduce.html).
2626

2727
The default `Arm Automotive Solutions Demo` build is used.
2828

2929
{{% notice Note %}}
30-
This learning path is focused on **debugging** the software stack only.
30+
The focus of this Learning Path is to demonstrate the **debug** of the software stack.
3131
{{% /notice %}}
3232

3333
## Verify correct build and execution
@@ -58,16 +58,16 @@ For legacy reasons the FVP is named is `FVP_RD_Aspen`.
5858

5959
Arm Development Studio is a software development solution with support of multicore debug for Arm CPUs. It provides the earliest support for the latest processors.
6060

61-
The CPUs implemented within Arm Zena CSS are supported by Arm Development Studio 2024.0 and later, though 2024.1 or later is recommended for appropriate Linux OS support. At time of writing the latest version available is 2025.0, and that is the version used for screenshots etc in this learning path.
61+
The CPUs implemented within Arm Zena CSS are supported by Arm Development Studio 2024.0 and later, though 2024.1 or later is recommended for appropriate Linux OS support. At time of writing the latest version available is 2025.0, and that is the version used for this learning path.
6262

6363
For more information see [Arm Development Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio).
6464

6565
Arm Development Studio is a commercial, license managed, product. For installation and set up instructions, see this [Install Guide](/install-guides/armds/).
6666

67-
Launch the IDE. We recommend creating a new workspace folder.
67+
Launch the IDE. It is recommended to create a new workspace folder.
6868

6969
If prompted by the launcher (this is disabled by default) create a new folder there, else select `File` > `Switch Workspace` > `Other...`.
7070

71-
{{% notice %}}
71+
{{% notice Note %}}
7272
To enable this prompt by default, navigate to `Window` > `Preferences` > `General` > `Startup and Shutdown` > `Workspaces`, and enable `Prompt for workspace on startup`.
7373
{{% /notice %}}

0 commit comments

Comments
 (0)