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: README.md
+28-19Lines changed: 28 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -1,31 +1,31 @@
1
1
# Raspberry Pi Pico SDK
2
2
3
3
The Raspberry Pi Pico SDK (henceforth the SDK) provides the headers, libraries and build system
4
-
necessary to write programs for the RP2040-based devices such as the Raspberry Pi Pico
4
+
necessary to write programs for the RP-series microcontroller-based devices such as the Raspberry Pi Pico or Raspberry Pi Pico 2
5
5
in C, C++ or assembly language.
6
6
7
7
The SDK is designed to provide an API and programming environment that is familiar both to non-embedded C developers and embedded C developers alike.
8
8
A single program runs on the device at a time and starts with a conventional `main()` method. Standard C/C++ libraries are supported along with
9
-
Clevel libraries/APIs for accessing all of the RP2040's hardware include PIO (Programmable IO).
9
+
C-level libraries/APIs for accessing all of the RP-series microcontroller's hardware including PIO (Programmable IO).
10
10
11
-
Additionally the SDK provides higher level libraries for dealing with timers, synchronization, USB (TinyUSB) and multi-core programming
12
-
along with various utilities.
11
+
Additionally, the SDK provides higher level libraries for dealing with timers, synchronization, Wi-Fi and Bluetooth networking, USB and multicore programming. These libraries should be comprehensive enough that your application code rarely, if at all, needs to access hardware registers directly. However, if you do need or prefer to access the raw hardware registers, you will also find complete and fully-commented register definition headers in the SDK. There's no need to look up addresses in the datasheet.
13
12
14
-
The SDK can be used to build anything from simple applications, to fully fledged runtime environments such as MicroPython, to low level software
15
-
such as RP2040's on-chip bootrom itself.
13
+
The SDK can be used to build anything from simple applications, fully-fledged runtime environments such as MicroPython, to low level software
14
+
such as the RP-series microcontroller's on-chip bootrom itself.
15
+
16
+
The design goal for entire SDK is to be simple but powerful.
16
17
17
18
Additional libraries/APIs that are not yet ready for inclusion in the SDK can be found in [pico-extras](https://github.com/raspberrypi/pico-extras).
18
19
19
20
# Documentation
20
21
21
-
See [Getting Started with the Raspberry Pi Pico](https://rptl.io/pico-get-started) for information on how to setup your
22
-
hardware, IDE/environment and for how to build and debug software for the Raspberry Pi Pico
23
-
and other RP2040-based devices.
22
+
See [Getting Started with the Raspberry Pi Pico-Series](https://rptl.io/pico-get-started) for information on how to setup your
23
+
hardware, IDE/environment and how to build and debug software for the Raspberry Pi Pico and other RP-series microcontroller based devices.
24
24
25
25
See [Connecting to the Internet with Raspberry Pi Pico W](https://rptl.io/picow-connect) to learn more about writing
26
26
applications for your Raspberry Pi Pico W that connect to the internet.
27
27
28
-
See [Raspberry Pi Pico C/C++ SDK](https://rptl.io/pico-c-sdk) to learn more about programming using the
28
+
See [Raspberry Pi Pico-Series C/C++ SDK](https://rptl.io/pico-c-sdk) to learn more about programming using the
29
29
SDK, to explore more advanced features, and for complete PDF-based API documentation.
30
30
31
31
See [Online Raspberry Pi Pico SDK API docs](https://rptl.io/pico-doxygen) for HTML-based API documentation.
@@ -42,10 +42,16 @@ _latest stable release_ of the SDK. If you need or want to test upcoming feature
42
42
43
43
# Quick-start your own project
44
44
45
+
## Using Visual Studio Code
46
+
47
+
You can install the [Raspberry Pi Pico Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=raspberry-pi.raspberry-pi-pico) in VS Code.
48
+
49
+
## Unix command line
50
+
45
51
These instructions are extremely terse, and Linux-based only. For detailed steps,
46
-
instructions for other platforms, and just in general, we recommend you see [Raspberry Pi Pico C/C++ SDK](https://rptl.io/pico-c-sdk)
52
+
instructions for other platforms, and just in general, we recommend you see [Raspberry Pi Pico-Series C/C++ SDK](https://rptl.io/pico-c-sdk)
47
53
48
-
1. Install CMake (at least version 3.13), and GCC cross compiler
54
+
1. Install CMake (at least version 3.13), and a GCC cross compiler
@@ -137,7 +143,7 @@ instructions for other platforms, and just in general, we recommend you see [Ras
137
143
# rest of your project
138
144
139
145
```
140
-
1. Write your code (see [pico-examples](https://github.com/raspberrypi/pico-examples) or the [Raspberry Pi Pico C/C++ SDK](https://rptl.io/pico-c-sdk) documentation for more information)
146
+
1. Write your code (see [pico-examples](https://github.com/raspberrypi/pico-examples) or the [Raspberry Pi Pico-Series C/C++ SDK](https://rptl.io/pico-c-sdk) documentation for more information)
141
147
142
148
About the simplest you can do is a single source file (e.g. hello_world.c)
143
149
@@ -146,7 +152,7 @@ instructions for other platforms, and just in general, we recommend you see [Ras
146
152
#include "pico/stdlib.h"
147
153
148
154
int main() {
149
-
setup_default_uart();
155
+
stdio_init_all();
150
156
printf("Hello, world!\n");
151
157
return 0;
152
158
}
@@ -176,12 +182,11 @@ instructions for other platforms, and just in general, we recommend you see [Ras
176
182
$ cmake ..
177
183
```
178
184
179
-
When building for a board other than the Raspberry Pi Pico, you should pass `-DPICO_BOARD=board_name` to the `cmake` command above, e.g. `cmake -DPICO_BOARD=pico_w ..`
180
-
to configure the SDK and build options accordingly for that particular board.
185
+
When building for a board other than the Raspberry Pi Pico, you should pass `-DPICO_BOARD=board_name` to the `cmake` command above, e.g. `cmake -DPICO_BOARD=pico2 ..` or `cmake -DPICO_BOARD=pico_w ..` to configure the SDK and build options accordingly for that particular board.
181
186
182
-
Doing so sets up various compiler defines (e.g. default pin numbers for UART and other hardware) and in certain
187
+
Specifying `PICO_BOARD=<booardname>` sets up various compiler defines (e.g. default pin numbers for UART and other hardware) and in certain
183
188
cases also enables the use of additional libraries (e.g. wireless support when building for `PICO_BOARD=pico_w`) which cannot
184
-
be built without a board which provides the requisite functionality.
189
+
be built without a board which provides the requisite hardware functionality.
185
190
186
191
For a list of boards defined in the SDK itself, look in [this directory](src/boards/include/boards) which has a
187
192
header for each named board.
@@ -191,4 +196,8 @@ instructions for other platforms, and just in general, we recommend you see [Ras
191
196
$ make hello_world
192
197
```
193
198
194
-
1. You now have `hello_world.elf` to load via a debugger, or `hello_world.uf2` that can be installed and run on your Raspberry Pi Pico via drag and drop.
199
+
1. You now have `hello_world.elf` to load via a debugger, or `hello_world.uf2` that can be installed and run on your Raspberry Pi Pico-series device via drag and drop.
200
+
201
+
# RISC-V support on RP2350
202
+
203
+
See [Raspberry Pi Pico-series C/C++ SDK](https://rptl.io/pico-c-sdk) for information on setting up a build environment for RISC-V on RP2350.
0 commit comments