picoboot.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <assert.h>
#include "pico/platform.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