SPI Flash AT45DBXXXD
Fork of at45db161d by
at45db161d_commands.h@0:2e953bbaf3a5, 2011-09-11 (annotated)
- Committer:
- okini3939
- Date:
- Sun Sep 11 06:12:15 2011 +0000
- Revision:
- 0:2e953bbaf3a5
- Child:
- 6:1872f591d604
AT45DB161D module
AT45DB161D (16Mbits, 2MB, 528B/block) /AT45DB081D (8Mbits, 1MB, 264B/block)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:2e953bbaf3a5 | 1 | /** |
okini3939 | 0:2e953bbaf3a5 | 2 | * @file at45db161d_commands.h |
okini3939 | 0:2e953bbaf3a5 | 3 | * @brief AT45DB161D commands opcodes |
okini3939 | 0:2e953bbaf3a5 | 4 | **/ |
okini3939 | 0:2e953bbaf3a5 | 5 | #ifndef AT45DB161D_COMMANDS_H |
okini3939 | 0:2e953bbaf3a5 | 6 | #define AT45DB161D_COMMANDS_H |
okini3939 | 0:2e953bbaf3a5 | 7 | |
okini3939 | 0:2e953bbaf3a5 | 8 | /** |
okini3939 | 0:2e953bbaf3a5 | 9 | * @defgroup AT45DB161D_commands AT45DB161D commands opcodes |
okini3939 | 0:2e953bbaf3a5 | 10 | * @{ |
okini3939 | 0:2e953bbaf3a5 | 11 | **/ |
okini3939 | 0:2e953bbaf3a5 | 12 | |
okini3939 | 0:2e953bbaf3a5 | 13 | /** |
okini3939 | 0:2e953bbaf3a5 | 14 | * @defgroup Read_commands Read commands |
okini3939 | 0:2e953bbaf3a5 | 15 | * @{ |
okini3939 | 0:2e953bbaf3a5 | 16 | **/ |
okini3939 | 0:2e953bbaf3a5 | 17 | /** Main Memory Page Read */ |
okini3939 | 0:2e953bbaf3a5 | 18 | #define AT45DB161D_PAGE_READ 0xD2 |
okini3939 | 0:2e953bbaf3a5 | 19 | /** Continuous Array Read (Low Frequency) **/ |
okini3939 | 0:2e953bbaf3a5 | 20 | #define AT45DB161D_CONTINUOUS_READ_LOW_FREQ 0x03 |
okini3939 | 0:2e953bbaf3a5 | 21 | /** Continuous Array Read (High Frequency) **/ |
okini3939 | 0:2e953bbaf3a5 | 22 | #define AT45DB161D_CONTINUOUS_READ_HIGH_FREQ 0x0B |
okini3939 | 0:2e953bbaf3a5 | 23 | /** Buffer 1 Read (Low Frequency) **/ |
okini3939 | 0:2e953bbaf3a5 | 24 | #define AT45DB161D_BUFFER_1_READ_LOW_FREQ 0xD1 |
okini3939 | 0:2e953bbaf3a5 | 25 | /** Buffer 2 Read (Low Frequency) **/ |
okini3939 | 0:2e953bbaf3a5 | 26 | #define AT45DB161D_BUFFER_2_READ_LOW_FREQ 0xD3 |
okini3939 | 0:2e953bbaf3a5 | 27 | /** Buffer 1 Read **/ |
okini3939 | 0:2e953bbaf3a5 | 28 | #define AT45DB161D_BUFFER_1_READ 0xD4 |
okini3939 | 0:2e953bbaf3a5 | 29 | /** Buffer 2 Read **/ |
okini3939 | 0:2e953bbaf3a5 | 30 | #define AT45DB161D_BUFFER_2_READ 0xD6 |
okini3939 | 0:2e953bbaf3a5 | 31 | /** |
okini3939 | 0:2e953bbaf3a5 | 32 | * @} |
okini3939 | 0:2e953bbaf3a5 | 33 | **/ |
okini3939 | 0:2e953bbaf3a5 | 34 | |
okini3939 | 0:2e953bbaf3a5 | 35 | /** |
okini3939 | 0:2e953bbaf3a5 | 36 | * @defgroup Program_Erase_commands Program and Erase commands |
okini3939 | 0:2e953bbaf3a5 | 37 | * @{ |
okini3939 | 0:2e953bbaf3a5 | 38 | **/ |
okini3939 | 0:2e953bbaf3a5 | 39 | /** Buffer 1 Write **/ |
okini3939 | 0:2e953bbaf3a5 | 40 | #define AT45DB161D_BUFFER_1_WRITE 0x84 |
okini3939 | 0:2e953bbaf3a5 | 41 | /** Buffer 2 Write **/ |
okini3939 | 0:2e953bbaf3a5 | 42 | #define AT45DB161D_BUFFER_2_WRITE 0x87 |
okini3939 | 0:2e953bbaf3a5 | 43 | /** Buffer 1 to Main Memory Page Program with Built-in Erase **/ |
okini3939 | 0:2e953bbaf3a5 | 44 | #define AT45DB161D_BUFFER_1_TO_PAGE_WITH_ERASE 0x83 |
okini3939 | 0:2e953bbaf3a5 | 45 | /** Buffer 2 to Main Memory Page Program with Built-in Erase **/ |
okini3939 | 0:2e953bbaf3a5 | 46 | #define AT45DB161D_BUFFER_2_TO_PAGE_WITH_ERASE 0x86 |
okini3939 | 0:2e953bbaf3a5 | 47 | /** Buffer 1 to Main Memory Page Program without Built-in Erase **/ |
okini3939 | 0:2e953bbaf3a5 | 48 | #define AT45DB161D_BUFFER_1_TO_PAGE_WITHOUT_ERASE 0x88 |
okini3939 | 0:2e953bbaf3a5 | 49 | /** Buffer 2 to Main Memory Page Program without Built-in Erase **/ |
okini3939 | 0:2e953bbaf3a5 | 50 | #define AT45DB161D_BUFFER_2_TO_PAGE_WITHOUT_ERASE 0x89 |
okini3939 | 0:2e953bbaf3a5 | 51 | /** Page Erase **/ |
okini3939 | 0:2e953bbaf3a5 | 52 | #define AT45DB161D_PAGE_ERASE 0x81 |
okini3939 | 0:2e953bbaf3a5 | 53 | /** Block Erase **/ |
okini3939 | 0:2e953bbaf3a5 | 54 | #define AT45DB161D_BLOCK_ERASE 0x50 |
okini3939 | 0:2e953bbaf3a5 | 55 | /** Sector Erase **/ |
okini3939 | 0:2e953bbaf3a5 | 56 | #define AT45DB161D_SECTOR_ERASE 0x7C |
okini3939 | 0:2e953bbaf3a5 | 57 | /** Chip Erase Sequence **/ |
okini3939 | 0:2e953bbaf3a5 | 58 | #define AT45DB161D_CHIP_ERASE_0 0xC7 |
okini3939 | 0:2e953bbaf3a5 | 59 | #define AT45DB161D_CHIP_ERASE_1 0x94 |
okini3939 | 0:2e953bbaf3a5 | 60 | #define AT45DB161D_CHIP_ERASE_2 0x80 |
okini3939 | 0:2e953bbaf3a5 | 61 | #define AT45DB161D_CHIP_ERASE_3 0x9A |
okini3939 | 0:2e953bbaf3a5 | 62 | /** Main Memory Page Program Through Buffer 1 **/ |
okini3939 | 0:2e953bbaf3a5 | 63 | #define AT45DB161D_PAGE_THROUGH_BUFFER_1 0x82 |
okini3939 | 0:2e953bbaf3a5 | 64 | /** Main Memory Page Program Through Buffer 2 **/ |
okini3939 | 0:2e953bbaf3a5 | 65 | #define AT45DB161D_PAGE_THROUGH_BUFFER_2 0x85 |
okini3939 | 0:2e953bbaf3a5 | 66 | /** |
okini3939 | 0:2e953bbaf3a5 | 67 | * @} |
okini3939 | 0:2e953bbaf3a5 | 68 | **/ |
okini3939 | 0:2e953bbaf3a5 | 69 | |
okini3939 | 0:2e953bbaf3a5 | 70 | /** |
okini3939 | 0:2e953bbaf3a5 | 71 | * @defgroup ProtectionSecurity_Commands Protection and Security Commands |
okini3939 | 0:2e953bbaf3a5 | 72 | * @warning UNIMPLEMENTED |
okini3939 | 0:2e953bbaf3a5 | 73 | * @{ |
okini3939 | 0:2e953bbaf3a5 | 74 | **/ |
okini3939 | 0:2e953bbaf3a5 | 75 | #ifdef AT45DB161D_EXPERT_MODE |
okini3939 | 0:2e953bbaf3a5 | 76 | /* Use the following commands at your own risk ! */ |
okini3939 | 0:2e953bbaf3a5 | 77 | /** Enable Sector Protection **/ |
okini3939 | 0:2e953bbaf3a5 | 78 | #define AT45DB161D_ENABLE_SECTOR_PROTECTION_0 0x3D |
okini3939 | 0:2e953bbaf3a5 | 79 | #define AT45DB161D_ENABLE_SECTOR_PROTECTION_1 0x2A |
okini3939 | 0:2e953bbaf3a5 | 80 | #define AT45DB161D_ENABLE_SECTOR_PROTECTION_2 0x7F |
okini3939 | 0:2e953bbaf3a5 | 81 | #define AT45DB161D_ENABLE_SECTOR_PROTECTION_3 0xA9 |
okini3939 | 0:2e953bbaf3a5 | 82 | /** Disable Sector Protection **/ |
okini3939 | 0:2e953bbaf3a5 | 83 | #define AT45DB161D_DISABLE_SECTOR_PROTECTION_0 0x3D |
okini3939 | 0:2e953bbaf3a5 | 84 | #define AT45DB161D_DISABLE_SECTOR_PROTECTION_1 0x2A |
okini3939 | 0:2e953bbaf3a5 | 85 | #define AT45DB161D_DISABLE_SECTOR_PROTECTION_2 0x7F |
okini3939 | 0:2e953bbaf3a5 | 86 | #define AT45DB161D_DISABLE_SECTOR_PROTECTION_3 0x9A |
okini3939 | 0:2e953bbaf3a5 | 87 | /** Erase Sector Protection Register **/ |
okini3939 | 0:2e953bbaf3a5 | 88 | #define AT45DB161D_ERASE_SECTOR_PROTECTION_REGISTER_0 0x3D |
okini3939 | 0:2e953bbaf3a5 | 89 | #define AT45DB161D_ERASE_SECTOR_PROTECTION_REGISTER_0 0x2A |
okini3939 | 0:2e953bbaf3a5 | 90 | #define AT45DB161D_ERASE_SECTOR_PROTECTION_REGISTER_0 0x7F |
okini3939 | 0:2e953bbaf3a5 | 91 | #define AT45DB161D_ERASE_SECTOR_PROTECTION_REGISTER_0 0xCF |
okini3939 | 0:2e953bbaf3a5 | 92 | /** Program Sector Protection Register **/ |
okini3939 | 0:2e953bbaf3a5 | 93 | #define AT45DB161D_PROGRAM_SECTOR_PROTECTION_REGISTER_0 0x3D |
okini3939 | 0:2e953bbaf3a5 | 94 | #define AT45DB161D_PROGRAM_SECTOR_PROTECTION_REGISTER_1 0x2A |
okini3939 | 0:2e953bbaf3a5 | 95 | #define AT45DB161D_PROGRAM_SECTOR_PROTECTION_REGISTER_2 0x7F |
okini3939 | 0:2e953bbaf3a5 | 96 | #define AT45DB161D_PROGRAM_SECTOR_PROTECTION_REGISTER_3 0xFC |
okini3939 | 0:2e953bbaf3a5 | 97 | /** Sector Lockdown **/ |
okini3939 | 0:2e953bbaf3a5 | 98 | #define AT45DB161D_SECTOR_LOCKDOWN_0 0X3D |
okini3939 | 0:2e953bbaf3a5 | 99 | #define AT45DB161D_SECTOR_LOCKDOWN_1 0x2A |
okini3939 | 0:2e953bbaf3a5 | 100 | #define AT45DB161D_SECTOR_LOCKDOWN_2 0x7F |
okini3939 | 0:2e953bbaf3a5 | 101 | #define AT45DB161D_SECTOR_LOCKDOWN_3 0x30 |
okini3939 | 0:2e953bbaf3a5 | 102 | /** Program Security Register **/ |
okini3939 | 0:2e953bbaf3a5 | 103 | #define AT45DB161D_PROGRAM_SECURITY_REGISTER_0 0x9B |
okini3939 | 0:2e953bbaf3a5 | 104 | #define AT45DB161D_PROGRAM_SECURITY_REGISTER_1 0x00 |
okini3939 | 0:2e953bbaf3a5 | 105 | #define AT45DB161D_PROGRAM_SECURITY_REGISTER_2 0x00 |
okini3939 | 0:2e953bbaf3a5 | 106 | #define AT45DB161D_PROGRAM_SECURITY_REGISTER_3 0x00 |
okini3939 | 0:2e953bbaf3a5 | 107 | #endif /* AT45DB161D_EXPERT_MODE */ |
okini3939 | 0:2e953bbaf3a5 | 108 | |
okini3939 | 0:2e953bbaf3a5 | 109 | /** Read Sector Protection Register **/ |
okini3939 | 0:2e953bbaf3a5 | 110 | #define AT45DB161D_READ_SECTOR_PROTECTION_REGISTER 0x32 |
okini3939 | 0:2e953bbaf3a5 | 111 | /** Read Sector Lockdown Register **/ |
okini3939 | 0:2e953bbaf3a5 | 112 | #define AT45DB161D_READ_SECTOR_LOCKDOWN_REGISTER 35H |
okini3939 | 0:2e953bbaf3a5 | 113 | /** Read Security Register **/ |
okini3939 | 0:2e953bbaf3a5 | 114 | #define AT45DB161D_READ_SECURITY_REGISTER 0x77 |
okini3939 | 0:2e953bbaf3a5 | 115 | /** |
okini3939 | 0:2e953bbaf3a5 | 116 | * @} |
okini3939 | 0:2e953bbaf3a5 | 117 | **/ |
okini3939 | 0:2e953bbaf3a5 | 118 | |
okini3939 | 0:2e953bbaf3a5 | 119 | /** |
okini3939 | 0:2e953bbaf3a5 | 120 | * @defgroup Additional_commands Additional Commands |
okini3939 | 0:2e953bbaf3a5 | 121 | * @{ |
okini3939 | 0:2e953bbaf3a5 | 122 | **/ |
okini3939 | 0:2e953bbaf3a5 | 123 | /** Main Memory Page to Buffer 1 Transfer **/ |
okini3939 | 0:2e953bbaf3a5 | 124 | #define AT45DB161D_TRANSFER_PAGE_TO_BUFFER_1 0x53 |
okini3939 | 0:2e953bbaf3a5 | 125 | /** Main Memory Page to Buffer 2 Transfer **/ |
okini3939 | 0:2e953bbaf3a5 | 126 | #define AT45DB161D_TRANSFER_PAGE_TO_BUFFER_2 0x55 |
okini3939 | 0:2e953bbaf3a5 | 127 | /** Main Memory Page to Buffer 1 Compare **/ |
okini3939 | 0:2e953bbaf3a5 | 128 | #define AT45DB161D_COMPARE_PAGE_TO_BUFFER_1 0x60 |
okini3939 | 0:2e953bbaf3a5 | 129 | /** Main Memory Page to Buffer 2 Compare **/ |
okini3939 | 0:2e953bbaf3a5 | 130 | #define AT45DB161D_COMPARE_PAGE_TO_BUFFER_2 0x61 |
okini3939 | 0:2e953bbaf3a5 | 131 | /** Auto Page Rewrite through Buffer 1 **/ |
okini3939 | 0:2e953bbaf3a5 | 132 | #define AT45DB161D_AUTO_PAGE_REWRITE_THROUGH_BUFFER_1 0x58 |
okini3939 | 0:2e953bbaf3a5 | 133 | /** Auto Page Rewrite through Buffer 2 **/ |
okini3939 | 0:2e953bbaf3a5 | 134 | #define AT45DB161D_AUTO_PAGE_REWRITE_THROUGH_BUFFER_2 0x59 |
okini3939 | 0:2e953bbaf3a5 | 135 | /** Deep Power-down **/ |
okini3939 | 0:2e953bbaf3a5 | 136 | #define AT45DB161D_DEEP_POWER_DOWN 0xB9 |
okini3939 | 0:2e953bbaf3a5 | 137 | /** Resume from Deep Power-down **/ |
okini3939 | 0:2e953bbaf3a5 | 138 | #define AT45DB161D_RESUME_FROM_DEEP_POWER_DOWN 0xAB |
okini3939 | 0:2e953bbaf3a5 | 139 | /** Status Register Read **/ |
okini3939 | 0:2e953bbaf3a5 | 140 | #define AT45DB161D_STATUS_REGISTER_READ 0xD7 |
okini3939 | 0:2e953bbaf3a5 | 141 | /** Manufacturer and Device ID Read **/ |
okini3939 | 0:2e953bbaf3a5 | 142 | #define AT45DB161D_READ_MANUFACTURER_AND_DEVICE_ID 0x9F |
okini3939 | 0:2e953bbaf3a5 | 143 | /** |
okini3939 | 0:2e953bbaf3a5 | 144 | * @} |
okini3939 | 0:2e953bbaf3a5 | 145 | **/ |
okini3939 | 0:2e953bbaf3a5 | 146 | |
okini3939 | 0:2e953bbaf3a5 | 147 | /** |
okini3939 | 0:2e953bbaf3a5 | 148 | * @defgroup Legacy_commands Legacy Commands |
okini3939 | 0:2e953bbaf3a5 | 149 | * @{ |
okini3939 | 0:2e953bbaf3a5 | 150 | **/ |
okini3939 | 0:2e953bbaf3a5 | 151 | /** Buffer 1 Read **/ |
okini3939 | 0:2e953bbaf3a5 | 152 | #define AT45DB161D_BUFFER_1_READ_LEGACY 0X54 |
okini3939 | 0:2e953bbaf3a5 | 153 | /** Buffer 2 Read **/ |
okini3939 | 0:2e953bbaf3a5 | 154 | #define AT45DB161D_BUFFER_2_READ_LEGACY 0x56 |
okini3939 | 0:2e953bbaf3a5 | 155 | /** Main Memory Page Read **/ |
okini3939 | 0:2e953bbaf3a5 | 156 | #define AT45DB161D_PAGE_READ_LEGACY 0x52 |
okini3939 | 0:2e953bbaf3a5 | 157 | /** Continuous Array Read **/ |
okini3939 | 0:2e953bbaf3a5 | 158 | #define AT45DB161D_CONTINUOUS_READ_LEGACY 0x68 |
okini3939 | 0:2e953bbaf3a5 | 159 | /** Status Register Read **/ |
okini3939 | 0:2e953bbaf3a5 | 160 | #define AT45DB161D_STATUS_REGISTER_READ_LEGACY 0x57 |
okini3939 | 0:2e953bbaf3a5 | 161 | /** |
okini3939 | 0:2e953bbaf3a5 | 162 | * @} |
okini3939 | 0:2e953bbaf3a5 | 163 | **/ |
okini3939 | 0:2e953bbaf3a5 | 164 | |
okini3939 | 0:2e953bbaf3a5 | 165 | /** |
okini3939 | 0:2e953bbaf3a5 | 166 | * @} |
okini3939 | 0:2e953bbaf3a5 | 167 | **/ |
okini3939 | 0:2e953bbaf3a5 | 168 | |
okini3939 | 0:2e953bbaf3a5 | 169 | #endif /* AT45DB161D_COMMANDS_H */ |