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/embedded-and-microcontrollers/linux-on-fvp/_index.md
+8-13Lines changed: 8 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,41 +1,36 @@
1
1
---
2
-
title: Run and Debug Linux Software Stack on Arm Fixed Virtual Platforms
2
+
title: Run and Debug a Linux Software Stack on Arm Virtual Platforms
3
3
4
4
minutes_to_complete: 180
5
5
6
6
draft: true
7
7
cascade:
8
8
draft: true
9
9
10
-
who_is_this_for: This learning path describes necessary steps to get a working Linux system running on the Arm Fixed Virtual Platforms. In addition, the steps to debug the Trusted Firmware-A and Linux Kernel by using the Arm DS.
10
+
who_is_this_for: This introductory topic is designed for developers interested in running Linux on Arm Fixed Virtual Platforms (FVPs) and debugging Trusted Firmware-A and the Linux Kernel using Arm Development Studio.
11
11
12
12
learning_objectives:
13
-
- Run and Debug Linux Software Stack
13
+
- Run a Linux software stack using Arm Fixed Virtual Platforms.
14
+
- Debug the firmware and Linux kernel using Arm Development Studio.
14
15
15
16
prerequisites:
16
-
- A Linux computer
17
-
- Arm Development Studio
18
-
- Basic knowledge of Assembly and C language
17
+
- A Linux computer with Arm Development Studio installed (works only on x86-64).
18
+
- Basic knowledge of Assembly and C language.
19
19
20
20
author: Qixiang Xu
21
21
22
22
### Tags
23
23
skilllevels: Introductory
24
-
subjects: Fixed Virtual Platform
24
+
subjects: Embedded Linux
25
25
armips:
26
-
- Fixed Virtual Platform
26
+
- Cortex-A
27
27
operatingsystems:
28
28
- Linux
29
29
tools_software_languages:
30
30
- Arm Development Studio
31
-
- Arm Virtual Hardware
32
31
- C
33
-
- Arm Development Studio
34
32
- Assembly
35
33
36
-
37
-
38
-
39
34
further_reading:
40
35
- resource:
41
36
title: Fast Models Fixed Virtual Platforms Reference Guide
Copy file name to clipboardExpand all lines: content/learning-paths/embedded-and-microcontrollers/linux-on-fvp/debug.md
+28-24Lines changed: 28 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,20 @@
1
1
---
2
2
title: Debug Software Stack
3
-
weight: 7
3
+
weight: 6
4
4
5
5
### FIXED, DO NOT MODIFY
6
6
layout: learningpathall
7
7
---
8
8
9
-
### 1. Arm DS and FVP Configuration
9
+
##Debug using Arm Development Studio
10
10
11
-
To debug the TF-A and Linux kernel, the Arm DS debugger is used as the debugger. You can get the [Arm DS](https://developer.arm.com/downloads/view/DS000B) from the [Arm Developer website](https://developer.arm.com/).
11
+
To debug TF-A and Linux kernel, you can use the Arm Development Studio (Arm DS) debugger. You can get it from the [Arm Development Studio download page](https://developer.arm.com/downloads/view/DS000B).
12
12
13
-
DWARF 5 is the default option in GCC 11 and Arm DS v2022.2 initial support for DWARF 5 debug information. If your GCC version is later than GCC11, download the latest Arm DS to get support for DWARF 5.
13
+
DWARF 5 is the default option in GCC 11 and Arm Development Studio version v2022.2 includes initial support for DWARF 5 debug information.
14
14
15
-
By default, Arm DS provides the following Base FVP models:
15
+
If your GCC version is later than GCC 11, download the latest Arm Development Studio to get support for DWARF 5.
16
+
17
+
Arm Development Studio includes the following Base FVP models:
16
18
17
19
* FVP_Base_Cortex-A32x1
18
20
* FVP_Base_Cortex-A35x1
@@ -41,33 +43,37 @@ By default, Arm DS provides the following Base FVP models:
41
43
* FVP_Base_Cortex-X1x2
42
44
* FVP_Base_Cortex-X2x2
43
45
44
-
Arm FVPs that are not provided by Arm DS installation must be defined in the PATH environment variable of your OS to be available for Arm DS. Otherwise, you might get the following error when starting the debug connection.
46
+
Arm FVPs that are not provided by Arm DS installation must be defined in the PATH environment variable to be available for Arm Development Studio. Otherwise, you might get the following error when starting the debug connection.
For Linux, set up the PATH in the appropriate shell configuration file. For example, add the following line in ~/.bashrc,
50
+
For Linux, set up the PATH in the appropriate shell configuration file.
49
51
50
-
```
51
-
export PATH=<your model path>/bin:$PAT
52
+
For example, add the following line in your `~/.bashrc` file:
53
+
54
+
```console
55
+
export PATH=<your model path>/bin:$PATH
52
56
```
53
57
54
-
After changing the PATH environments, you might need to start the Arm DS from the terminal for the PATH to take effect. For example:
58
+
After changing the search PATH, you need to start Arm Development Studio from a terminal with the new PATH.
55
59
56
-
```
60
+
Start Development Studio by running the `armds_ide` command:
61
+
62
+
```console
57
63
/opt/arm/developmentstudio-2022.2/bin/armds_ide
58
64
```
59
65
60
-

66
+

61
67
62
-
### 2. FVP Debug Connection
68
+
## FVP Debug Connection
63
69
64
-
The FVP model to connect must be available in the Development Studio configuration database so that you can select it in the Model Connection dialog box.
70
+
Before debugging, the FVP model you want to use must be available in the Arm DS configuration database so that you can select it in the Model Connection dialog box.
65
71
66
72
If the FVP model is not available, you must import it and create a new model configuration. For details, see [create a new model](https://developer.arm.com/documentation/101470/2022-2/Platform-Configuration/Model-targets/Create-a-new-model-configuration).
67
73
68
74
Most CPU FVP models are available for your edition of Arm DS and the FVPs are listed under the Arm FVP (Installed with Arm DS) and Arm FVP as shown in the following figure:
In the Select target panel confirm the target selected. For example, select Arm FVP (Installed with Arm DS) Base_A55 x4 > Bare Metal Debug:
83
87
84
-
3.2 Specify the Model parameters under the Connections.
88
+

85
89
86
-
3.3 The model parameters are like the following, and these parameters are described at the section Run software stack on FVP. Different CPU FVPs might have different parameters.
90
+
Specify the Model parameters under the Connections. The model parameters are similar to those listed below. These parameters are described at the section Run software stack on FVP. Different CPU FVPs might have different parameters.
87
91
88
-
```
92
+
```console
89
93
-C pctl.startup=0.0.0.0 \
90
94
-C bp.secure_memory=0 \
91
95
-C cache_state_modelled=0 \
@@ -104,7 +108,7 @@ To use Arm DS to connect to an FVP model for bare-metal debugging, perform the f
title: Introduction to Arm Ecosystem Fixed Virtual Platforms
3
+
weight: 2
4
+
5
+
### FIXED, DO NOT MODIFY
6
+
layout: learningpathall
7
+
---
8
+
9
+
Arm Ecosystem Fixed Virtual Platforms (FVPs) model hardware subsystems and target different market segments and applications.
10
+
11
+
FVPs use binary translation technology to deliver fast, functional simulations of Arm-based systems, including processor, memory, and peripherals. They implement a programmer's view suitable for software development and enable execution of full software stacks, providing an available platform to run software before silicon is available.
12
+
13
+
Arm provides two different types of FVPs.
14
+
15
+
## Arm Ecosystem FVPs
16
+
17
+
There are several freely available, pre-built Armv8‑A FVPs for download from [Arm Ecosystem Models](https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms#Downloads) on the Arm Developer website. You can use these FVPs without a license.
18
+
19
+
There are multiple categories of Ecosystem FVPs such as:
20
+
- Architecture FVPs
21
+
- Automotive FVPs
22
+
- Infrastructure FVPs
23
+
- IoT FVPs
24
+
25
+
For example, in the architecture category, the AEMv8-A Base Platform RevC FVP is freely available, and it supports the latest Armv8‑A architecture versions up to v8.7 and Armv9-A.
26
+
27
+
The [Arm reference software stack](https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/aemfvp-a/user-guide.rst) is based on the above RevC model.
28
+
29
+
## Arm Base FVPs specific CPU types
30
+
31
+
Arm Base Armv8-A FVPs with specific CPU types are configured with a fixed number of cores. These are also called CPU FVPs because they specify the CPU types instead of the architecture version.
32
+
33
+
The FVP_Base_Cortex-\<xxx> FVP is available for you to build and run on Linux computers. Contact Arm Support [[email protected]](mailto:[email protected]) to request access.
34
+
35
+
You can use any of the FVPs listed below to run the reference software stack:
36
+
37
+
* FVP_Base_Cortex-A510x4
38
+
* FVP_Base_Cortex-A510x4+Cortex-A710x4
39
+
* FVP_Base_Cortex-A53x4
40
+
* FVP_Base_Cortex-A55x4
41
+
* FVP_Base_Cortex-A55x4+Cortex-A75x4
42
+
* FVP_Base_Cortex-A55x4+Cortex-A78x4
43
+
* FVP_Base_Cortex-A57x2-A35x4
44
+
* FVP_Base_Cortex-A57x2-A53x4
45
+
* FVP_Base_Cortex-A57x4
46
+
* FVP_Base_Cortex-A57x4-A35x4
47
+
* FVP_Base_Cortex-A57x4-A53x4
48
+
* FVP_Base_Cortex-A65AEx4
49
+
* FVP_Base_Cortex-A65AEx4+Cortex-A76AEx4
50
+
* FVP_Base_Cortex-A65x4
51
+
* FVP_Base_Cortex-A710x4
52
+
* FVP_Base_Cortex-A72x2-A53x4
53
+
* FVP_Base_Cortex-A72x4
54
+
* FVP_Base_Cortex-A72x4-A53x4
55
+
* FVP_Base_Cortex-A73x2-A53x4
56
+
* FVP_Base_Cortex-A73x4
57
+
* FVP_Base_Cortex-A73x4-A53x4
58
+
* FVP_Base_Cortex-A75x4
59
+
* FVP_Base_Cortex-A76AEx4
60
+
* FVP_Base_Cortex-A76x4
61
+
* FVP_Base_Cortex-A77x4
62
+
* FVP_Base_Cortex-A78AEx4
63
+
* FVP_Base_Cortex-A78Cx4
64
+
* FVP_Base_Cortex-A78x4
65
+
* FVP_Base_Cortex-X1Cx4
66
+
* FVP_Base_Cortex-X1x4
67
+
* FVP_Base_Cortex-X2x4
68
+
* FVP_Base_Neoverse-E1x4
69
+
* FVP_Base_Neoverse-N1x4
70
+
71
+
### Set up the environment
72
+
73
+
This Learning Path uses the [Arm reference software](https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/aemfvp-a/user-guide.rst) stack.
74
+
75
+
Follow the [Armv-A Base AEM FVP Platform Software User Guide](https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/aemfvp-a/user-guide.rst) to set up the environment, download the software stack, and get the toolchain.
0 commit comments