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/config.md
+26-25Lines changed: 26 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,59 +1,60 @@
1
1
---
2
2
# User change
3
-
title: "Model Configuration"
3
+
title: "Model configuration"
4
4
5
5
weight: 4# 1 is first, 2 is second, etc.
6
6
7
7
# Do not modify these elements
8
8
layout: "learningpathall"
9
9
---
10
10
11
-
# Debug Configuration
11
+
##Debug configuration
12
12
13
-
Arm Development Studio requires a `Debug Configuration` of the target that it will connect to.
13
+
Set up an Arm Development Studio **debug configuration** for the Zena CSS FVP using the Iris interface. This page shows a fast, reliable path to a working configuration.
14
14
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.
15
+
As of Arm Development Studio 2025.0, there is no out-of-the-box configuration for the Zena CSS FVP. Creating one, however, is straightforward.
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 they are also summarized below.
17
+
For full guidance, 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). A concise, task-focused version is below.
18
18
19
-
## Launch FVP
19
+
## Launch the FVP (with Iris)
20
20
21
-
As per previous section, launch FVP with the Iris server enabled:
- Click **Next**, enter a **Name**, then click **Finish**
44
43
45
-
Navigate to the same wizard as above, and select `Model Configuration`.
44
+
## Create a model configuration for Zena CSS FVP (Iris)
46
45
47
-
Click `Next`, and you will be prompted to select the above `Configuration Database`. Click `Next` again, and you will be prompted to select a Model Interface.
46
+
- Open the same wizard (**File > New > Other**), then choose **Configuration Database > Model Configuration**
47
+
- Click **Next**, select the **Configuration Database** you created, then click **Next**
48
+
- For **Model Interface**, choose **Iris**, then click **Next**
49
+
- Choose **Browse for model running on local host**. The debugger detects and interrogates the FVP
50
+
- If connecting remotely, choose **Connect to model running on either local or remote host** and provide the host and port
48
51
49
-
Select `Iris` from the pulldown, and click `Next`.
52
+
Arm Development Studio generates a **model.mdf** file that enumerates all CPUs in the FVP.
50
53
51
-
You will then be prompted to locate the model to connect to.
54
+
Optionally, update **Manufacturer Name** (for example, `Arm`) and **Platform Name** (for example, `Zena_CSS_FVP`). Then **Save** and **Import**the model into the configuration database.
52
55
53
-
Select `Browse for model running on local host`. The FVP will be detected and interrogated by the debugger.
54
-
55
-
{{% notice Note %}}
56
-
Use `Connect to model running on either local or remote host` if connecting remotely.
56
+
{{% notice Tip %}}
57
+
If the FVP is not detected, verify the Iris server is running on the expected port (`7100` by default) and that your firewall allows local connections. For remote connections, confirm the host is reachable and the port is open.
57
58
{{% /notice %}}
58
59
59
60
A `model.mdf` file will be created that identifies all CPUs within the FVP.
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/zenacssdebug/connect.md
+33-20Lines changed: 33 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,18 +18,16 @@ Arm Development Studio has full support for Heterogeneous systems such as Zena C
18
18
19
19
First, create a project to store these connections (`.launch` files) in.
20
20
21
-
Select `File` > `New...` > `Project` > `General` > `Project`, and give it a meaningful name (`Connections`).
21
+
Select **File** > **New...** > **Project** > **General** > **Project**, and give it a meaningful name (`Connections`).
22
22
23
23
### RSE (Cortex-M55)
24
24
25
25
Runtime Security Engine (RSE) is based on [Cortex-M55](https://developer.arm.com/Processors/Cortex-M55) core and is a security subsystem fulfilling the role of Root of Trust.
26
26
27
-
Select `File` > `New` > `Model Connection`.
27
+
Select **File** > **New** > **Model Connection**.
28
28
29
29
{{% notice Note %}}
30
-
You can also use `File` > `New` > `Other` > `Arm Debugger` > `Model Connection`, or
31
-
32
-
`Create a debug connection...` shortcut in the `Debug Control` pane.
30
+
You can also use **File** > **New** > **Other** > **Arm Debugger** > **Model Connection**, or **Create a debug connection**...` shortcut in the **Debug Control** pane.
33
31
{{% /notice %}}
34
32
35
33
Specify a connection name (`RSE`), and associate with the above `Connections` project. Click `Next`.
@@ -43,33 +41,48 @@ As you will be later launching the FVP with the software stack loaded, select `C
43
41
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
42
45
43
{{% notice Note %}}
46
-
`127.0.0.1` is the same as `localhost`, that is the same host machine as is running the FVP.
47
-
48
-
It is also possible to connect to a remote host by specifying appropriate IP address, and launching FVP with the `-A` option.
49
-
50
-
`7100` is the default port number. You may need to change this if necessary.
44
+
`127.0.0.1` is the same as `localhost`, which targets the host running the FVP. For a remote FVP, specify the remote IP address and start the FVP with `-A`. Port `7100` is the default Iris port and can be adjusted if needed.
51
45
{{% /notice %}}
52
46
53
-
Click `Apply` to save the connection information, and `Close`. Observe that `RSE.launch` is created inside the `Connections` project.
47
+
Arm Development Studio creates **RSE.launch**inside the **Connections** project.
54
48
55
49
### Safety Island (Cortex-R82AE)
56
50
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.
51
+
The Safety Island is based on the [Cortex-R82AE](https://developer.arm.com/Processors/Cortex-R82AE) core and manages power, clocks, and CMN control.
58
52
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.
53
+
Follow the same steps as for RSE, with this change:
60
54
61
-
{{% notice %}}
62
-
For convenience you can copy-and-paste `RSE.launch` as `SI.launch` and just modify the CPU.
55
+
- In **Edit configuration**, expand **Bare Metal Debug** and select **Arm_Cortex-R82AE**
56
+
57
+
{{% notice Tip %}}
58
+
To save time, copy **RSE.launch** to **SI.launch** and update the CPU selection to **Arm_Cortex-R82AE**.
63
59
{{% /notice %}}
64
60
65
61
### Primary Compute (Cortex-A720AE)
66
62
67
-
The Primary Compute consists of four processor clusters to run a rich OS such as Linux. Each processor cluster includes four [Cortex-A720AE](https://developer.arm.com/Processors/Cortex-A720AE) cores and a [DSU-120AE](https://developer.arm.com/Processors/DSU-120AE) DynamIQ Shared Unit.
63
+
Primary Compute comprises four clusters intended to run a rich OS such as Linux. Each cluster has four [Cortex-A720AE](https://developer.arm.com/Processors/Cortex-A720AE) cores alongside a [DSU-120AE](https://developer.arm.com/Processors/DSU-120AE) DynamIQ Shared Unit.
64
+
65
+
You will create two connections: one for bare-metal initialization and one with Linux kernel awareness for SMP debug.
68
66
69
-
The application processors will be debugged in an SMP configuration with Linux Kernel awareness.
67
+
#### Primary init (bare metal)
70
68
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.
69
+
Create **Primary_init.launch**:
72
70
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.
71
+
- Use **File > New > Model Connection**
72
+
- Select your **Zena_CSS_FVP** model
73
+
- In **Edit configuration**, expand **Bare Metal Debug** and select **ARM_Cortex-A720AE_0** to attach to CPU0 only. This leaves other CPUs running
74
74
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.
75
+
#### Primary Linux (kernel awareness, SMP)
76
+
77
+
Create **Primary_Linux.launch** for Linux kernel debug with OS awareness:
78
+
79
+
- Use **File > New > Model Connection**
80
+
- Select your **Zena_CSS_FVP** model
81
+
- 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
83
+
84
+
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).
85
+
86
+
{{% notice Next %}}
87
+
In the next section, you will enhance these connections with symbol loading, reset behavior, semihosting, and Linux kernel awareness settings.
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/zenacssdebug/launch.md
+17-20Lines changed: 17 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,49 +8,46 @@ weight: 3 # 1 is first, 2 is second, etc.
8
8
layout: "learningpathall"
9
9
---
10
10
11
-
## Launch FVP
11
+
## Launch the FVP
12
12
13
-
You can now launch the FVP within the virtual environment with the software stack loaded:
13
+
You can launch the FVP within the build 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
-
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
18
21
-
Additional command options are necessary.
19
+
See the [documentation](https://arm-auto-solutions.docs.arm.com/en/v2.0/rd-aspen/user_guide/reproduce.html#run-the-fvp) for details.
22
20
23
-
You will use the following. See output of `FVP_RD_Aspen --help` for full list and explanation. Options are case-sensitive.
21
+
While you can continue to use this method during debugging, it does not enable the Iris debug server in the model, so the system cannot be debugged from Arm Development Studio. Additional command-line options are required.
To launch the model so that remote hosts can access it (not recommended if not needed), using options aliases:
49
-
46
+
Allow remote debug connections (only if needed), using option aliases:
50
47
```command
51
48
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- -I -A --iris-port 7100"
52
49
```
53
50
54
51
{{% notice Note %}}
55
-
It is recommended to specify the port number used even if it is the default as that must match the debug connection setting (see later).
52
+
Specify the Iris port explicitly (even when using the default) so it matches your debugger connection settings. If you enable remote connections, ensure your firewall allows inbound access to the chosen port.
0 commit comments