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?
After completing this Learning Path, you'll be able to perform the following tasks:
- 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'll need the following prerequisites:
- 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.
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.
build/zephyr/zephyr.elf. Use this file to create the images that you load onto the MPS4 board.-- -DCONFIG_ROMSTART_RELOCATION_ROM=y to the west build command. This enables the ROM-start relocation configuration used for the Corstone-320 FPGA variant.Hello World to the console on the Arm Corstone-320 MPS4 board.vector.bin and app.bin to the \SOFTWARE\ folder. You’ll create both files from build/zephyr/zephyr.elf with arm-none-eabi-objcopy.