Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
059ddeb
Zena debug part 1
RonanSynnottArm Aug 15, 2025
e089ca2
test from linux
RonanSynnottArm Aug 18, 2025
137c3f6
Ready for review
RonanSynnottArm Aug 19, 2025
405daa0
fix typo
RonanSynnottArm Aug 19, 2025
11819fa
use Streamline to analyze LLM running on CPU with llama.cpp
zenonxiu81 Aug 23, 2025
be2e79e
high quality images
zenonxiu81 Aug 23, 2025
f9bf3fd
high quality images
zenonxiu81 Aug 23, 2025
93f3115
high quality images
zenonxiu81 Aug 23, 2025
bf87087
high quality images
zenonxiu81 Aug 23, 2025
9626e6e
high quality images
zenonxiu81 Aug 24, 2025
950833c
update
zenonxiu81 Aug 24, 2025
8853420
update
zenonxiu81 Aug 25, 2025
540cf22
update after hugo server checking
zenonxiu81 Aug 26, 2025
0e17e45
Use Streamline to analyze LLM runing on CPU with llama.cpp: Ready for…
zenonxiu81 Aug 26, 2025
d0e95ea
LP: Simulate Pre-Silicon Integration of OpenBMC and UEFI on Neoverse …
odincodeshen Aug 27, 2025
26ae065
Remove duplicate line and add customerize IPMI image configuration file.
odincodeshen Aug 28, 2025
29fb7a3
Updates based on JT feedback
RonanSynnottArm Aug 29, 2025
a17a0cf
After final review
RonanSynnottArm Sep 1, 2025
fb378a9
Minor fix.
odincodeshen Sep 1, 2025
993281b
IRQ tuning guide
kielfriedt Sep 2, 2025
b5204b7
Merge branch 'ArmDeveloperEcosystem:main' into feature/openbmc-rdv3
odincodeshen Sep 3, 2025
6218330
fixing errors
kielfriedt Sep 3, 2025
eaef713
Deploy MongoDB on Azure Cobalt 100
odidev Aug 13, 2025
3fd1005
Deploy Java applications on the Microsoft Cobalt 100 processors
odidev Jun 30, 2025
b2b391b
Cleaned tools_software_languages filtering and added an AI-based scri…
Sep 5, 2025
ed71815
updated checker's system prompt
Sep 5, 2025
a79e5da
Add a new learning path on SIMD Loops.
Arnaud-de-Grandmaison-ARM Jul 11, 2025
d81d700
[simd loops] Fix code snippet + wording improvements.
Arnaud-de-Grandmaison-ARM Sep 8, 2025
2ceba2b
Update _index.md
pareenaverma Sep 8, 2025
30869fb
Merge pull request #2233 from odidev/mongod
pareenaverma Sep 8, 2025
7d28708
Content development
madeline-underwood Sep 8, 2025
19868c3
Refining
madeline-underwood Sep 8, 2025
0017b22
Final
madeline-underwood Sep 8, 2025
5d86186
minor changes
zenonxiu81 Sep 9, 2025
d8f5816
Final corrections
madeline-underwood Sep 9, 2025
527e666
Content development
madeline-underwood Sep 9, 2025
8dd646c
Merge pull request #2296 from madeline-underwood/CCA_Trustee
pareenaverma Sep 9, 2025
14abe63
Update _index.md
pareenaverma Sep 9, 2025
cbd91c1
Merge pull request #2273 from odincodeshen/feature/openbmc-rdv3
pareenaverma Sep 9, 2025
888164d
Update _index.md
pareenaverma Sep 9, 2025
c4df8f3
Update 1_introduction_openbmc.md
pareenaverma Sep 9, 2025
c4fd830
Update 2_openbmc_setup.md
pareenaverma Sep 9, 2025
e8b08de
Update 3_openbmc_simulate.md
pareenaverma Sep 9, 2025
fadee85
Update 4_openbmc_communicate.md
pareenaverma Sep 9, 2025
faca4ce
Update 5_openbmc_ipmi.md
pareenaverma Sep 9, 2025
7f63e12
Merge pull request #2298 from pareenaverma/content_review
pareenaverma Sep 9, 2025
16ed91d
Update _index.md
pareenaverma Sep 9, 2025
084568b
Merge pull request #2268 from RonanSynnottArm/zenadebug
pareenaverma Sep 9, 2025
7355e88
Update _index.md
pareenaverma Sep 9, 2025
415198b
Continuing content dev
madeline-underwood Sep 9, 2025
246298f
Update zena.md
pareenaverma Sep 9, 2025
3a54f1c
Update zena.md
pareenaverma Sep 9, 2025
ccf36c7
Update launch.md
pareenaverma Sep 9, 2025
74bdfa3
Update config.md
pareenaverma Sep 9, 2025
06c9309
Update connect.md
pareenaverma Sep 9, 2025
58455a9
Update rse.md
pareenaverma Sep 9, 2025
4bbe998
Update safetyisland.md
pareenaverma Sep 9, 2025
7fb0a05
Update primarycompute.md
pareenaverma Sep 9, 2025
1d0dcfd
Update primarycompute.md
pareenaverma Sep 9, 2025
5e17c5d
Update _index.md
pareenaverma Sep 9, 2025
23e9ad9
Merge pull request #2299 from pareenaverma/content_review
pareenaverma Sep 9, 2025
31a0f1e
Update _index.md
pareenaverma Sep 9, 2025
abf88c7
Merge pull request #2300 from pareenaverma/content_review
pareenaverma Sep 9, 2025
f9c2472
Merge pull request #2280 from zachlasiuk/main
pareenaverma Sep 9, 2025
7a085cd
Update deploy.md
pareenaverma Sep 9, 2025
69d8a5d
Update deploy.md
pareenaverma Sep 9, 2025
0e89e91
Update baseline-testing.md
pareenaverma Sep 9, 2025
ec5eeef
Update benchmarking.md
pareenaverma Sep 9, 2025
7444492
Further updates
madeline-underwood Sep 9, 2025
9d44738
Update _index.md
pareenaverma Sep 9, 2025
b182566
Merge pull request #2271 from kielfriedt/irq
pareenaverma Sep 9, 2025
b2d02d1
Merge branch 'ArmDeveloperEcosystem:main' into RD-V3
madeline-underwood Sep 10, 2025
26767c2
Further enhancements
madeline-underwood Sep 10, 2025
46156a0
Merge branch 'RD-V3' of https://github.com/madeline-underwood/arm-lea…
madeline-underwood Sep 10, 2025
7d608bc
Further improvements
madeline-underwood Sep 10, 2025
02a8d1f
Tweaks
madeline-underwood Sep 10, 2025
14b0bd9
Update 3_rdv3_sw_build.md
pareenaverma Sep 10, 2025
9df1b20
some formatting
zenonxiu81 Sep 10, 2025
4b46054
Merge pull request #2302 from madeline-underwood/RD-V3
pareenaverma Sep 10, 2025
e0d6932
Merge pull request #2281 from Arnaud-de-Grandmaison-ARM/simd-loops
jasonrandrews Sep 10, 2025
3ca7720
Start tech review of SIMD loops Learning Path
jasonrandrews Sep 10, 2025
405b4d7
Merge pull request #2304 from jasonrandrews/review
jasonrandrews Sep 10, 2025
d1905f5
First review of SIMD Loops, waiting for project release to continue r…
jasonrandrews Sep 10, 2025
6f8c54e
Merge pull request #2305 from jasonrandrews/review
jasonrandrews Sep 10, 2025
8027df4
Starting content development
madeline-underwood Sep 10, 2025
549fd16
[ai-camera-pipelines] Add the neural denoising pipeline.
Arnaud-de-Grandmaison-ARM Sep 4, 2025
f882ca9
Content dev
madeline-underwood Sep 11, 2025
097fb67
[ai-camera-pipeline] Disambiguate the docker build command line reading.
Arnaud-de-Grandmaison-ARM Sep 11, 2025
8e63e35
Final tweaks
madeline-underwood Sep 11, 2025
368adc0
Merge pull request #2306 from madeline-underwood/Envoy
pareenaverma Sep 11, 2025
30709e3
Merge pull request #2303 from Arnaud-de-Grandmaison-ARM/denoizing
jasonrandrews Sep 11, 2025
144edc8
Update _index.md
pareenaverma Sep 11, 2025
32365b6
Merge pull request #2258 from zenonxiu81/main
pareenaverma Sep 11, 2025
324929e
Updates
madeline-underwood Sep 11, 2025
2e71798
Tech review of MongoDB Azure LP
pareenaverma Sep 11, 2025
5189710
tech review
pareenaverma Sep 11, 2025
ce854eb
Merge pull request #2308 from pareenaverma/content_review
pareenaverma Sep 11, 2025
9af933b
Update _index.md
pareenaverma Sep 11, 2025
777f946
Merge pull request #2095 from odidev/java_LP
pareenaverma Sep 11, 2025
88776ce
Updates
madeline-underwood Sep 11, 2025
8503859
[ai-camera-pipelines] Tweak title following review.
Arnaud-de-Grandmaison-ARM Sep 12, 2025
82353b7
Merge pull request #2309 from Arnaud-de-Grandmaison-ARM/ai-camera-pip…
jasonrandrews Sep 12, 2025
885de2c
Updates
madeline-underwood Sep 12, 2025
8e888a4
Merge branch 'ArmDeveloperEcosystem:main' into AI_cam_pipelines_update
madeline-underwood Sep 12, 2025
3d2e6fd
Tweaks
madeline-underwood Sep 12, 2025
5d9a0be
Merge branch 'AI_cam_pipelines_update' of https://github.com/madeline…
madeline-underwood Sep 12, 2025
fbeb51f
Revised floating point behavior Learning Path
jasonrandrews Sep 12, 2025
05f6ad2
Merge pull request #2311 from jasonrandrews/review
jasonrandrews Sep 12, 2025
e31c308
Change floating point behavior directory name
jasonrandrews Sep 12, 2025
f12b94d
Merge pull request #2312 from jasonrandrews/review
jasonrandrews Sep 12, 2025
aa90ec8
add time to complete to floating point behavior
jasonrandrews Sep 12, 2025
f653bf9
Merge pull request #2313 from jasonrandrews/review2
jasonrandrews Sep 12, 2025
b7b79c3
Update baseline-testing.md
pareenaverma Sep 12, 2025
ee21adb
Update checking.md
pareenaverma Sep 12, 2025
b9efc4e
Update checking.md
pareenaverma Sep 12, 2025
f821e51
Update checking.md
pareenaverma Sep 12, 2025
4dc9617
Update benchmarking.md
pareenaverma Sep 12, 2025
a024018
Update create-instance.md
pareenaverma Sep 12, 2025
93cf8e4
Update 3_rdv3_sw_build.md
pareenaverma Sep 12, 2025
82d6fd4
Update Analyzing_token_generation_at_Prefill_and_Decode_stage.md
pareenaverma Sep 12, 2025
113ef05
Update Analyzing_token_generation_at_Prefill_and_Decode_stage.md
pareenaverma Sep 12, 2025
9b5eaec
Update _index.md
pareenaverma Sep 12, 2025
1d5d204
Update Conclusion.md
pareenaverma Sep 12, 2025
bca9658
Update 5-performances.md
pareenaverma Sep 12, 2025
a9d21a0
Update .wordlist.txt
pareenaverma Sep 12, 2025
aaadc93
Merge pull request #2314 from pareenaverma/content_review
pareenaverma Sep 12, 2025
6e4dcc1
review floating point behavior Learning Path
jasonrandrews Sep 12, 2025
dc7fe0f
Merge pull request #2310 from madeline-underwood/AI_cam_pipelines_update
jasonrandrews Sep 12, 2025
668116b
Merge pull request #2315 from jasonrandrews/review
jasonrandrews Sep 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 91 additions & 1 deletion .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4667,7 +4667,7 @@ Sommelier
chromeos
linuxcontainers
XPS
NIC's
NIC’s
offlines
passthrough
SLOs
Expand Down Expand Up @@ -4722,4 +4722,94 @@ ATtestation
CoCo
procedureS
NIC’s
httpbin
proxying
OpenBMC
PoC
PoCs
evb
ipmitool
openbmc
poc
IPMI
integrators
KCS
PLDM
MCTP
Redfish
hyperscalers
BMCs
OEM
NetFn
RDv
CSSv
penBmc
BMC's
socat
ZooKeeper
IRQs
IRQS
Friedt
namespaces
atlascli
benchmarkDB
cursorTest
replset
testCollection
Namespaces
mongotop
Mongotop
baselineDB
ef
netstat
tulnp
mongostat
arw
conn
getmore
qrw
vsize
conn
WiredTiger
GLE
getLastError
createIndex
getMore
getmore
RoT
lkvm
JMH
jmh
UseG
Xmx
Xms
JavaServer
servlets
RMSNorm
RoPE
FFN
ukernel
libstreamline
prefill
OpenCL
subgraphs
threadpool
worksize
Zhilong
Denoiser
RGGB
denoised
YGGV
Mohamad
Najem
kata
svl
svzero
anf
DynamIQ
Zena
learnt
lof
BalenaOS
balenaCloud

