You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Docs/getting_started.md
+20-31Lines changed: 20 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,49 +2,23 @@
2
2
3
3
# Getting Started
4
4
5
-
Hello! So you’ve got the **Shrike-lite FPGA** - nice!
6
-
7
-
Before we explain how programming works on Shrike-lite, it’s important to understand what Shrike-lite actually is and how it differs from all kind of other embedded development boards.
8
-
9
-
These points will give you the right foundation, especially if you are new to electronics or computing systems. If you already know the basics of microcontrollers, FPGAs, and embedded systems, you can skip this introduction and jump directly into the programming section.
10
-
11
-
Shrike-lite is special because it combines two worlds on a single board:
You can write software for the micro-controller and create digital circuits on the FPGA, and then let them work together to build powerful and fun projects. If you’re curious to learn more about FPGAs, you can read about them here.
16
-
17
-
In Shrike-lite, the micro-controller (RP2040) is connected to the FPGA through an SPI bus. The SPI bus is used for two main purposes:
18
-
19
-
 1. **Configuring the FPGA** - loading the bitstream into the FPGA via the RP2040
20
-
 2. **Communication** - between the microcontroller (RP2040) and the FPGA.
21
-
22
-
While your program is running on the micro-controller, you can configure the FPGA at any time to perform specific tasks. Not only that, once the FPGA is programmed, it can also communicate with the RP2040 back and forth.
23
-
The beauty of this setup is that you can reprogram the FPGA an unlimited number of times, and that’s exactly where reconfigurable computing comes to life.
24
-
25
-
As discussed earlier, we’ll need to learn how compilation works for both systems: the FPGA and the micro-controller (RP2040).
26
-
27
-
The binary files that the FPGA understands are called **bitstreams**.
28
-
Follow the guide here to learn how to generate a bitstream for the FPGA: [Generating Your First Bitstream](https://vicharak-in.github.io/shrike-lite/generating_your_first_bitstream.html)
29
-
30
-
Once you have the bitstream, you’re ready to load it into the FPGA through a microcontroller (RP2040) program.
31
-
32
-
We’ll start with a simple blink-LED example to say hello to the world of hardware.
33
-
Along the way, we’ll also set up the required software and toolchain.
5
+
In this getting started guide we will see how to blink an led on shrike both on fpga and RP2040.
34
6
35
7
You can program the microcontroller on Shrike-lite using two methods:<br>
36
8
 **1. Arduino (C/C++)**
37
9
 **2. MicroPython using the UF2 bootloader**
38
10
39
11
Both are beginner-friendly, and you can switch between them anytime.
40
-
Now that you have the hardware in hand, let’s follow the steps and get Shrike-lite up and running!
12
+
Let’s follow the steps and get Shrike-lite up and running!
13
+
14
+
::::{tab-set}
15
+
:::{tab-item} ArduinoIDE
41
16
42
17
# Using it with ArduinoIDE
43
18
44
19
If you already know Arduino and love working with the Arduino IDE, you can continue using it with Shrike-lite. You do not have to switch to MicroPython unless you want to.,
45
20
46
21
47
-
48
22
We will follow these steps to setup our arduino IDE for shrike. If you don't have arduino IDE already ,you can download it from [here](https://www.arduino.cc/en/software/) or if you are using linux(ubuntu)then just run
49
23
```
50
24
sudo apt install arduino
@@ -100,6 +74,10 @@ You will need to restart the Arduino IDE and you should see the Pico Little FS t
100
74
101
75
For more details on the PicoLittleFS tool checkout this [repository](https://github.com/earlephilhower/arduino-pico-littlefs-plugin).
102
76
77
+
> [!NOTE]
78
+
> For Arduino IDE version 2.x.x please follow [this](https://randomnerdtutorials.com/arduino-ide-2-install-esp32-littlefs/) guide instead of step 2 to setup the Little FS tools and you can come back for step 3.
79
+
> Littlefs tool for Arduino IDE 2 can be found [here](https://github.com/earlephilhower/arduino-littlefs-upload).
80
+
103
81
### Step 3. Installing the Shrike Library
104
82
105
83
The Arduino library developed by Vicharak takes care of configuring the FPGA for you. You can install it directly from the Arduino IDE’s Library Manager, just search for **“Shrike”** and install the **Shrike** library.
@@ -137,6 +115,11 @@ Congratulation you have you arduino IDE and shrike ready to programmed using the
137
115
138
116
>Credit and Gratitude to [earlephilhower](https://github.com/earlephilhower/) to creating the board support for RP2040/RP2350 in ArduinoIDE and the little FS tool.
139
117
118
+
:::
119
+
120
+
121
+
:::{tab-item} Micro-Python
122
+
140
123
# Using it with Micro-python
141
124
142
125
We have created custom UF2 for shrike this contains a shrike.py library that has custom function to flash fpga and few others. You can use the normal rpi micro python uf2 as well however the step's would be different.
@@ -150,8 +133,11 @@ Now we will here safely assume that you will be using our uf2.
150
133
3. Copy the downloaded uf2 in storage device you can simply drag and drop in mostly all the devices.
151
134
4. After the successful copying the storage device should disappear.
152
135
136
+
Check the video tutorial on how to upload the uf2 Shrike dev board(its a generic board video and uf2 will differ in our case) [here](https://www.youtube.com/watch?v=os4mv_8jWfU).
137
+
153
138
Congratulations you have successfully uploaded the uf2.
154
139
140
+
155
141
### 2. Shrike Mass Storage Device
156
142
157
143
Onces that you have copied the uf2 to the Shrike. The board will disconnect momentary and so up as both a mass storage device and tty/ACM device now the mass storage is the part where you would need to save you bitstream (read step 3).
@@ -208,4 +194,7 @@ in thonny open a new python file and write this python script
208
194
209
195
Save this file to your board (RP2040) and run it. (to run this file on board boot up just name it as main.py)
210
196
197
+
:::
198
+
::::
199
+
211
200
If everything has been done correctly you should see led blinking on the board.
Hello! So you’ve got the **Shrike-lite FPGA** - nice!
6
+
7
+
Before we explain how programming works on Shrike-lite, it’s important to understand what Shrike-lite actually is and how it differs from all kind of other embedded development boards.
8
+
9
+
These points will give you the right foundation, especially if you are new to electronics or computing systems. If you already know the basics of microcontroller, FPGAs, and embedded systems, you can skip this introduction and jump directly into the programming section.
10
+
11
+
Shrike-lite is special because it combines two worlds on a single board:
You can write software for the micro-controller and create digital circuits on the FPGA, and then let them work together to build powerful and fun projects. If you’re curious to learn more about FPGAs, you can read about them here.
16
+
17
+
In Shrike-lite, the micro-controller (RP2040) is connected to the FPGA through an SPI bus. The SPI bus is used for two main purposes:
18
+
19
+
 1. **Configuring the FPGA** - loading the bitstream into the FPGA via the RP2040
20
+
 2. **Communication** - between the microcontroller (RP2040) and the FPGA.
21
+
22
+
While your program is running on the micro-controller, you can configure the FPGA at any time to perform specific tasks. Not only that, once the FPGA is programmed, it can also communicate with the RP2040 back and forth.
23
+
The beauty of this setup is that you can reprogram the FPGA an unlimited number of times, and that’s exactly where reconfigurable computing comes to life.
24
+
25
+
As discussed earlier, we’ll need to learn how compilation works for both systems: the FPGA and the micro-controller (RP2040).
26
+
27
+
The binary files that the FPGA understands are called **bitstreams**.
28
+
Follow the guide here to learn how to generate a bitstream for the FPGA: [Generating Your First Bitstream](https://vicharak-in.github.io/shrike-lite/generating_your_first_bitstream.html)
29
+
30
+
Once you have the bitstream, you’re ready to load it into the FPGA through a microcontroller (RP2040) program.
31
+
32
+
We’ll start with a simple blink-LED example to say hello to the world of hardware.
33
+
Along the way, we’ll also set up the required software and toolchain.
0 commit comments