Skip to content

Commit 93ec9a4

Browse files
Updates
1 parent 83df081 commit 93ec9a4

File tree

3 files changed

+76
-65
lines changed

3 files changed

+76
-65
lines changed

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

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,60 @@
11
---
22
# User change
3-
title: "Model Configuration"
3+
title: "Model configuration"
44

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

77
# Do not modify these elements
88
layout: "learningpathall"
99
---
1010

11-
# Debug Configuration
11+
## Debug configuration
1212

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.
1414

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.
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 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.
1818

19-
## Launch FVP
19+
## Launch the FVP (with Iris)
2020

21-
As per previous section, launch FVP with the Iris server enabled:
21+
Launch the FVP with the Iris server enabled:
2222

23-
```command
23+
```bash
2424
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100"
2525
```
2626
or if connecting to the FVP remotely:
2727

28-
```command
28+
```bash
2929
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100 -A"
3030
```
31+
3132
{{% notice Note %}}
32-
A local connection is assumed for the remainder of this learning path.
33+
This Learning Path assumes a **local** connection for the remaining steps.
3334
{{% /notice %}}
3435

35-
## Configuration Database
36-
37-
Debug Configurations are stored in a configuration database. You must first create a local database in which to store the configuration.
38-
39-
Navigate to `File` > `New` > `Other`, and then select `Configuration Database` > `Configuration Database` from the drop-down list.
36+
## Create a configuration database in Arm Development Studio
4037

41-
Click `Next`. Give the Database a name, and click `Finish`.
38+
Debug configurations are stored in a **configuration database**. Create a local database to store your model configuration:
4239

43-
## Debug Configuration
40+
- In Arm Development Studio, go to **File > New > Other**
41+
- Select **Configuration Database > Configuration Database**
42+
- Click **Next**, enter a **Name**, then click **Finish**
4443

45-
Navigate to the same wizard as above, and select `Model Configuration`.
44+
## Create a model configuration for Zena CSS FVP (Iris)
4645

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
4851

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.
5053

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.
5255

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.
5758
{{% /notice %}}
5859

5960
A `model.mdf` file will be created that identifies all CPUs within the FVP.

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

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,16 @@ Arm Development Studio has full support for Heterogeneous systems such as Zena C
1818

1919
First, create a project to store these connections (`.launch` files) in.
2020

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`).
2222

2323
### RSE (Cortex-M55)
2424

2525
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.
2626

27-
Select `File` > `New` > `Model Connection`.
27+
Select **File** > **New** > **Model Connection**.
2828

2929
{{% 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.
3331
{{% /notice %}}
3432

3533
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
4341
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`.
4442

4543
{{% 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.
5145
{{% /notice %}}
5246

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.
5448

5549
### Safety Island (Cortex-R82AE)
5650

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.
5852

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:
6054

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**.
6359
{{% /notice %}}
6460

6561
### Primary Compute (Cortex-A720AE)
6662

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.
6866

69-
The application processors will be debugged in an SMP configuration with Linux Kernel awareness.
67+
#### Primary init (bare metal)
7068

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**:
7270

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
7474

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.
88+
{{% /notice %}}

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

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

11-
## Launch FVP
11+
## Launch the FVP
1212

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:
1414

1515
```command
1616
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose"
1717
```
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.
2018

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.
2220

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.
2422

25-
| Option | Alias | Notes |
26-
|---------------------- |--------- |---------------------------------------------- |
27-
| `--iris-server` | `-I` | Start Iris Debug Server |
28-
| `--iris-port` | | Specify a port number (default = `7100`) |
29-
| `--run` | `-R` | Run simulation when debug server started |
30-
| `--iris-allow-remote` | `-A` | Allow remote connections (if different hosts) |
23+
You will use the following options (see `FVP_RD_Aspen --help` for the full list). **Options are case-sensitive.**
3124

32-
### Launch FVP with additional options
25+
| Option | Alias | Notes |
26+
|-------------------------|:-----:|-------------------------------------------------------|
27+
| `--iris-server` | `-I` | Start the Iris debug server |
28+
| `--iris-port <port>` | | Set the Iris port (default `7100`) |
29+
| `--run` | `-R` | Run the simulation when the debug server starts |
30+
| `--iris-allow-remote` | `-A` | Allow remote connections (only if required) |
3331

34-
To launch the FVP with additional options, modify the above command by adding `--` and then the options.
32+
## Launch the FVP with additional options
3533

36-
For example, to launch the model with the debug server and hold at the initial reset condition:
34+
Append `--` to pass model options through `runfvp`.
3735

36+
**Start the model with the debug server and hold at reset:**
3837
```command
3938
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100"
4039
```
4140

42-
To launch the model and start running (so that it can start to boot up):
43-
41+
Start the model with the debug server and begin execution (so boot can progress):
4442
```command
4543
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100 --run"
4644
```
4745

48-
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:
5047
```command
5148
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- -I -A --iris-port 7100"
5249
```
5350

5451
{{% 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.
5653
{{% /notice %}}

0 commit comments

Comments
 (0)