3 changes: 2 additions & 1 deletion assets/contributors.csv
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,5 @@ Ann Cheng,Arm,anncheng-arm,hello-ann,,
Fidel Makatia Omusilibwa,,,,,
Ker Liu,,,,,
Rui Chang,,,,,

Alejandro Martinez Vicente,Arm,,,,
Mohamad Najem,Arm,,,,
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ armips:
tools_software_languages:
- Python
- Docker
- ROS2
- ROS 2
- DDS
operatingsystems:
- Linux
Expand Down
1 change: 0 additions & 1 deletion content/learning-paths/automotive/system76-auto/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ armips:
operatingsystems:
- Linux
tools_software_languages:
- Automotive

further_reading:
- resource:
Expand Down
54 changes: 54 additions & 0 deletions content/learning-paths/automotive/zenacssdebug/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: Debug Arm Zena CSS Reference Software Stack with Arm Development Studio

draft: true
cascade:
draft: true

minutes_to_complete: 60

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.

learning_objectives:
- Set up debug configuration for the Arm Zena CSS FVP
- Debug Runtime Security Engine (RSE) from boot time
- Debug Safety Island (SI)
- Debug Linux OS on Primary Compute cores

prerequisites:
- Ubuntu 22.04 host machine
- You will need [Arm Development Studio 2024.1 (or later)](/install-guides/armds) and an appropriate license
- A basic understanding of the Arm Zena CSS software stack and Arm processors

