Skip to content

Commit 452f24d

Browse files
Tweaks
1 parent 196ccb6 commit 452f24d

File tree

6 files changed

+35
-31
lines changed

6 files changed

+35
-31
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ weight: 4 # 1 is first, 2 is second, etc.
88
layout: "learningpathall"
99
---
1010

11-
## Debug configuration
11+
## Set up a debug configuration for the Zena CSS FVP
1212

1313
Now you'll walk through setting up an Arm Development Studio debug configuration for the Zena CSS FVP using the Iris interface. This is a fast, reliable path to a working configuration.
1414

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ weight: 5 # 1 is first, 2 is second, etc.
88
layout: "learningpathall"
99
---
1010

11-
## Debug Connections
11+
## Overview
1212

1313
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

@@ -79,12 +79,8 @@ Create **Primary_Linux.launch** for Linux kernel debug with OS awareness:
7979
- Use **File > New > Model Connection**.
8080
- Select your **Zena_CSS_FVP** model.
8181
- In **Edit configuration**, expand **Linux Kernel Debug** and choose **ARM_Cortex-A720AEx16 SMP Cluster 1**.
82-
This connects to all 16 Cortex-A720AE processors described in the FVP. Only cores 0 to 3 are used by the default Linux configuration
82+
This connects to all 16 Cortex-A720AE processors described in the FVP. Only cores 0 to 3 are used by the default Linux configuration.
8383

