Skip to content

Commit ba601b2

Browse files
Refine documentation for Arm SoC Migration Power, enhancing clarity and consistency across multiple sections
1 parent 1ba762d commit ba601b2

5 files changed

Lines changed: 54 additions & 42 deletions

File tree

content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/_index.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
---
2-
title: Migrate applications between Arm platforms with AI assistance
2+
title: Migrate applications between Arm platforms using Kiro Arm SoC Migration Power
33

44
minutes_to_complete: 60
55

6-
who_is_this_for: This is an advanced topic for developers migrating applications between Arm platforms using AI-assisted tooling with Kiro's Arm SoC Migration Power. You will learn a practical, repeatable migration workflow through an example that moves an application from the cloud to the edge — from AWS Graviton (Neoverse-based) to Raspberry Pi 5 (Cortex-A based).
6+
who_is_this_for: This is an advanced topic for experienced developers who need to migrate applications between Arm-based platforms using AI-assisted tooling. You will work through a structured, repeatable migration workflow using Kiro Arm SoC Migration Power, moving an application from AWS Graviton3 (Neoverse) to Raspberry Pi 5 (Cortex-A). The techniques apply broadly to cloud-to-edge and cross-architecture migrations across the Arm ecosystem.
77

88
learning_objectives:
9-
- Install and configure Kiro's Arm SoC Migration Power
10-
- Understand a structured migration workflow applicable across Arm platforms
11-
- Use AI-guided migration to identify platform-specific and hardware-dependent code
12-
- Create Hardware Abstraction Layers with Power assistance
13-
- Validate and verify migrations with automated analysis
9+
- Install and configure Kiro Arm SoC Migration Power
10+
- Apply a structured migration workflow across Arm platforms
11+
- Identify platform-specific and hardware-dependent code using AI-guided analysis
12+
- Implement hardware abstraction layers to isolate platform-specific dependencies
13+
- Validate and verify the migrated application using automated analysis
1414

1515
prerequisites:
16-
- Access to a source and target Arm platforms (the example uses AWS Graviton3 and Raspberry Pi 5)
17-
- Basic understanding of C programming
18-
- Familiarity with embedded systems, Linux environments, or cloud computing concepts
16+
- Access to both source and target Arm platforms (for example, AWS Graviton3 and Raspberry Pi 5)
17+
- Working knowledge of C programming
18+
- Familiarity with Linux development environments and basic embedded or cloud deployment concepts
19+
- Experience building applications with GCC and CMake
1920

2021
author: Daniel Schleicher
2122

@@ -36,7 +37,7 @@ tools_software_languages:
3637

3738
further_reading:
3839
- resource:
39-
title: Kiro ARM SoC Migration Power Documentation
40+
title: Kiro Arm SoC Migration Power Documentation
4041
link: https://kiro.dev/powers/arm-soc-migration
4142
type: documentation
4243
- resource:

content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/graviton-development.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@ layout: learningpathall
1010

1111
In this section, you will build and validate the application on the source Arm platform before performing any migration steps.
1212

13-
This example uses AWS Graviton3 as the source platform, however the same principles apply to any Arm-to-Arm migration scenario (for example, from Raspberry Pi 4 to Pi 5, or from i.MX8 to Jetson).
13+
This example uses AWS Graviton3 as the source platform. The same principles apply to any Arm-to-Arm migration scenario, such as Raspberry Pi 4 to Raspberry Pi 5 or i.MX8 to Jetson.
1414

15-
### Download the Application (Local Machine)
15+
### Download the application (local machine)
1616

17-
Download the `sensor-monitor` application to your local machine (where Kiro IDE is installed).
17+
Download the `sensor-monitor` application to your local machine (where Kiro IDE is installed). You inspect the project locally, then build and validate it on the Graviton3 instance.
1818

1919
```bash
2020
wget https://github.com/ArmDeveloperEcosystem/arm-learning-paths/raw/main/content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/projects/sensor-monitor.tar.gz
2121
tar -xzf sensor-monitor.tar.gz
2222
cd sensor-monitor
2323
```
2424

25-
The package includes the complete source code, a Makefile, and platform-specific implementations. You will analyze and migrate this code using the ARM SoC Migration Power.
25+
The archive includes the complete source code, a Makefile, and platform-specific implementations. You will analyze and migrate this code using the Arm SoC Migration Power.
2626

27-
### Upload to the Graviton Instance for Testing
27+
### Upload to the Graviton instance for testing
2828

2929
Before migrating, verify that the application builds and runs correctly on the source Arm platform.
3030

@@ -34,7 +34,7 @@ Upload the archive to the Graviton instance:
3434
scp -i graviton-migration-key.pem sensor-monitor.tar.gz ec2-user@$(aws ec2 describe-instances --filters "Name=tag:Name,Values=graviton-migration-source" "Name=instance-state-name,Values=running" --query 'Reservations[0].Instances[0].PublicIpAddress' --output text):~
3535
```
3636

37-
### Build and Test on Graviton
37+
### Build and test on Graviton
3838

3939
Connect to the instance:
4040

@@ -51,16 +51,16 @@ make
5151
./sensor_monitor
5252
```
5353