author: Ronan Synnott

### Tags
skilllevels: Introductory
subjects: Performance and Architecture
armips:
- Cortex-A
- Cortex-R
operatingsystems:
- Linux
tools_software_languages:
- Arm Development Studio
- Arm Zena CSS


further_reading:
- resource:
title: Arm Zena Compute System (CSS)
link: https://developer.arm.com/Compute%20Subsystems/Arm%20Zena%20Compute%20Subsystem
type: website
- resource:
title: Arm Development Studio
link: https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio
type: website


### FIXED, DO NOT MODIFY
# ================================================================================
weight: 1 # _index.md always has weight of 1 to order correctly
layout: "learningpathall" # All files under learning paths have this same wrapper
learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.
---
63 changes: 63 additions & 0 deletions content/learning-paths/automotive/zenacssdebug/config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
# User change
title: "Model Configuration"

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

# Do not modify these elements
layout: "learningpathall"
---

# Debug Configuration

Arm Development Studio requires a `Debug Configuration` of the target that it will connect to.

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.

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.

## Launch FVP

As per previous section, launch FVP with the Iris server enabled:

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

```command
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100 -A"
```
{{% notice Note %}}
A local connection is assumed for the remainder of this learning path.
{{% /notice %}}

## Configuration Database

Debug Configurations are stored in a configuration database. You must first create a local database in which to store the configuration.

