Port Zephyr RTOS and run applications on the Arm Corstone-320 MPS4 platform
Introduction
Set up the Zephyr build environment
Add Zephyr board support for the Arm Corstone-320 MPS4 platform
Build and run the hello_world sample on Arm Corstone-320 MPS4
Next Steps
Port Zephyr RTOS and run applications on the Arm Corstone-320 MPS4 platform
Who is this for?
This is an introductory topic for embedded developers who want to port Zephyr RTOS to the Arm Corstone-320 MPS4 FPGA platform.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Set up the Zephyr build environment and Arm GNU Toolchain for Corstone-320 MPS4 development
- Create board support files, including device tree, Kconfig, and board metadata, to port Zephyr to the Corstone-320 MPS4 FPGA platform
- Build and run the hello_world sample on the Corstone-320 MPS4 board to validate the port
Prerequisites
Before starting, you will need the following:
- Basic familiarity with embedded C programming
- Basic knowledge of Zephyr RTOS
- A Corstone-320 MPS4 FPGA development board
- A Linux development environment, for example Ubuntu 22.04 or later
- Git and Python
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll add Zephyr board support for the Arm Corstone-320 MPS4 FPGA platform on Linux. First, you’ll prepare a Zephyr workspace, configure the Arm GNU Toolchain, and review the FPGA image documentation. Then, you’ll create the device tree, Kconfig, and board metadata, build
hello_world, and confirm its console output on the MPS4 board.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Use the Arm Corstone SSE-320 FPGA Image for MPS4 (FI101). Follow the platform documentation to obtain and prepare the image.
You’ll find the ELF image at
build/zephyr/zephyr.elf. Use this file to create the images that you load onto the MPS4 board.Add
-- -DCONFIG_ROMSTART_RELOCATION_ROM=y to the west build command. This enables the ROM-start relocation configuration used for the Corstone-320 FPGA variant.The program prints
Hello World to the console on the Arm Corstone-320 MPS4 board.Copy
vector.bin and app.bin to the \SOFTWARE\ folder. You’ll create both files from build/zephyr/zephyr.elf with arm-none-eabi-objcopy.