Skip to content

Commit 01c9f34

Browse files
committed
quickstart: add riscv64-noelv-fpga target
Based on branch lukileczko/ci-475 JIRA: CI-475
1 parent e7909f6 commit 01c9f34

12 files changed

+125
-5
lines changed

index.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@ The ARINC653 execution environment (APEX) is under development.
3333
8. [Running system on `ia32-generic-qemu`](quickstart/ia32-generic-qemu.md)
3434
9. [Running system on `riscv64-generic-qemu`](quickstart/riscv64-generic-qemu.md)
3535
10. [Running system on `riscv64-generic-spike`](quickstart/riscv64-generic-spike.md)
36-
11. [Running system on `sparcv8leon3-gr716-mini`](quickstart/sparcv8leon3-gr716-mini.md)
37-
12. [Running system on `sparcv8leon3-gr712rc-board`](quickstart/sparcv8leon3-gr712rc-board)
36+
11. [Running system on riscv64-noelv-fpga](quickstart/riscv64-noelv-fpga.md)
37+
12. [Running system on `sparcv8leon3-gr716-mini`](quickstart/sparcv8leon3-gr716-mini.md)
38+
13. [Running system on `sparcv8leon3-gr712rc-board`](quickstart/sparcv8leon3-gr712rc-board)
3839
5. [Loader](loader/index.md)
3940
1. [Architecture](loader/architecture.md)
4041
2. [Command-line interface](loader/cli.md)

quickstart/_images/ArtyA7_Board.bmp

3.95 MB
Binary file not shown.

quickstart/_images/GRmon_Entry.png

86.8 KB
Loading

quickstart/_images/GRmon_Phoenix.png

89.3 KB
Loading

quickstart/_images/GRmon_SBI.png

87.9 KB
Loading
39.8 KB
Loading
77.8 KB
Loading

quickstart/_images/GRmon_start.png

84.2 KB
Loading

quickstart/_images/noelv-ls.png

21.3 KB
Loading

quickstart/_images/noelv-start.png

88.3 KB
Loading

quickstart/index.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ and building artifacts are available in the `_boot` directory. The building proc
1616
8. [Running system on ia32-generic-qemu](ia32-generic-qemu.md)
1717
9. [Running system on riscv64-generic-qemu](riscv64-generic-qemu.md)
1818
10. [Running system on riscv64-generic-spike](riscv64-generic-spike.md)
19-
11. [Running system on sparcv8leon3-gr716-mini](sparcv8leon3-gr716-mini.md)
20-
12. [Running system on sparcv8leon3-gr712rc-board](sparcv8leon3-gr712rc-board.md)
21-
12. [Table of Contents](../index.md)
19+
11. [Running system on riscv64-noelv-fpga](riscv64-noelv-fpga.md)
20+
12. [Running system on sparcv8leon3-gr716-mini](sparcv8leon3-gr716-mini.md)
21+
13. [Running system on sparcv8leon3-gr712rc-board](sparcv8leon3-gr712rc-board.md)
22+
14. [Table of Contents](../index.md)
2223

2324
```{toctree}
2425
:maxdepth: 1
@@ -37,6 +38,7 @@ armv8r52-mps3an536-qemu.md
3738
ia32-generic-qemu.md
3839
riscv64-generic-qemu.md
3940
riscv64-generic-spike.md
41+
riscv64-noelv-fpga.md
4042
sparcv8leon3-gr716-mini.md
4143
sparcv8leon3-gr712rc-board
4244
```

quickstart/riscv64-noelv-fpga.md