54-
If successful, the application compiles with GCC (AArch64 target) and displays simulated sensor readings.
54+
If successful, the application compiles for AArch64 using GCC and displays simulated sensor readings.
5555

5656
This confirms:
5757

5858
- The toolchain is functional
5959
- The application builds cleanly on Arm64 Linux
6060

61-
This state becomes your baseline reference for migration validation.
61+
This validated build becomes your migration baseline. Any functional differences after migration can be compared against this known-good state.
6262

63-
### Application Overview
63+
### Application overview
6464

6565
The `sensor-monitor` application demonstrates a common embedded/edge design pattern: business logic separated from platform-specific hardware interaction.
6666

content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/migration.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ layout: learningpathall
88

99
## Use Arm SoC Migration Power for AI-guided migration
1010

11-
In this section you will learn how to use the Arm SoC Migration Power to migrate your application between Arm-based platforms. The example demonstrates migration from:
11+
In this section, you use the Arm SoC Migration Power to migrate your application between Arm-based platforms. The example demonstrates migration from:
1212

1313
- **Source:** AWS Graviton3 (Neoverse-V1, Arm64 Linux, cloud deployment)
1414
- **Target:** Raspberry Pi 5 (BCM2712, Cortex-A76, edge deployment)
1515

16-
However, the workflow applies to any Arm-to-Arm migration.
16+
However, the workflow applies to any Arm-to-Arm migration. The migration process follows four phases: discovery, architecture analysis, abstraction design, and platform-specific implementation.
1717

18-
For each step below, an example prompt for the Graviton-to-Pi-5 scenario is provided alongside a general pattern you can adapt for other platform pairs. Being explicit in your prompts improves the quality of the Power's architectural reasoning.
18+
For each step below, an example prompt for the Graviton-to-Pi-5 scenario is provided alongside a general pattern you can adapt for other platform pairs. Being explicit in your prompts improves the quality and precision of the Powers architectural analysis.
1919

2020
### Initiate migration
2121