8484
To learn more about OS awareness in Arm Debugger, see the [OS awareness documentation](https://developer.arm.com/documentation/101470/latest/Debugging-Embedded-Systems/About-OS-awareness).
8585

86-
## Next steps: enhance connections (symbols, reset, semihosting)
8786

88-
{{% notice Next %}}
89-
In the next section, you will enhance these connections with symbol loading, reset behavior, semihosting, and Linux kernel awareness settings.
90-
{{% /notice %}}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22
# User change
3-
title: "Debug Primary Compute and Linux"
3+
title: "Debug primary compute and Linux"
44

55
weight: 8 # 1 is first, 2 is second, etc.
66

77
# Do not modify these elements
88
layout: "learningpathall"
99
---
10-
## Debug Primary Compute
10+
## Debug primary compute
1111

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

@@ -39,7 +39,7 @@ Run to **bl2_entrypoint** and step through as required.
3939
Symbol loading is Exception Level–aware. If execution changes Exception Level, load symbols into the corresponding EL address space. For example, the processors start in EL3 and transition to EL2N when the Linux kernel is enabled.
4040
{{% /notice %}}
4141

42-
## Debug the Linux kernel with OS awareness (SMP)
42+
## Debug the Linux kernel with OS awareness (symmetric multiprocessing)
4343

4444
Switch to the `Primary_Linux.launch` connection you created earlier to enable Arm Development Studio OS awareness for the Linux kernel. Load the kernel symbols and set source mapping if your kernel sources are located outside the default paths:
4545

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ weight: 6 # 1 is first, 2 is second, etc.
88
layout: "learningpathall"
99
---
1010

11+
## Overview
12+
1113
You'll now move on to debug the initial code that runs on the Runtime Security Engine (RSE) based on Cortex-M55 in the Zena CSS FVP. You will launch the model with the Iris debug server, connect from Arm Development Studio, load Trusted Firmware-M (TF‑M) symbols, and step from reset.
1214

1315
## Launch the FVP and hold at reset
@@ -43,12 +45,12 @@ The FVP configures the secure vector table (**VTOR_S**) at `0x11000000`. If you
4345
Load TF‑M symbols and map sources:
4446

4547
- In **Debug Control**, open the pane menu and choose **Load...**
46-
- Select **Add Symbols file**
48+
- Select **Add Symbols file**.
4749
- Choose the TF‑M image, for example:
4850
```bash
4951
/arm-auto-solutions/build/tmp_baremetal/work/fvp_rd_aspen-poky-linux/trusted-firmware-m/2.1.0/build/bin/bl1_1.axf
5052
```
51-
- When prompted for **substitute path**, map build-time paths to your local sources, for example:
53+
When prompted for **substitute path**, map build-time paths to your local sources, for example:
5254
```bash
5355
/usr/src/debug/trusted-firmware-m/2.1.0/
5456
/arm-auto-solutions/build/tmp_baremetal/work/fvp_rd_aspen-poky-linux/trusted-firmware-m/2.1.0/git/tfm/
@@ -69,10 +71,10 @@ Paths vary by environment. Use your actual build output and source locations whe
6971

7072
Automate the connection steps by adding **Debugger Commands** to the `.launch` configuration so they run on every attach:
7173

72-
- Open (double-click) your **RSE.launch** file
73-
- Go to the **Debugger** tab
74-
- Enable **Execute debugger commands**
75-
- Add commands similar to the following (adjust paths as needed)
74+
- Open (double-click) your **RSE.launch** file.
75+
- Go to the **Debugger** tab.
76+
- Enable **Execute debugger commands**.
77+
- Add commands similar to the following (adjust paths as needed).
7678

7779
```text
7880
stop

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

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,48 @@ layout: "learningpathall"
99
---
1010
## Debug Safety Island code from beginning
1111

12-
The Safety Island (Cortex-R82AE) is released from reset by the RSE code, and so the RSE code must proceed to that point before the Safety Island core can execute.
12+
The Safety Island subsystem based on the Cortex-R82AE is released from reset by RSE code. To debug Safety Island from first instruction, you must let the RSE (Cortex‑M55) code reach the point where it enables Safety Island on the Zena CSS FVP.
1313

14-
### Launch FVP
14+
## Launch the FVP and reconnect RSE
1515

16-
If necessary, restart the FVP in the reset state as before, and reconnect `RSE`.
16+
If necessary, start (or restart) the FVP held at reset and reconnect the RSE model connection in Arm Development Studio:
1717

1818
```command
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 perform the necessary path substitution. You can then set a breakpoint on the entry of the `SI` code, `arch_exception_reset`.
22+
{{% notice Tip %}}
23+
For remote debugging, add `-A` and ensure the chosen Iris port (default `7100`) is reachable.
24+
{{% /notice %}}
25+
26+
## Connect the debugger to Safety Island (Cortex-R82AE)
2327

24-
``` text
28+
Configure the **SI** model connection similarly to **RSE**. Add the following **Debugger commands** to load symbols, set up source path substitution, and break at the Safety Island reset entry (`arch_exception_reset`):
29+
30+
```text
2531
stop
2632
add-symbol-file /arm-auto-solutions/build/tmp_baremetal/deploy/images/fvp-rd-aspen/si0_ramfw.elf
2733
set substitute-path /usr/src/debug/scp-firmware/2.14.0/ /arm-auto-solutions/build/tmp_baremetal/work/fvp_rd_aspen-poky-linux/scp-firmware/2.14.0/git/
2834
b arch_exception_reset
2935
```
3036

3137
{{% notice Note %}}
32-
Exact paths may differ for your set up.
38+
Paths vary by environment. Use your actual build output and source locations when adding symbols or configuring path substitution.
3339
{{% /notice %}}
3440

35-
### Start execution
41+
## Start execution to release Safety Island
3642

37-
Select the `RSE` connection in the `Debug Control` pane, and start execution (this will be unavailable in the `SI` connection, as that is currently powered down).
43+
In **Debug Control**, select the **RSE** connection and start execution (run). The **SI** connection remains unavailable to run until Safety Island is powered up.
3844

39-
The `RSE` code will run until the point that the `SI` is enabled. This is reflected in the output log.
45+
When RSE enables Safety Island, you will see a log message like:
4046

41-
``` output
47+
```output
4248
[INF] BL2: SI CL0 post load start
4349
```
4450

45-
#### Full output log
51+
## Full output log
4652

47-
The full output lof is shown here for your reference:
53+
The full output log is shown here for your reference:
4854

4955
``` output
5056
Trying ::1...

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ weight: 2 # 1 is first, 2 is second, etc.
88
layout: "learningpathall"
99
---
1010

11-
# Arm Zena Compute Subsystem
11+
## Arm Zena Compute Subsystem
1212

1313
The Arm Zena Compute Subsystem (CSS) consists of a high-performance Arm Cortex-A720AE application processor system (primary compute), augmented with an Arm Cortex-R82AE–based Safety Island (SI) and a real-time domain to host additional system-safety monitoring and real-time services.
1414

@@ -25,7 +25,7 @@ Follow the steps to download and build the software stack in the [Arm Zena CSS U
2525
Here the default **Arm Automotive Solutions Demo** build is used.
2626

2727
{{% notice Note %}}
28-
The focus of this Learning Path primarily is to demonstrate how to debug the software stack.
28+
The primary focus of this Learning Path is to demonstrate how to debug the software stack.
2929
{{% /notice %}}
3030

3131
## Verify the build and execution
@@ -62,7 +62,7 @@ For more information, see [Arm Development Studio](https://developer.arm.com/Too
6262

6363
Arm Development Studio is a commercial, license-managed product. For installation and setup instructions, see the [Arm Development Studio Install Guide](/install-guides/armds/).
6464

65-
Launch the IDE. It’s recommended that you create a new workspace folder.
65+
Launch the IDE and create a new workspace folder.
6666

6767
If you’re prompted by the launcher (this prompt is disabled by default), create a new folder there.
6868

0 commit comments

Comments
 (0)