![]() |
MCCI Trusted Bootloader
Simple trusted bootloader and tools for small embedded systems
|
#include <stdint.h>Go to the source code of this file.
Macros | |
| #define | _flash_mx25v8035f_h_ /* prevent multiple includes */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_BLOCK32_BASE(a) ((a) & ~(MX25V8035F_BLOCK32_SIZE - 1)) |
| #define | MCCI_BOOTLOADER_MX25V8035F_BLOCK64_BASE(a) ((a) & ~(MX25V8035F_BLOCK64_SIZE - 1)) |
| #define | MCCI_BOOTLOADER_MX25V8035F_PAGE_BASE(a) ((a) & ~(MX25V8035F_PAGE_SIZE - 1)) |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_ALL 0x8F /* protect 16 blocks */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_BASE_1 0x81 /* protect 1 block at bottom */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_BASE_2 0x82 /* protect 2 blocks at bottom */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_BASE_4 0x83 /* protect 4 blocks at bottom */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_BASE_8 0x84 /* protect 8 blocks at bottom */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_NONE 0x00 /* no blocks protected */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_TOP_1 0x01 /* protect 1 block at top */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_TOP_2 0x02 /* protect 2 blocks at top */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_TOP_4 0x03 /* protect 4 blocks at top */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_PL_TOP_8 0x04 /* protect 8 blocks at top */ |
| #define | MCCI_BOOTLOADER_MX25V8035F_SECTOR_BASE(a) ((a) & ~(MX25V8035F_SECTOR_SIZE - 1)) |
| #define | MX25V8035F_BLOCK32_SIZE (UINT32_C(32) * 1024) |
| #define | MX25V8035F_BLOCK64_SIZE (UINT32_C(64) * 1024) |
| #define | MX25V8035F_CFG_TB (1u << 3) /* 0=Top, 1=Bottom area protect */ |
| #define | MX25V8035F_CMD_BE 0xD8u /* Block Erase 64KB */ |
| #define | MX25V8035F_CMD_BE_32K 0x52u /* Block Erase 32KB */ |
| #define | MX25V8035F_CMD_CE 0x60u /* Chip Erase */ |
| #define | MX25V8035F_CMD_DP 0xB9u /* Deep Power Down */ |
| #define | MX25V8035F_CMD_ENSO 0xB1u /* Enter Secured OTP */ |
| #define | MX25V8035F_CMD_EXSO 0xC1u /* Exit Secured OTP */ |
| #define | MX25V8035F_CMD_FAST_READ 0x0Bu /* Fast read */ |
| #define | MX25V8035F_CMD_NOP 0x00u /* No operation */ |
| #define | MX25V8035F_CMD_PP 0x02u /* Page Program */ |
| #define | MX25V8035F_CMD_RDCR 0x15u /* Read Configuration Register */ |
| #define | MX25V8035F_CMD_RDID 0x9Fu /* Read Identification */ |
| #define | MX25V8035F_CMD_RDSCUR 0x2Bu /* Read Security Register */ |
| #define | MX25V8035F_CMD_RDSFDP 0x5Au /* Read SFDP */ |
| #define | MX25V8035F_CMD_RDSR 0x05u /* Read Status Register */ |
| #define | MX25V8035F_CMD_READ 0x03u /* Read */ |
| #define | MX25V8035F_CMD_REMS 0x90u /* Read Electronic Manu & Dev ID */ |
| #define | MX25V8035F_CMD_RES 0xABu /* Read Electronic ID */ |
| #define | MX25V8035F_CMD_RESUME 0x7Au /* PGM/ERS Resume */ |
| #define | MX25V8035F_CMD_RRE 0xFFu /* Release Read Enhanced */ |
| #define | MX25V8035F_CMD_RST 0x99u /* Reset Memory */ |
| #define | MX25V8035F_CMD_RSTEN 0x66u /* Reset Enable */ |
| #define | MX25V8035F_CMD_SBL 0xC0u /* Set Burst Length */ |
| #define | MX25V8035F_CMD_SE 0x20u /* Sector Erase */ |
| #define | MX25V8035F_CMD_SUSPEND 0x75u /* PGM/ERS Suspend */ |
| #define | MX25V8035F_CMD_WRDI 0x04u /* Write Disable */ |
| #define | MX25V8035F_CMD_WREN 0x06u /* Write Enable */ |
| #define | MX25V8035F_CMD_WRSCUR 0x2Fu /* Write Security Register */ |
| #define | MX25V8035F_CMD_WRSR 0x01u /* Write Status Register */ |
| #define | MX25V8035F_DEVICE_ID 0x2314u |
| #define | MX25V8035F_MANUFACTURER_ID 0xC2u |
| #define | MX25V8035F_PAGE_PER_BLOCK32 (MX25V8035F_BLOCK32_SIZE / MX25V8035F_PAGE_SIZE) |
| #define | MX25V8035F_PAGE_PER_BLOCK64 (MX25V8035F_BLOCK64_SIZE / MX25V8035F_PAGE_SIZE) |
| #define | MX25V8035F_PAGE_PER_SECTOR (MX25V8035F_SECTOR_SIZE / MX25V8035F_PAGE_SIZE) |
| #define | MX25V8035F_PAGE_SIZE UINT32_C(256) |
| #define | MX25V8035F_SCUR_E_FAIL (1u << 6) /* Erase Failed */ |
| #define | MX25V8035F_SCUR_ESB (1u << 3) /* Erase Suspend */ |
| #define | MX25V8035F_SCUR_LDSO (1u << 1) /* 1=Lock-Down (1st 4Kb) */ |
| #define | MX25V8035F_SCUR_OTP (1u << 0) /* 1=Factory lock (2nd 4Kb) */ |
| #define | MX25V8035F_SCUR_P_FAIL (1u << 5) /* Program Failed */ |
| #define | MX25V8035F_SCUR_PSB (1u << 2) /* Program Suspend */ |
| #define | MX25V8035F_SECTOR_PER_BLOCK32 (MX25V8035F_BLOCK32_SIZE / MX25V8035F_SECTOR_SIZE) |
| #define | MX25V8035F_SECTOR_PER_BLOCK64 (MX25V8035F_BLOCK64_SIZE / MX25V8035F_SECTOR_SIZE) |
| #define | MX25V8035F_SECTOR_SIZE UINT32_C(4096) |
| #define | MX25V8035F_STS_BP_MASK (15u << 2) /* the BP bits */ |
| #define | MX25V8035F_STS_QE (1u << 6) /* Quad Enable */ |
| #define | MX25V8035F_STS_SRWD (1u << 7) /* Status Regster Write Protect */ |
| #define | MX25V8035F_STS_WEL (1u << 1) /* Write Enable Latch */ |
| #define | MX25V8035F_STS_WIP (1u << 0) /* Write In Progress */ |
| #define _flash_mx25v8035f_h_ /* prevent multiple includes */ |
Definition at line 24 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_BLOCK32_BASE | ( | a | ) | ((a) & ~(MX25V8035F_BLOCK32_SIZE - 1)) |
Definition at line 110 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_BLOCK64_BASE | ( | a | ) | ((a) & ~(MX25V8035F_BLOCK64_SIZE - 1)) |
Definition at line 111 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PAGE_BASE | ( | a | ) | ((a) & ~(MX25V8035F_PAGE_SIZE - 1)) |
Definition at line 108 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_ALL 0x8F /* protect 16 blocks */ |
Definition at line 106 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_1 0x81 /* protect 1 block at bottom */ |
Definition at line 102 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_2 0x82 /* protect 2 blocks at bottom */ |
Definition at line 103 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_4 0x83 /* protect 4 blocks at bottom */ |
Definition at line 104 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_8 0x84 /* protect 8 blocks at bottom */ |
Definition at line 105 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_NONE 0x00 /* no blocks protected */ |
Definition at line 97 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_1 0x01 /* protect 1 block at top */ |
Definition at line 98 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_2 0x02 /* protect 2 blocks at top */ |
Definition at line 99 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_4 0x03 /* protect 4 blocks at top */ |
Definition at line 100 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_8 0x04 /* protect 8 blocks at top */ |
Definition at line 101 of file flash_mx25v8035f.h.
| #define MCCI_BOOTLOADER_MX25V8035F_SECTOR_BASE | ( | a | ) | ((a) & ~(MX25V8035F_SECTOR_SIZE - 1)) |
Definition at line 109 of file flash_mx25v8035f.h.
| #define MX25V8035F_BLOCK32_SIZE (UINT32_C(32) * 1024) |
Definition at line 89 of file flash_mx25v8035f.h.
| #define MX25V8035F_BLOCK64_SIZE (UINT32_C(64) * 1024) |
Definition at line 92 of file flash_mx25v8035f.h.
| #define MX25V8035F_CFG_TB (1u << 3) /* 0=Top, 1=Bottom area protect */ |
Definition at line 73 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_BE 0xD8u /* Block Erase 64KB */ |
Definition at line 41 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_BE_32K 0x52u /* Block Erase 32KB */ |
Definition at line 40 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_CE 0x60u /* Chip Erase */ |
Definition at line 42 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_DP 0xB9u /* Deep Power Down */ |
Definition at line 51 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_ENSO 0xB1u /* Enter Secured OTP */ |
Definition at line 56 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_EXSO 0xC1u /* Exit Secured OTP */ |
Definition at line 57 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_FAST_READ 0x0Bu /* Fast read */ |
Definition at line 37 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_NOP 0x00u /* No operation */ |
Definition at line 60 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_PP 0x02u /* Page Program */ |
Definition at line 38 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RDCR 0x15u /* Read Configuration Register */ |
Definition at line 47 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RDID 0x9Fu /* Read Identification */ |
Definition at line 53 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RDSCUR 0x2Bu /* Read Security Register */ |
Definition at line 58 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RDSFDP 0x5Au /* Read SFDP */ |
Definition at line 43 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RDSR 0x05u /* Read Status Register */ |
Definition at line 46 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_READ 0x03u /* Read */ |
Definition at line 36 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_REMS 0x90u /* Read Electronic Manu & Dev ID */ |
Definition at line 55 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RES 0xABu /* Read Electronic ID */ |
Definition at line 54 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RESUME 0x7Au /* PGM/ERS Resume */ |
Definition at line 50 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RRE 0xFFu /* Release Read Enhanced */ |
Definition at line 63 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RST 0x99u /* Reset Memory */ |
Definition at line 62 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_RSTEN 0x66u /* Reset Enable */ |
Definition at line 61 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_SBL 0xC0u /* Set Burst Length */ |
Definition at line 52 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_SE 0x20u /* Sector Erase */ |
Definition at line 39 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_SUSPEND 0x75u /* PGM/ERS Suspend */ |
Definition at line 49 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_WRDI 0x04u /* Write Disable */ |
Definition at line 45 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_WREN 0x06u /* Write Enable */ |
Definition at line 44 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_WRSCUR 0x2Fu /* Write Security Register */ |
Definition at line 59 of file flash_mx25v8035f.h.
| #define MX25V8035F_CMD_WRSR 0x01u /* Write Status Register */ |
Definition at line 48 of file flash_mx25v8035f.h.
| #define MX25V8035F_DEVICE_ID 0x2314u |
Definition at line 84 of file flash_mx25v8035f.h.
| #define MX25V8035F_MANUFACTURER_ID 0xC2u |
Definition at line 83 of file flash_mx25v8035f.h.
| #define MX25V8035F_PAGE_PER_BLOCK32 (MX25V8035F_BLOCK32_SIZE / MX25V8035F_PAGE_SIZE) |
Definition at line 91 of file flash_mx25v8035f.h.
| #define MX25V8035F_PAGE_PER_BLOCK64 (MX25V8035F_BLOCK64_SIZE / MX25V8035F_PAGE_SIZE) |
Definition at line 94 of file flash_mx25v8035f.h.
| #define MX25V8035F_PAGE_PER_SECTOR (MX25V8035F_SECTOR_SIZE / MX25V8035F_PAGE_SIZE) |
Definition at line 88 of file flash_mx25v8035f.h.
| #define MX25V8035F_PAGE_SIZE UINT32_C(256) |
Definition at line 86 of file flash_mx25v8035f.h.
| #define MX25V8035F_SCUR_E_FAIL (1u << 6) /* Erase Failed */ |
Definition at line 81 of file flash_mx25v8035f.h.
| #define MX25V8035F_SCUR_ESB (1u << 3) /* Erase Suspend */ |
Definition at line 79 of file flash_mx25v8035f.h.
| #define MX25V8035F_SCUR_LDSO (1u << 1) /* 1=Lock-Down (1st 4Kb) */ |
Definition at line 77 of file flash_mx25v8035f.h.
| #define MX25V8035F_SCUR_OTP (1u << 0) /* 1=Factory lock (2nd 4Kb) */ |
Definition at line 76 of file flash_mx25v8035f.h.
| #define MX25V8035F_SCUR_P_FAIL (1u << 5) /* Program Failed */ |
Definition at line 80 of file flash_mx25v8035f.h.
| #define MX25V8035F_SCUR_PSB (1u << 2) /* Program Suspend */ |
Definition at line 78 of file flash_mx25v8035f.h.
| #define MX25V8035F_SECTOR_PER_BLOCK32 (MX25V8035F_BLOCK32_SIZE / MX25V8035F_SECTOR_SIZE) |
Definition at line 90 of file flash_mx25v8035f.h.
| #define MX25V8035F_SECTOR_PER_BLOCK64 (MX25V8035F_BLOCK64_SIZE / MX25V8035F_SECTOR_SIZE) |
Definition at line 93 of file flash_mx25v8035f.h.
| #define MX25V8035F_SECTOR_SIZE UINT32_C(4096) |
Definition at line 87 of file flash_mx25v8035f.h.
| #define MX25V8035F_STS_BP_MASK (15u << 2) /* the BP bits */ |
Definition at line 68 of file flash_mx25v8035f.h.
| #define MX25V8035F_STS_QE (1u << 6) /* Quad Enable */ |
Definition at line 69 of file flash_mx25v8035f.h.
| #define MX25V8035F_STS_SRWD (1u << 7) /* Status Regster Write Protect */ |
Definition at line 70 of file flash_mx25v8035f.h.
| #define MX25V8035F_STS_WEL (1u << 1) /* Write Enable Latch */ |
Definition at line 67 of file flash_mx25v8035f.h.
| #define MX25V8035F_STS_WIP (1u << 0) /* Write In Progress */ |
Definition at line 66 of file flash_mx25v8035f.h.