You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/zenacssdebug/_index.md
+6-7Lines changed: 6 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,36 +4,35 @@ title: Debug Arm Zena CSS Reference Software Stack with Arm Development Studio
4
4
draft: true
5
5
cascade:
6
6
draft: true
7
-
8
-
description: Learn how to set up a debug environment for Arm Zena CSS Reference Software Stack
9
7
10
8
minutes_to_complete: 60
11
9
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.
13
11
14
12
learning_objectives:
15
13
- Set up debug configuration for the Arm Zena CSS FVP
16
14
- Debug Runtime Security Engine (RSE) from boot time
17
15
- Debug Safety Island (SI)
18
16
- Debug Linux OS on Primary Compute cores
19
-
## - Debug Linux application
20
17
21
18
prerequisites:
22
19
- 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
24
21
- A basic understanding of the Arm Zena CSS software stack and Arm processors
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/zenacssdebug/config.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,9 +12,9 @@ layout: "learningpathall"
12
12
13
13
Arm Development Studio requires a `Debug Configuration` of the target that it will connect to.
14
14
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.
16
16
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.
18
18
19
19
## Launch FVP
20
20
@@ -38,7 +38,7 @@ Debug Configurations are stored in a configuration database. You must first crea
38
38
39
39
Navigate to `File` > `New` > `Other`, and then select `Configuration Database` > `Configuration Database` from the drop-down list.
40
40
41
-
Click `Next`. Give the Database a meaningful name, and click `Finish`.
41
+
Click `Next`. Give the Database a name, and click `Finish`.
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/zenacssdebug/connect.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,13 +10,13 @@ layout: "learningpathall"
10
10
11
11
## Debug Connections
12
12
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.
14
14
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.
16
16
17
17
### Debug connection project
18
18
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.
20
20
21
21
Select `File` > `New...` > `Project` > `General` > `Project`, and give it a meaningful name (`Connections`).
22
22
@@ -34,11 +34,11 @@ You can also use `File` > `New` > `Other` > `Arm Debugger` > `Model Connection`,
34
34
35
35
Specify a connection name (`RSE`), and associate with the above `Connections` project. Click `Next`.
36
36
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.
38
38
39
39
You will then be presented with the `Edit configuration` pane. In the `Connection` tab, scroll down to locate `Bare Metal Debug` > `Arm_Cortex-M55`.
40
40
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`.
42
42
43
43
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`.
44
44
@@ -56,10 +56,10 @@ Click `Apply` to save the connection information, and `Close`. Observe that `RSE
56
56
57
57
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.
58
58
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.
60
60
61
61
{{% 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.
63
63
{{% /notice %}}
64
64
65
65
### Primary Compute (Cortex-A720AE)
@@ -68,8 +68,8 @@ The Primary Compute consists of four processor clusters to run a rich OS such as
68
68
69
69
The application processors will be debugged in an SMP configuration with Linux Kernel awareness.
70
70
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.
72
72
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.
74
74
75
75
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.
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/zenacssdebug/launch.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,17 +10,17 @@ layout: "learningpathall"
10
10
11
11
## Launch FVP
12
12
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:
14
14
15
15
```command
16
16
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose"
17
17
```
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.
20
20
21
21
Additional command options are necessary.
22
22
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.
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/zenacssdebug/primarycompute.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,9 +12,9 @@ layout: "learningpathall"
12
12
13
13
The Primary Compute application processors (`Cortex-A720AE`) are the final processors to be enabled.
14
14
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.
16
16
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.
18
18
19
19
### Connect debugger to target
20
20
@@ -37,7 +37,7 @@ Run the code to the `bl2_entrypoint` and you can debug as expected.
37
37
38
38
### Debug Linux kernel modules
39
39
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.
41
41
42
42
```text
43
43
stop
@@ -47,7 +47,7 @@ set substitute-path /usr/src/kernel/ /arm-auto-solutions/build/tmp_baremetal/wor
47
47
Run the FVP until the OS prompt appears.
48
48
49
49
{{% 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.
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`.
23
23
24
24
```text
25
25
stop
@@ -44,6 +44,8 @@ The `RSE` code will run until the point that the `SI` is enabled. This is reflec
44
44
45
45
#### Full output log
46
46
47
+
The full output lof is shown here for your reference:
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/zenacssdebug/zena.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,12 +22,12 @@ For more information, see [Arm Zena Compute Subsystem (CSS)](https://developer.a
22
22
23
23
## Build software stack
24
24
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).
26
26
27
27
The default `Arm Automotive Solutions Demo` build is used.
28
28
29
29
{{% 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.
31
31
{{% /notice %}}
32
32
33
33
## Verify correct build and execution
@@ -58,16 +58,16 @@ For legacy reasons the FVP is named is `FVP_RD_Aspen`.
58
58
59
59
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.
60
60
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.
62
62
63
63
For more information see [Arm Development Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio).
64
64
65
65
Arm Development Studio is a commercial, license managed, product. For installation and set up instructions, see this [Install Guide](/install-guides/armds/).
66
66
67
-
Launch the IDE. We recommend creating a new workspace folder.
67
+
Launch the IDE. It is recommended to create a new workspace folder.
68
68
69
69
If prompted by the launcher (this is disabled by default) create a new folder there, else select `File` > `Switch Workspace` > `Other...`.
70
70
71
-
{{% notice %}}
71
+
{{% notice Note %}}
72
72
To enable this prompt by default, navigate to `Window` > `Preferences` > `General` > `Startup and Shutdown` > `Workspaces`, and enable `Prompt for workspace on startup`.
0 commit comments