| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- // Ôàéë ñ îïðåäåëåíèÿìè ôîðìàòîâ ïàêåòîâ íèçêîóðîâíåâûõ êîììàíäàìè äëÿ AT45DB161E.
- // v 1.0 îò 16/07/15
- // Àâòîð: Ñû÷åâ À.
- #ifndef W25Q16JV_LL_H
- #define W25Q16JV_LL_H
- #if (!defined(W25Q16JV_LOWLEVEL) && !defined(W25Q16JV_APILEVEL))
- #error FLASH HAL: âû ïîäêëþ÷èëè çàãîëîâî÷íûé ôàéë äëÿ íèçêîóðîâíåâûõ îïåðàöèé.
- #endif
- #if (defined(W25Q16JV_LOWLEVEL) || defined(W25Q16JV_APILEVEL))
- #include "drivers\flash\base\flash_api_types.h"
- #include "drivers\flash\w25q\lowlevel\W25Q16JV_GLOB.h" // îïðåäåëåíèÿ äëÿ AT45DB161E
- __flash_protectionregister_t * __flash_internal_getbuffer_protect();
- //__FLASH_BYTE * __flash_internal_getbuffer_page();
- #endif
- #ifdef W25Q16JV_LOWLEVEL
- #define __FLASH_LL_FILLADDRESS(pack, addr)\
- { pack->addr_23_16 = (addr)>>16; \
- pack->addr_15_8 = (addr)>>8; \
- pack->addr_7_0 = (addr)&0xFF; }
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÎÑËÅÄÎÂÀÒÅËÜÍÎÅ ×ÒÅÍÈÅ (ÁÛÑÒÐÎÅ)
- __FLASH_BYTE addr_23_16; // Àäðåñ A23..A16
- __FLASH_BYTE addr_15_8; // Àäðåñ A15..A08
- __FLASH_BYTE addr_7_0; // Àäðåñ A07..A00
- }
- __flash_packet_arrayreadfast_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÎÑËÅÄÎÂÀÒÅËÜÍÎÅ ×ÒÅÍÈÅ
- __FLASH_BYTE addr_23_16; // Àäðåñ A23..A16
- __FLASH_BYTE addr_15_8; // Àäðåñ A15..A08
- __FLASH_BYTE addr_7_0; // Àäðåñ A07..A00
- }
- __flash_packet_arrayread_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÇÀÏÈÑÜ ÑÒÐÀÍÈÖÛ
- __FLASH_BYTE addr_23_16; // Àäðåñ A23..A16
- __FLASH_BYTE addr_15_8; // Àäðåñ A15..A08
- __FLASH_BYTE addr_7_0; // Àäðåñ A07..A00
- }
- __flash_packet_page_program_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÑÒÈÐÀÍÈÅ ÑÒÐÀÍÈÖÛ
- __FLASH_BYTE addr_23_16; // Àäðåñ A23..A16
- __FLASH_BYTE addr_15_8; // Àäðåñ A15..A08
- __FLASH_BYTE addr_7_0; // Àäðåñ A07..A00
- }
- __flash_packet_pageerase_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÑÒÈÐÀÍÈÅ ÁËÎÊÀ (=ÑÒÐÀÍÈÖÀ)
- __FLASH_BYTE addr_23_16; // Àäðåñ A23..A16
- __FLASH_BYTE addr_15_8; // Àäðåñ A15..A08
- __FLASH_BYTE addr_7_0; // Àäðåñ A07..A00
- }
- __flash_packet_blockerase_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÑÒÈÐÀÍÈÅ ÑÅÊÒÎÐÀ
- __FLASH_BYTE addr_23_16; // Àäðåñ A23..A16
- __FLASH_BYTE addr_15_8; // Àäðåñ A15..A08
- __FLASH_BYTE addr_7_0; // Àäðåñ A07..A00
- }
- __flash_packet_sectorerase_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà áëîêèðîâêè/ðàçáëîêèðîâêè âñåõ Lock-áèòîâ ñåêòîðîâ
- }
- __flash_packet_globallockcontrol_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ðàçðåøåíèÿ/çàïðåùåíèÿ çàïèñè
- }
- __flash_packet_writecontrol_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ×ÒÅÍÈÅ ÑÒÀÒÓÑÀ
- }
- __flash_packet_statusread_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÇÀÏÈÑÜ ÑÒÀÒÓÑÀ
- __FLASH_BYTE status; // êîìàíäà ÇÀÏÈÑÜ ÑÒÀÒÓÑÀ
- }
- __flash_packet_statuswrite_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÅÐÅÕÎÄ â ñïÿùèé ðåæèì
- }
- __flash_packet_powerdown_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÂÎÇÂÐÀÒ èç ñïÿùåãî ðåæèìà
- }
- __flash_packet_powerup_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÎËÓ×ÈÒÜ èäåíòèôèêàòîð ïðîèçâîäèòåëÿ
- }
- __flash_packet_manufactureridread_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÎËÓ×ÈÒÜ SFDP ðåãèñòð
- __FLASH_BYTE zero1; // =0
- __FLASH_BYTE zero2; // =0
- __FLASH_BYTE offset; // ñìåùåíèå â áàéòàõ ðåãèñòðà SDFP
- __FLASH_BYTE dummy; // òðåáóåòñÿ ïåðåäàòü ôèêòèâíûé áàéò
- }
- __flash_packet_sfdp_read_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÎËÓ×ÈÒÜ Unique ID
- __FLASH_BYTE zero1; // òðåáóåòñÿ ïåðåäàòü ôèêòèâíûé áàéò
- __FLASH_BYTE zero2; // òðåáóåòñÿ ïåðåäàòü ôèêòèâíûé áàéò
- __FLASH_BYTE zero3; // òðåáóåòñÿ ïåðåäàòü ôèêòèâíûé áàéò
- __FLASH_BYTE zero4; // òðåáóåòñÿ ïåðåäàòü ôèêòèâíûé áàéò
- }
- __flash_packet_uid_read_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÑÒÅÐÅÒÜ ÐÅÃÈÑÒÐ ÁÅÇÎÏÀÑÍÎÑÒÈ
- __FLASH_BYTE zero; // =0
- __FLASH_BYTE zero_2 : 4; // =0
- __FLASH_BYTE regSelector : 4; // âûáîð ðåãèñòðà: 0x1 = Register #1, ... 0x3 = Register #3
- __FLASH_BYTE zero_3; // =0
- }
- __flash_packet_securityregistererase_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÇÀÏÈÑÀÒÜ ÐÅÃÈÑÒÐ ÁÅÇÎÏÀÑÍÎÑÒÈ
- __FLASH_BYTE zero; // =0
- __FLASH_BYTE zero_2 : 4; // =0
- __FLASH_BYTE regSelector : 4; // âûáîð ðåãèñòðà: 0x1 = Register #1, ... 0x3 = Register #3
- __FLASH_BYTE byteSelector; // =0
- }
- __flash_packet_securityregisterwrite_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÐÎ×ÈÒÀÒÜ ÐÅÃÈÑÒÐ ÁÅÇÎÏÀÑÍÎÑÒÈ
- __FLASH_BYTE zero; // =0
- __FLASH_BYTE zero_2 : 4; // =0
- __FLASH_BYTE regSelector : 4; // âûáîð ðåãèñòðà: 0x1 = Register #1, ... 0x3 = Register #3
- __FLASH_BYTE byteSelector; // íà÷àëüíûé àäðåñ áàéòà ðåãèñòðà
- }
- __flash_packet_securityregisterread_t; // [W25Q OK]
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÇÀÏÈÑÀÒÜ ÈÍÄÈÂÈÄÓÀËÜÍÓÞ ÁËÎÊÈÐÎÂÊÓ
- __FLASH_BYTE addr_23_16; // Àäðåñ A23..A16
- __FLASH_BYTE addr_15_8; // Àäðåñ A15..A08
- __FLASH_BYTE addr_7_0; // Àäðåñ A07..A00
- }
- __flash_packet_protectregister_rw_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #endif
- #endif
|