+117
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Running system on <nobr>riscv64-noelv-fpga</nobr>
2+
3+
These instructions describe how to run Phoenix-RTOS on the NOEL-V processor configured on the Digilent Arty A7-100T
4+
FPGA - `riscv64-noelv-fpga` target. Note that the build artifacts, including the system image should be provided in the
5+
`_boot` directory. If you have not built the system image yet, please refer to the
6+
[Building Phoenix-RTOS image](../building/index.md) section.
7+
8+
## Connecting the board
9+
10+
Connect the board to the computer using 1 micro USB cable that provides power and UART communication, like on image
11+
below:
12+
13+
![Image](_images/ArtyA7_Board.bmp)
14+
15+
## Loading the Phoenix-RTOS system image
16+
17+
To load the Phoenix-RTOS system image to the board, you will need to use the `GRMON` debug monitor.
18+
19+
<details>
20+
<summary>How to get GRMON</summary>
21+
22+
- Download the GRMON software from the [official website](https://www.gaisler.com/index.php/downloads/debug-tools)
23+
24+
- After downloading the archive, extract it and optionally add the `grmon` binary to the `PATH` variable
25+
(You can also copy its binary to `/bin` with sudo).
26+
27+
- Install Digilent Adept Runtime for debug link connection:
28+
29+
- On Linux systems, the Digilent Adept2 Runtime must be installed on the host computer, which can be downloaded
30+
from Digilent's website.
31+
- More detailed information you can be found in the
32+
[GRMON User's Manual](https://www.gaisler.com/doc/grmon-eval/grmon3.pdf)
33+
& [Digilent Adept 2](https://digilent.com/reference/software/adept/start).
34+
35+
</details>
36+
</br>
37+
38+
Launch the `GRMON` monitor using the following command:
39+
40+
```console
41+
grmon -digilent
42+
```
43+
44+
Note: The `-digilent` parameter specifies the Digilent JTAG adapter.
45+
46+
If the board is correctly plugged in and Adept2 is present on the system, grmon will display something similar to this:
47+
48+
![Image](_images/GRmon_start.png)
49+
50+
In case of bad connection or problem with Adept2 you may get similar output:
51+
52+
![Image](_images/GRmon_bad_connect.png)
53+
54+
Load the Phoenix-RTOS system image into the RAM by running the following commands in the `GRMON`:
55+
56+
- Load supervisor binary interface for RISC-V:
57+
58+
```console
59+
load phoenix-rtos-project/_boot/riscv64-noelv-fpga/sbi-noelv.elf
60+
```
61+
62+
![Image](_images/GRmon_SBI.png)
63+
64+
- Load Phoenix-RTOS system:
65+
66+
```console
67+
load -binary phoenix-rtos-project/_boot/riscv64-noelv-fpga/phoenix.disk 0x08000000
68+
```
69+
70+
![Image](_images/GRmon_Phoenix.png)
71+
72+
Determine entry point of the program:
73+
74+
```console
75+
ep 0x0
76+
```
77+
78+
![Image](_images/GRmon_Entry.png)
79+
80+
Check on which port the board is connected to the computer. To do this, run the following command:
81+
82+
```console
83+
ls -l /dev/serial/by-id
84+
```
85+
86+
![Image](_images/noelv-ls.png)
87+
88+
In this case, the serial port to use is `/dev/ttyUSB1`. Open the terminal emulator and connect to the board using the
89+
following command:
90+
91+
```console
92+
picocom -b 115200 --imap lfcrlf /dev/ttyUSB1
93+
```
94+
95+
To start the Phoenix-RTOS system, execute the following command in the `GRMON` monitor:
96+
97+
```console
98+
run
99+
```
100+
101+
## Using the Phoenix-RTOS
102+
103+
After executing the `run` command, Phoenix-RTOS will be launched and the `psh` shell command prompt will appear in the
104+
terminal.
105+
106+
![Image](_images/noelv-start.png)
107+
108+
Note: Keep in mind that it is necessary to have grmon running in background. In case of closing or accidental
109+
terminating `run` command, it will shut down the connection with the board.
110+
Grmon will inform you of such an event:
111+
112+
![Image](_images/GRmon_run_termin.png)
113+
114+
## See also
115+
116+
1. [Running system on targets](index.md)
117+
2. [Table of Contents](../index.md)

0 commit comments

Comments
 (0)