diff --git a/index.md b/index.md index 890bd3f7..ef96924c 100644 --- a/index.md +++ b/index.md @@ -29,10 +29,11 @@ The ARINC653 execution environment (APEX) is under development. 4. [Running system on `armv7m7-imxrt117x-evk` (NXP i.MX RT117x)](quickstart/armv7m7-imxrt117x-evk.md) 5. [Running system on `armv7a7-imx6ull-evk` (NXP i.MX 6ULL)](quickstart/armv7a7-imx6ull-evk.md) 6. [Running system on `armv7a9-zynq7000` (Xilinx Zynq 7000)](quickstart/armv7a9-zynq7000.md) - 7. [Running system on `ia32-generic-qemu`](quickstart/ia32-generic-qemu.md) - 8. [Running system on `riscv64-generic-qemu`](quickstart/riscv64-generic-qemu.md) - 9. [Running system on `riscv64-generic-spike`](quickstart/riscv64-generic-spike.md) - 10. [Running system on `sparcv8leon3-gr716-mini`](quickstart/sparcv8leon3-gr716-mini.md) + 7. [Running system on `armv8r52-mps3an536-qemu`](quickstart/armv8r52-mps3an536-qemu.md) + 8. [Running system on `ia32-generic-qemu`](quickstart/ia32-generic-qemu.md) + 9. [Running system on `riscv64-generic-qemu`](quickstart/riscv64-generic-qemu.md) + 10. [Running system on `riscv64-generic-spike`](quickstart/riscv64-generic-spike.md) + 11. [Running system on `sparcv8leon3-gr716-mini`](quickstart/sparcv8leon3-gr716-mini.md) 5. [Loader](loader/index.md) 1. [Architecture](loader/architecture.md) 2. [Command-line interface](loader/cli.md) diff --git a/quickstart/_images/mps3an536-qemu-help.png b/quickstart/_images/mps3an536-qemu-help.png new file mode 100644 index 00000000..4ea2fdc7 Binary files /dev/null and b/quickstart/_images/mps3an536-qemu-help.png differ diff --git a/quickstart/_images/mps3an536-qemu-ps.png b/quickstart/_images/mps3an536-qemu-ps.png new file mode 100644 index 00000000..e83c1ec8 Binary files /dev/null and b/quickstart/_images/mps3an536-qemu-ps.png differ diff --git a/quickstart/_images/mps3an536-qemu-psh.png b/quickstart/_images/mps3an536-qemu-psh.png new file mode 100644 index 00000000..e00af564 Binary files /dev/null and b/quickstart/_images/mps3an536-qemu-psh.png differ diff --git a/quickstart/armv8r52-mps3an536-qemu.md b/quickstart/armv8r52-mps3an536-qemu.md new file mode 100644 index 00000000..e3679874 --- /dev/null +++ b/quickstart/armv8r52-mps3an536-qemu.md @@ -0,0 +1,78 @@ +# Running system on armv8r52-mps3an536-qemu + +These instructions describe how to run a Phoenix-RTOS system image for the `armv8r52-mps3an536-qemu` target +architecture. + +Note that the build artifacts, including the system image, should be first provided in the `_boot` directory. + +If you haven't run the `build.sh` script yet, run it for `armv8r52-mps3an536-qemu` target. + +See [how to build the Phoenix-RTOS system image](../building/index.md). + +## Running the system image + +Support for the `mps3-an536` machine in QEMU has been added in QEMU 9.0.0. To run the Phoenix-RTOS system image for the +`armv8r52-mps3an536-qemu` target architecture, you must have QEMU version 9.0.0 or later installed. On Ubuntu 22.04, you +must build QEMU from source. + +
+ How to build QEMU (Ubuntu 22.04) + +- Download QEMU 9.0.2 (or later) source code from the official repository and build for the `arm-softmmu` target: + + ```console + git clone https://gitlab.com/qemu-project/qemu.git -b v9.0.2 && \ + cd qemu && \ + git submodule update --init --recursive && \ + ./configure --target-list=arm-softmmu && \ + make && \ + sudo make install + ``` + +- Check if QEMU is properly installed: + + ```console + qemu-system-arm --version + ``` + + ```console + ~$ qemu-system-arm --version + QEMU emulator version 9.0.2 (v9.0.2) + Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers + ~$ + ``` + +
+ +To run the image under QEMU, use the following script provided in the `phoenix-rtos-project` repository: + + ```console + ./scripts/armv8r52-mps3an536-qemu.sh + ``` + +## Using Phoenix-RTOS + +Phoenix-RTOS will be launched and the `psh` shell command prompt will appear in the terminal. + +![Image](_images/mps3an536-qemu-psh.png) + +To get the available command list use command: + +```console +help +``` + +![Image](_images/mps3an536-qemu-help.png) + +To get the list of working processes use command: + +```console +ps +``` + +![Image](_images/mps3an536-qemu-ps.png) + +## See also + +1. [Running system on targets](index.md) +2. [Table of Contents](../index.md) diff --git a/quickstart/index.md b/quickstart/index.md index 917de743..1057da88 100644 --- a/quickstart/index.md +++ b/quickstart/index.md @@ -12,11 +12,12 @@ and building artifacts are available in the `_boot` directory. The building proc 4. [Running system on armv7m7-imxrt117x-evk (NXP i.MX RT117x)](armv7m7-imxrt117x-evk.md) 5. [Running system on armv7a7-imx6ull-evk (NXP i.MX 6ULL)](armv7a7-imx6ull-evk.md) 6. [Running system on armv7a9-zynq7000 (Xilinx Zynq 7000)](armv7a9-zynq7000.md) -7. [Running system on ia32-generic-qemu](ia32-generic-qemu.md) -8. [Running system on riscv64-generic-qemu](riscv64-generic-qemu.md) -9. [Running system on riscv64-generic-spike](riscv64-generic-spike.md) -10. [Running system on sparcv8leon3-gr716-mini](sparcv8leon3-gr716-mini.md) -11. [Table of Contents](../index.md) +7. [Running system on armv8r52-mps3an536-qemu](armv8r52-mps3an536-qemu.md) +8. [Running system on ia32-generic-qemu](ia32-generic-qemu.md) +9. [Running system on riscv64-generic-qemu](riscv64-generic-qemu.md) +10. [Running system on riscv64-generic-spike](riscv64-generic-spike.md) +11. [Running system on sparcv8leon3-gr716-mini](sparcv8leon3-gr716-mini.md) +12. [Table of Contents](../index.md) ```{toctree} :maxdepth: 1 @@ -31,6 +32,7 @@ armv7a9-zynq7000.md armv7a9-zynq7000-qemu.md armv7a9-zynq7000-zedboard.md armv7a9-zynq7000-zturn.md +armv8r52-mps3an536-qemu.md ia32-generic-qemu.md riscv64-generic-qemu.md riscv64-generic-spike.md