Navigate to `File` > `New` > `Other`, and then select `Configuration Database` > `Configuration Database` from the drop-down list.

Click `Next`. Give the Database a name, and click `Finish`.

## Debug Configuration

Navigate to the same wizard as above, and select `Model Configuration`.

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.

Select `Iris` from the pulldown, and click `Next`.

You will then be prompted to locate the model to connect to.

Select `Browse for model running on local host`. The FVP will be detected and interrogated by the debugger.

{{% notice Note %}}
Use `Connect to model running on either local or remote host` if connecting remotely.
{{% /notice %}}

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

You can change the `Manufacturer Name` and `Platform Name` to something more meaningful (such as `Arm` and `Zena_CSS_FVP`), then `Save`, and `Import` into the configuration database.

The debugger is now aware of the FVP and you are ready to debug.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
75 changes: 75 additions & 0 deletions content/learning-paths/automotive/zenacssdebug/connect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
# User change
title: "Debug Connections"

weight: 5 # 1 is first, 2 is second, etc.

# Do not modify these elements
layout: "learningpathall"
---

## Debug Connections

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.

Arm Development Studio has full support for Heterogeneous systems such as Zena CSS, and so you can connect to all processors simultaneously.

### Debug connection project

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

Select `File` > `New...` > `Project` > `General` > `Project`, and give it a meaningful name (`Connections`).

