EasyManua.ls Logo

Raspberry Pi Pico User Manual

Raspberry Pi Pico
77 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #70 background imageLoading...
Page #70 background image
Save the program
Save allows you to save a range of memory or a program or the whole of flash from the device to a BIN file or a UF2 file.
$ picotool help save
SAVE:
Ê Save the program / memory stored in flash on the device to a file.
SYNOPSYS:
Ê picotool save [-p] [--bus <bus>] [--address <addr>] <filename> [-t <type>]
Ê picotool save -a [--bus <bus>] [--address <addr>] <filename> [-t <type>]
Ê picotool save -r <from> <to> [--bus <bus>] [--address <addr>] <filename> [-t <type>]
OPTIONS:
Ê Selection of data to save
Ê -p, --program
Ê Save the installed program only. This is the default
Ê -a, --all
Ê Save all of flash memory
Ê -r, --range
Ê Save a range of memory; note that the range is expanded to 256 byte boundaries
Ê <from>
Ê The lower address bound in hex
Ê <to>
Ê The upper address bound in hex
Ê Source device selection
Ê --bus <bus>
Ê Filter devices by USB bus number
Ê --address <addr>
Ê Filter devices by USB device address
Ê File to save to
Ê <filename>
Ê The file name
Ê -t <type>
Ê Specify file type (uf2 | elf | bin) explicitly, ignoring file extension
For example,
$ sudo picotool info
Program Information
name: lcd_1602_i2c
web site: https://github.com/raspberrypi/pico-examples/tree/HEAD/i2c/lcd_1602_i2c
$ picotool save spoon.uf2
Saving file: [==============================] 100%
Wrote 51200 bytes to spoon.uf2
$ picotool info spoon.uf2
File spoon.uf2:
Program Information
name: lcd_1602_i2c
web site: https://github.com/raspberrypi/pico-examples/tree/HEAD/i2c/lcd_1602_i2c
Binary Information
Binary information is machine-locatable and generally machine-consumable. I say generally because anyone can
include any information, and we can tell it from ours, but it is up to them whether they make their data self-describing.
Getting started with Raspberry Pi Pico
Binary Information 69

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the Raspberry Pi Pico and is the answer not in the manual?

Raspberry Pi Pico Specifications

General IconGeneral
MicrocontrollerRP2040
Clock Speed133 MHz
SRAM264 KB
Flash Memory2 MB
GPIO Pins26
Operating Temperature-20°C to +85°C
ArchitectureARM Cortex-M0+ (dual-core)
InterfacesI2C, SPI, UART, PWM
Operating Voltage1.8–5.5 V
Dimensions51 mm × 21 mm

Summary

1. Quick Pico Setup

2. The SDK

2.1. Get the SDK and Examples

Download and clone the SDK and example repositories for development.

2.2. Install the Toolchain

Install necessary tools like CMake and the ARM embedded toolchain.

3. Blinking an LED in C

3.1. Building 'Blink'

Compile the 'Blink' C example program for the Raspberry Pi Pico.

3.2. Load and Run 'Blink'

Load and execute the compiled 'Blink' program onto the Raspberry Pi Pico.

4. Saying "Hello World" in C

4.3. Flash and Run 'Hello World'

Load and execute the compiled 'Hello World' program onto the Raspberry Pi Pico.

5. Flash Programming with SWD

5.3. Loading a Program

Use OpenOCD to load .elf program binaries into flash memory.

6. Debugging with SWD

6.3. Use GDB and OpenOCD for Debugging

Combine GDB and OpenOCD to interactively debug the 'Hello World' example.

7. Using Visual Studio Code

7.3. Debugging a Project

Set up and perform debugging for a project using VS Code and OpenOCD.

8. Creating Your Own Project

8.1. Debugging Your Project

Debug a custom project using command line tools and OpenOCD.

Appendix A: Using Picoprobe

Related product manuals