picoboot.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <assert.h>
#include "pico/platform.h"
Include dependency graph for picoboot.h:

Go to the source code of this file.

Data Structures

struct  picoboot_reboot_cmd
 
struct  picoboot_address_only_cmd
 
struct  picoboot_range_cmd
 
struct  picoboot_exclusive_cmd
 

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 = 5, PC_EXIT_XIP = 0x6, PC_ENTER_CMD_XIP = 0x7, PC_EXEC = 0x8,
  PC_VECTORIZE_FLASH = 0x9
}
 
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
}
 
enum  picoboot_exclusive_type { NOT_EXCLUSIVE = 0, EXCLUSIVE, EXCLUSIVE_AND_EJECT }
 

Functions

struct __packed __aligned (4) picoboot_cmd