### RSE (Cortex-M55)

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.

Select `File` > `New` > `Model Connection`.

{{% notice Note %}}
You can also use `File` > `New` > `Other` > `Arm Debugger` > `Model Connection`, or

`Create a debug connection...` shortcut in the `Debug Control` pane.
{{% /notice %}}

Specify a connection name (`RSE`), and associate with the above `Connections` project. Click `Next`.

Locate the FVP based on the name you gave it previously (`Zena_CSS_FVP`). The text filter can help you locate it easily.

You will then be presented with the `Edit configuration` pane. In the `Connection` tab, scroll down to locate `Bare Metal Debug` > `Arm_Cortex-M55`.

As you will be later launching the FVP with the software stack loaded, select `Connect to an already running model`.

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

{{% notice Note %}}
`127.0.0.1` is the same as `localhost`, that is the same host machine as is running the FVP.

It is also possible to connect to a remote host by specifying appropriate IP address, and launching FVP with the `-A` option.

`7100` is the default port number. You may need to change this if necessary.
{{% /notice %}}

Click `Apply` to save the connection information, and `Close`. Observe that `RSE.launch` is created inside the `Connections` project.

### Safety Island (Cortex-R82AE)

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.

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.

{{% notice %}}
For convenience you can copy-and-paste `RSE.launch` as `SI.launch` and just modify the CPU.
{{% /notice %}}

### Primary Compute (Cortex-A720AE)

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.

The application processors will be debugged in an SMP configuration with Linux Kernel awareness.

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.

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.

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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions content/learning-paths/automotive/zenacssdebug/launch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
# User change
title: "Launch FVP"

weight: 3 # 1 is first, 2 is second, etc.

# Do not modify these elements
layout: "learningpathall"
---

## Launch FVP

You can now launch the FVP within the virtual environment with the software stack loaded:

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

Additional command options are necessary.

You will use the following. See output of `FVP_RD_Aspen --help` for full list and explanation. Options are case-sensitive.

| Option | Alias | Notes |
|---------------------- |--------- |---------------------------------------------- |
| `--iris-server` | `-I` | Start Iris Debug Server |
| `--iris-port` | | Specify a port number (default = `7100`) |
| `--run` | `-R` | Run simulation when debug server started |
| `--iris-allow-remote` | `-A` | Allow remote connections (if different hosts) |

### Launch FVP with additional options

To launch the FVP with additional options, modify the above command by adding `--` and then the options.

For example, to launch the model with the debug server and hold at the initial reset condition:

```command
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100"
```

To launch the model and start running (so that it can start to boot up):

```command
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- --iris-server --iris-port 7100 --run"
```

To launch the model so that remote hosts can access it (not recommended if not needed), using options aliases:

```command
kas shell -c "../layers/meta-arm/scripts/runfvp -t tmux --verbose -- -I -A --iris-port 7100"
```

{{% notice Note %}}
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).
{{% /notice %}}
Loading
Loading