@@ -37,7 +37,7 @@ The application uses [source-specific features] and needs [target-specific featu
3737

3838
### Discovery phase
3939

40-
The Power will prompt you for information about your platforms:
40+
Provide detailed information about both platforms:
4141

4242
**Example for Graviton → Raspberry Pi 5:**
4343
```
@@ -58,7 +58,7 @@ The general pattern for other Arm-based platform migrations:
5858
Scan my codebase for [source platform]-specific code that needs migration to [target platform].
5959
Focus on [platform-specific features].
6060
```
61-
This step ensures migration is systematic rather than ad hoc.
61+
This ensures the migration is systematic, traceable, and grounded in explicit platform assumptions.
6262

6363

6464
### Architecture analysis
@@ -116,7 +116,7 @@ The general pattern for other Arm-based platform migrations:
116116
Help me implement [feature] for [target platform]. Show me how to [specific requirement].
117117
```
118118

119-
The power will provide target platform-specific code. Example for `platform/bcm2712/sensor_bcm2712.c`:
119+
The Power will provide target platform-specific code. Example for `platform/bcm2712/sensor_bcm2712.c`:
120120

121121
```c
122122
#include "hal/spi.h"
@@ -137,6 +137,7 @@ void sensor_cleanup(void) {
137137
spi_cleanup();
138138
}
139139
```
140+
Review all generated or refactored code carefully to ensure correctness, performance, and alignment with your hardware constraints.
140141
141142
### Update the build system
142143
@@ -154,7 +155,7 @@ Update my build system for [source platform]/[target platform] support with prop
154155
platform selection and cross-compilation.
155156
```
156157
157-
The power will generate a platform-aware build configuration. Example `CMakeLists.txt`:
158+
The Power will generate a platform-aware build configuration. Example `CMakeLists.txt`:
158159
159160
```cmake
160161
cmake_minimum_required(VERSION 3.16)

content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/setup.md

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ weight: 2
66
layout: learningpathall
77
---
88

9-
## Install and configure Kiro's Arm SoC Migration Power
9+
## Install and configure Kiro Arm SoC Migration Power
1010

1111
In this section, you will install Kiro IDE, enable Kiro Arm SoC Migration Power, and prepare the development environment.
1212

@@ -41,8 +41,11 @@ The Arm SoC Migration Power extends Kiro with specialized knowledge and tools fo
4141

4242
### Verify installation
4343

44-
After installation, test the Power by entering: "I just installed the arm-soc-migration power and want to use it."
44+
After installation, enter the following prompt in Kiro:
4545

46+
```text
47+
I just installed the Arm SoC Migration Power and want to use it.
48+
```
4649
The Power should respond and guide you through any additional setup steps.
4750

4851
It supports migrations across a wide range of Arm-based platforms, including:
@@ -87,9 +90,9 @@ docker --version
8790
Ensure Docker is running before using the Arm SoC Migration Power. The Power will automatically pull and run the Arm MCP server container when needed.
8891
{{% /notice %}}
8992

90-
### Launch AWS Graviton instance (source platform)
93+
### Launch AWS Graviton3 instance (source platform)
9194

92-
You will use an AWS Graviton instance as the source platform in this migration scenario.
95+
You will use an AWS Graviton3 instance as the source platform in this migration scenario.
9396

9497
{{% notice Note %}}
9598
Before proceeding, ensure you are authenticated with the AWS CLI. Follow the [AWS CLI install guide](/install-guides/aws-cli/) if you haven't configured credentials yet.
@@ -111,17 +114,24 @@ aws ec2 create-key-pair --key-name graviton-migration-key \
111114
chmod 400 graviton-migration-key.pem
112115
```
113116

114-
Create the security group and allow SSH access:
117+
Create the security group and allow SSH access. Restrict SSH access to your current public IP address.
115118

116119
```bash
117120
SG_ID=$(aws ec2 create-security-group \
118121
--group-name graviton-migration-sg \
119122
--description "Security group for Arm SoC migration" \
120123
--query 'GroupId' --output text)
124+
125+
MY_IP=$(curl -s https://checkip.amazonaws.com)
126+
121127
aws ec2 authorize-security-group-ingress \
122-
--group-id $SG_ID --protocol tcp --port 22 --cidr 0.0.0.0/0
128+
--group-id $SG_ID \
129+
--protocol tcp \
130+
--port 22 \
131+
--cidr ${MY_IP}/32
123132
```
124133

134+
125135
Find the latest Amazon Linux 2023 arm64 AMI and launch the instance:
126136

127137
```bash
@@ -146,11 +156,11 @@ echo "ssh -i graviton-migration-key.pem ec2-user@$(aws ec2 describe-instances --
146156

147157
Copy and execute the output command to connect to your instance.
148158

149-
### Install development tools on the Graviton instance
159+
### Install development tools on the Graviton3 instance
150160

151-
The Graviton instance needs development tools to compile the sensor-monitor example application.
161+
The Graviton3 instance needs development tools to compile the sensor-monitor example application.
152162

153-
Once connected to your Graviton instance, install the required tools:
163+
Once connected to your Graviton3 instance, install the required tools:
154164

155165
```bash
156166
sudo dnf install -y gcc make wget tar
@@ -161,8 +171,8 @@ sudo dnf install -y gcc make wget tar
161171
In this section:
162172

163173
- You installed Kiro IDE and the Arm SoC Migration Power
164-
- You launched an AWS Graviton3 instance as your source platform
174+
- You provisioned an AWS Graviton3 instance as your source platform
165175
- You installed the build tools needed for the migration example
166176

167-
In the next section, you'll build and test the sensor-monitor application on the Graviton instance to establish a validated baseline before migration.
177+
In the next section, you'll build and test the sensor-monitor application on the Graviton3 instance to establish a validated baseline before migration.
168178

content/learning-paths/servers-and-cloud-computing/arm-soc-migration-learning-path/validation.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ layout: learningpathall
88

99
## Validate migration using the Power's testing recommendations
1010

11-
Migration is not complete until the application is validated on both source and target platforms.
11+
Migration is not complete until the application is validated on both source and target platforms under realistic conditions.
1212

1313
In this section, you will use the Arm SoC Migration Power's testing recommendations to:
1414

@@ -32,7 +32,7 @@ The general pattern for other Arm-based platforms:
3232
Help me verify my [source platform] build still works after adding [target platform] support.
3333
```
3434

35-
Follow the power's guidance. Example for Graviton:
35+
Follow the Power's guidance. Example for Graviton:
3636

3737
```bash
3838
cmake -DTARGET_PLATFORM=GRAVITON -B build-graviton
@@ -79,7 +79,7 @@ The general pattern for other Arm-based platforms:
7979
What tests should I run on [target platform] to validate the migration from [source platform]?
8080
```
8181

82-
The power will recommend platform-appropriate tests. Example for Raspberry Pi 5:
82+
The Power will recommend platform-appropriate tests. Example for Raspberry Pi 5:
8383
- GPIO functionality tests
8484
- SPI communication validation
8585
- Real sensor reading verification
@@ -106,7 +106,7 @@ The general pattern for other Arm-based platforms:
106106
Compare performance between [source platform] and [target platform] for my application.
107107
```
108108

109-
The power will analyze platform-specific characteristics. Example analysis:
109+
The Power will analyze platform-specific characteristics. Example analysis:
110110
- CPU performance differences
111111
- Memory usage comparison
112112
- I/O timing characteristics

0 commit comments

Comments
 (0)