#include <stdint.h>#include <stdbool.h>#include <assert.h>#include "pico/platform.h"#include "picoboot_constants.h"Go to the source code of this file.
Data Structures | |
| struct | picoboot_reboot_cmd |
| Parameters for a reboot command (RP2040 only). More... | |
| struct | picoboot_reboot2_cmd |
| Parameters for an extended reboot command (not available on RP2040). More... | |
| struct | picoboot_address_only_cmd |
| Parameters for a command that operates on a single address (RP2040 only). More... | |
| struct | picoboot_range_cmd |
| Parameters for a command that operates on an address range. More... | |
| struct | picoboot_exec2_cmd |
| struct | picoboot_exclusive_cmd |
| Parameters for an exclusive-access command. More... | |
| struct | picoboot_otp_cmd |
| Parameters for an OTP read or write command (not available on RP2040). More... | |
| struct | picoboot_get_info_cmd |
| Parameters for a get-info command (not available on RP2040). More... | |
Macros | |
| #define | PICOBOOT_MAGIC 0x431fd10bu |
| #define | PICOBOOT_IF_RESET 0x41 |
| #define | PICOBOOT_IF_CMD_STATUS 0x42 |
Enumerations | |
| enum | picoboot_cmd_id { PC_EXCLUSIVE_ACCESS = 0x1 , PC_REBOOT = 0x2 , PC_FLASH_ERASE = 0x3 , PC_READ = 0x84 , PC_WRITE = 0x5 , PC_EXIT_XIP = 0x6 , PC_ENTER_CMD_XIP = 0x7 , PC_EXEC = 0x8 , PC_VECTORIZE_FLASH = 0x9 , PC_REBOOT2 = 0xa , PC_GET_INFO = 0x8b , PC_OTP_READ = 0x8c , PC_OTP_WRITE = 0xd } |
| enum | picoboot_status { PICOBOOT_OK = 0 , PICOBOOT_UNKNOWN_CMD = 1 , PICOBOOT_INVALID_CMD_LENGTH = 2 , PICOBOOT_INVALID_TRANSFER_LENGTH = 3 , PICOBOOT_INVALID_ADDRESS = 4 , PICOBOOT_BAD_ALIGNMENT = 5 , PICOBOOT_INTERLEAVED_WRITE = 6 , PICOBOOT_REBOOTING = 7 , PICOBOOT_UNKNOWN_ERROR = 8 , PICOBOOT_INVALID_STATE = 9 , PICOBOOT_NOT_PERMITTED = 10 , PICOBOOT_INVALID_ARG = 11 , PICOBOOT_BUFFER_TOO_SMALL = 12 , PICOBOOT_PRECONDITION_NOT_MET = 13 , PICOBOOT_MODIFIED_DATA = 14 , PICOBOOT_INVALID_DATA = 15 , PICOBOOT_NOT_FOUND = 16 , PICOBOOT_UNSUPPORTED_MODIFICATION = 17 } |
| enum | picoboot_exclusive_type { NOT_EXCLUSIVE = 0 , EXCLUSIVE , EXCLUSIVE_AND_EJECT } |
| Exclusivity level for a PC_EXCLUSIVE_ACCESS command. More... | |
Functions | |
| struct __packed | __aligned (4) picoboot_cmd |
| A PICOBOOT command packet sent to the OUT endpoint. | |