91 lines
1.9 KiB
Markdown
91 lines
1.9 KiB
Markdown
# Raspberry PICO
|
||
|
||
## Introduction
|
||
|
||
**Raspberry Pi Pico is a low-cost, high-performance microcontroller board with flexible digital interfaces.**
|
||
|
||
**Key features include:**
|
||
|
||
- RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom
|
||
- Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz
|
||
- 264KB of SRAM, and 2MB of on-board Flash memory
|
||
- Castellated module allows soldering direct to carrier boards
|
||
- USB 1.1 with device and host support
|
||
- Low-power sleep and dormant modes
|
||
|
||
- Drag-and-drop programming using mass storage over USB
|
||
- 26 × multi-function GPIO pins
|
||
- 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels
|
||
- Accurate clock and timer on-chip
|
||
- Temperature sensor
|
||
- Accelerated floating-point libraries on-chip
|
||
- 8 × Programmable I/O (PIO) state machines for custom peripheral support
|
||
|
||
|
||
|
||
![Pico-R3-Pinout](figures/Pico-R3-Pinout.svg)
|
||
|
||
## Supported compiler
|
||
|
||
Support GCC 6 and above compilers.
|
||
|
||
## Program firmware
|
||
|
||
### Step 1: download pico sdk
|
||
|
||
```bash
|
||
pkgs --update
|
||
```
|
||
|
||
### Step 2: build
|
||
|
||
```bash
|
||
scons -c
|
||
scons
|
||
```
|
||
|
||
**gcc version >= 6.x.x**
|
||
|
||
### Step 3: flash
|
||
|
||
scons generates a UF2 file:
|
||
|
||
![elf2uf2](figures/elf2uf2.png)
|
||
|
||
- Copy the rtthread-pico.uf2 file to the "RPI-RP2" disk
|
||
- Then led blink.
|
||
|
||
Or you can use the picotool by:
|
||
|
||
```bash
|
||
picotool load rtthread-pico.uf2
|
||
picotool reboot
|
||
```
|
||
|
||
## Running Result
|
||
|
||
The output information on serial port should be like this:
|
||
|
||
```bash
|
||
\ | /
|
||
- RT - Thread Operating System
|
||
/ | \ 4.0.3 build Jan 28 2021
|
||
2006 - 2021 Copyright by rt-thread team
|
||
Hello, RT-Thread!
|
||
msh >
|
||
```
|
||
|
||
## Peripheral Condition
|
||
|
||
| Drive | Support | Remark |
|
||
| ----- | ------- | ------- |
|
||
| UART | Support | UART0/1 |
|
||
| GPIO | Support | 0-29 |
|
||
| I2C | - | - |
|
||
| RTC | - | - |
|
||
| SDIO | - | - |
|
||
| SPI | - | - |
|
||
| TIMER | - | - |
|
||
| WDT | - | - |
|
||
|