Skip to content

Commit

Permalink
quickstart: add sparcv8leon3-gr716-mimas target
Browse files Browse the repository at this point in the history
JIRA: CI-437
  • Loading branch information
maska989 authored and adamdebek committed Aug 28, 2024
1 parent e7909f6 commit 42d944e
Show file tree
Hide file tree
Showing 10 changed files with 112 additions and 2 deletions.
1 change: 1 addition & 0 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ The ARINC653 execution environment (APEX) is under development.
10. [Running system on `riscv64-generic-spike`](quickstart/riscv64-generic-spike.md)
11. [Running system on `sparcv8leon3-gr716-mini`](quickstart/sparcv8leon3-gr716-mini.md)
12. [Running system on `sparcv8leon3-gr712rc-board`](quickstart/sparcv8leon3-gr712rc-board)
13. [Running system on `sparcv8leon3-gr712rc-board`](quickstart/sparcv8leon3-gr716-mimas)
5. [Loader](loader/index.md)
1. [Architecture](loader/architecture.md)
2. [Command-line interface](loader/cli.md)
Expand Down
Binary file added quickstart/_images/MimasA7_Mini_Connected.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added quickstart/_images/MimasA7_Mini_WD.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added quickstart/_images/gr716-mimas-help.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added quickstart/_images/gr716-mimas-loading.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added quickstart/_images/gr716-mimas-picocom-send.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added quickstart/_images/gr716-mimas-ps.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added quickstart/_images/gr716-mimas-start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 4 additions & 2 deletions quickstart/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ and building artifacts are available in the `_boot` directory. The building proc
10. [Running system on riscv64-generic-spike](riscv64-generic-spike.md)
11. [Running system on sparcv8leon3-gr716-mini](sparcv8leon3-gr716-mini.md)
12. [Running system on sparcv8leon3-gr712rc-board](sparcv8leon3-gr712rc-board.md)
12. [Table of Contents](../index.md)
13. [Running system on sparcv8leon3-gr716-mimas](sparcv8leon3-gr716-mimas.md)
14. [Table of Contents](../index.md)

```{toctree}
:maxdepth: 1
Expand All @@ -38,5 +39,6 @@ ia32-generic-qemu.md
riscv64-generic-qemu.md
riscv64-generic-spike.md
sparcv8leon3-gr716-mini.md
sparcv8leon3-gr712rc-board
sparcv8leon3-gr712rc-board.md
sparcv8leon3-gr716-mimas.md
```
107 changes: 107 additions & 0 deletions quickstart/sparcv8leon3-gr716-mimas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Running system on <nobr>sparcv8leon3-gr716-mimas</nobr>

These instructions describe how to run Phoenix-RTOS on the LEON3/GR716 emulated
on Mimas A7 Mini FPGA which is called `sparcv8leon3-gr716-mimas`.
target. Note that the build artifacts, including the system image should be provided in the `_boot` directory. If you
have not built the system image yet, please refer to the [Building Phoenix-RTOS image](../building/index.md) section.

## Connecting the board

Connect the board to the computer using a USB cable which provide power to the board (There is pin jumper that
determinate which power line will be in use).

Communication with the board in this case is provided via USB-UART converters connected to connector `P4`

- pins `3-tx (E13 - red)`&`5-rx (D16 - orange)` are used for interfacing with the `phoenixd` server.
- pins `7-tx (E15 - yellow)`&`9-rx (F14 - orange)` are used for `psh/plo` console.
- pins `37-M4` & `49-GND` must be connected via `10k` ohm resistor.

Mimas pinout diagram:
![Image](_images/MimasA7_Mini_WD.png)

Source: The MimasA7 Mini board's schematic, available on
<https://numato.com/product/mimas-a7-mini-fpga-development-board/>

This is how connected device should look like:
![Image](_images/MimasA7_Mini_Connected.jpg)

## Programming Artix FPGA

All information about preparing and uploading a bit stream for the Mimas A7 Mini can be found in the
[phoenix-rtos-hdl](https://github.com/phoenix-rtos/phoenix-rtos-hdl/blob/master/leon3-numato-mimas-a7-mini/README.md)
repository.

`Note: Do not run further steps until FPGA isn't programed properly.`

## Copying system image using PHFS (phoenixd)

To load the disk image on the board, first step is to verify which port the `plo` serial interface is connected using the
following command:

```bash
ls -l /dev/serial/by-id
```

The output of this command depends on what interfaces are used. (Easiest way to determinate which one are correct is
run this command, unplug one of them and again using same command check what port disappears).

To provide the disk image to the bootloader, `phoenixd` has to be launched with the following arguments
(choose suitable ttys device, in this case, USB-UART converter is connected to pins `3 & 5`):

`-s` option to `phoenixd` determines from where program will upload files to the device. To simplify this process,
we can just move to the desired folder and use `.` to point to the current directory.
To do that simply type:

```bash
cd _boot/sparcv8leon3-gr716-mimas
```

then

```bash
sudo ./phoenixd -p /dev/ttyUSB[port] -b 115200 -s .
```

In a second terminal start `picocom` using the following command:

```bash
picocom --imap lfcrlf -b 115200 -r -l /dev/ttyUSB[X] --send-cmd cat
```

After resetting the board using the `BTN0` button, you should see `Bootloader` message in the terminal. To load the
bootloader (`plo`) to the RAM, send the image using `picocom --send-cmd`. Type `Ctrl+a` followed by `Ctrl+s`,
enter the path to the `plo.img` file and press `Enter`. The file is located in the `_boot/sparcv8leon3-gr716-mimas`
directory. Refer to the image below:

![Image](_images/gr716-mimas-picocom-send.png)

If the image has been loaded correctly, you should see system startup logs.

![Image](_images/gr716-mimas-loading.png)

## Using the Phoenix-RTOS

After loading, Phoenix-RTOS will be launched and the `psh` shell command prompt will appear in the terminal.

![Image](_images/gr716-mimas-start.png)

To get the available command list type:

```console
help
```

![Image](_images/gr716-mimas-help.png)

To get the list of working processes type:

```bash
ps
```

![Image](_images/gr716-mimas-ps.png)

## See also

1. [Running system on targets](index.md)
2. [Table of Contents](../index.md)

0 comments on commit 42d944e

Please sign in to comment.