| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697 |
- // Ôàéë ñ îïðåäåëåíèÿìè ôîðìàòîâ ïàêåòîâ íèçêîóðîâíåâûõ êîììàíäàìè äëÿ AT45DB161E.
- // v 1.0 îò 16/07/15
- // Àâòîð: Ñû÷åâ À.
- #ifndef AT45DB161E_LL_H
- #define AT45DB161E_LL_H
- #if (!defined(AT45DB161E_LOWLEVEL) && !defined(AT45DB161E_APILEVEL))
- #error FLASH HAL: âû ïîäêëþ÷èëè çàãîëîâî÷íûé ôàéë äëÿ íèçêîóðîâíåâûõ îïåðàöèé.
- #endif
- #if (defined(AT45DB161E_LOWLEVEL) || defined(AT45DB161E_APILEVEL))
- #include "drivers\flash\base\flash_api_types.h"
- #include "drivers\flash\at45\lowlevel\AT45DB161E_GLOB.h" // îïðåäåëåíèÿ äëÿ AT45DB161E
- __flash_protectionregister_t * __flash_internal_getbuffer_protect();
- //__FLASH_BYTE * __flash_internal_getbuffer_page();
- #endif
- #ifdef AT45DB161E_LOWLEVEL
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ×ÒÅÍÈÅ ÑÒÐÀÍÈÖÛ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- __FLASH_DWORD __reserved2; // îáÿçàòåëüíûå don't care bytes
- }
- __flash_packet_pageread_direct_t;
- typedef struct
- {
- __FLASH_DWORD __reserved2; // îáÿçàòåëüíûå don't care bytes
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ×ÒÅÍÈÅ ÑÒÐÀÍÈÖÛ
- }
- __flash_packet_pageread_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #ifdef AT45DB161E_PRM512
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD opcode; // êîìàíäà ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ ÊÎÍÔÈÃÓÐÀÖÈÎÍÍÎÃÎ ÐÅÃÈÑÒÐÀ
- }
- __flash_packet_pagecnfg_t;
- #pragma pack( pop )
- #endif
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #ifndef AT45DB161E_EMU512
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD __reserved2; // îáÿçàòåëüíûå don't care bytes
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÏÎÑËÅÄÎÂÀÒÅËÜÍÎÅ ×ÒÅÍÈÅ
- }
- __flash_packet_arrayread_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÏÎÑËÅÄÎÂÀÒÅËÜÍÎÅ ×ÒÅÍÈÅ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- __FLASH_DWORD __reserved2; // îáÿçàòåëüíûå don't care bytes
- }
- __flash_packet_arrayread_direct_t;
- #pragma pack( pop )
- #endif
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 15; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 14; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ×ÒÅÍÈÅ ÁÓÔÅÐÀ
- }
- __flash_packet_bufferread_slow_t; // up to 33MHz
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ×ÒÅÍÈÅ ÁÓÔÅÐÀ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 15; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 14; // don't care bit (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- }
- __flash_packet_bufferread_slow_direct_t; // up to 33MHz
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE __reserved2; // îáÿçàòåëüíûé don't care byte
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 15; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 14; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ×ÒÅÍÈÅ ÁÓÔÅÐÀ
- }
- __flash_packet_bufferread_fast_t; // up to 66MHz
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ×ÒÅÍÈÅ ÁÓÔÅÐÀ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 15; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 14; // don't care bit (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- __FLASH_BYTE __reserved2; // îáÿçàòåëüíûé don't care byte
- }
- __flash_packet_bufferread_fast_direct_t; // up to 66MHz
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 15; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 14; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÇÀÏÈÑÜ ÁÓÔÅÐÀ
- }
- __flash_packet_bufferwrite_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÇÀÏÈÑÜ ÁÓÔÅÐÀ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 15; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 14; // don't care bits (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â ñòðàíèöå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â ñòðàíèöå (ðåæèì 528)
- #endif
- }
- __flash_packet_bufferwrite_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ çàïèñè
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ ÁÓÔÅÐÀ
- }
- __flash_packet_bufferprogram_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ ÁÓÔÅÐÀ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ çàïèñè
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- }
- __flash_packet_bufferprogram_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ çàïèñè
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÒÈÐÀÍÈÅ ÑÒÐÀÍÈÖÛ
- }
- __flash_packet_pageerase_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÒÈÐÀÍÈÅ ÑÒÐÀÍÈÖÛ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ çàïèñè
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- }
- __flash_packet_pageerase_directt;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 12; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 13; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD block : 10; // íîìåð áëîêà äëÿ ñòèðàíèÿ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÒÈÐÀÍÈÅ ÁËÎÊÀ
- }
- __flash_packet_blockerase_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÒÈÐÀÍÈÅ ÁËÎÊÀ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD block : 10; // íîìåð áëîêà äëÿ ñòèðàíèÿ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 12; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 13; // don't care bits (ðåæèì 528)
- #endif
- }
- __flash_packet_blockerase_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved3: 12; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved3: 13; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD subsector: 1; // íîìåð ïîäñåêòîðà 0 èëè 1
- __FLASH_DWORD __reserved2: 9; // ÷àñòü íîìåðà ñòðàíèöû. Äëÿ ñåêòîðà 0 äîëæíà áûòü 0
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÒÈÐÀÍÈÅ ÁËÎÊÀ
- }
- __flash_packet_sector0erase_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÒÈÐÀÍÈÅ ÁËÎÊÀ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD __reserved2: 9; // ÷àñòü íîìåðà ñòðàíèöû. Äëÿ ñåêòîðà 0 äîëæíà áûòü 0
- __FLASH_DWORD subsector: 1; // íîìåð ïîäñåêòîðà 0 èëè 1
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved3: 12; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved3: 13; // don't care bits (ðåæèì 528)
- #endif
- }
- __flash_packet_sector0erase_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 16; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 17; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD sector : 6; // íîìåð ÑÅÊÒÎÐÀ äëÿ ñòèðàíèÿ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÒÈÐÀÍÈÅ ÁËÎÊÀ
- }
- __flash_packet_sectorerase_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÒÈÐÀÍÈÅ ÁËÎÊÀ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bit (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bit (ðåæèì 528)
- #endif
- __FLASH_DWORD sector : 6; // íîìåð ÑÅÊÒÎÐÀ äëÿ ñòèðàíèÿ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 16; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 17; // don't care bits (ðåæèì 528)
- #endif
- }
- __flash_packet_sectorerase_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD offset : 9; // ñìåùåíèå â áóôåðå (ðåæèì 512)
- #else
- __FLASH_DWORD offset : 10; // ñìåùåíèå â áóôåðå (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ çàïèñè (ðåæèì 512)
- #else
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ çàïèñè (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÇÀÏÈÑÜ ÑÒÐÀÍÈÖÛ ÷åðåç ÁÓÔÅÐ
- }
- __flash_packet_pagewriteviabuffer_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÇÀÏÈÑÜ ÑÒÐÀÍÈÖÛ ÷åðåç ÁÓÔÅÐ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bits (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ çàïèñè (ðåæèì 512)
- __FLASH_DWORD offset : 9; // ñìåùåíèå â áóôåðå (ðåæèì 512)
- #else
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ çàïèñè (ðåæèì 528)
- __FLASH_DWORD offset : 10; // ñìåùåíèå â áóôåðå (ðåæèì 528)
- #endif
- }
- __flash_packet_pagewriteviabuffer_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ÷òåíèÿ (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ÷òåíèÿ (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÇÀÏÎËÍÈÒÜ ÁÓÔÅÐ èç ÑÒÐÀÍÈÖÛ
- }
- __flash_packet_bufferload_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÇÀÏÎËÍÈÒÜ ÁÓÔÅÐ èç ÑÒÐÀÍÈÖÛ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bits (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ÷òåíèÿ (ðåæèì 512)
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ÷òåíèÿ (ðåæèì 528)
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- }
- __flash_packet_bufferload_t_direct;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ñðàâíåíèÿ (ðåæèì 512)
- #else
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ñðàâíåíèÿ (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÐÀÂÍÅÍÈÅ ÁÓÔÅÐÀ
- }
- __flash_packet_buffercompare_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÑÐÀÂÍÅÍÈÅ ÁÓÔÅÐÀ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bits (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ñðàâíåíèÿ (ðåæèì 512)
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ñðàâíåíèÿ (ðåæèì 528)
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- }
- __flash_packet_buffercompare_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ñðàâíåíèÿ (ðåæèì 512)
- #else
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ñðàâíåíèÿ (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bits (ðåæèì 528)
- #endif
- __FLASH_DWORD opcode : 8; // êîìàíäà ÎÁÍÎÂËÅÍÈÅ ÑÒÐÀÍÈÖÛ
- }
- __flash_packet_autopagerewrite_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÎÁÍÎÂËÅÍÈÅ ÑÒÐÀÍÈÖÛ
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD __reserved : 2; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD __reserved : 1; // don't care bits (ðåæèì 528)
- #endif
- #ifdef AT45DB161E_PRM512
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ñðàâíåíèÿ (ðåæèì 512)
- __FLASH_DWORD __reserved2: 9; // don't care bits (ðåæèì 512)
- #else
- __FLASH_DWORD page : 13; // íîìåð ñòðàíèöû äëÿ ñðàâíåíèÿ (ðåæèì 528)
- __FLASH_DWORD __reserved2: 10; // don't care bits (ðåæèì 528)
- #endif
- }
- __flash_packet_autopagerewrite_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ×ÒÅÍÈÅ ÑÒÀÒÓÑÀ
- }
- __flash_packet_statusread_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÅÐÅÕÎÄ â ñïÿùèé ðåæèì
- }
- __flash_packet_powerdown_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÂÎÇÂÐÀÒ èç ñïÿùåãî ðåæèìà
- }
- __flash_packet_powerup_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE opcode; // êîìàíäà ÏÎËÓ×ÈÒÜ èäåíòèôèêàòîð ïðîèçâîäèòåëÿ
- }
- __flash_packet_manufactureridread_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD opcode; // êîìàíäà ÂÊËÞ×ÈÒÜ/ÂÛÊËÞ×ÈÒÜ çàùèòó ñåêòîðîâ
- }
- __flash_packet_protecttoggle_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD opcode; // êîìàíäà ÑÒÅÐÅÒÜ ÐÅÃÈÑÒÐ ÇÀÙÈÒÛ
- }
- __flash_packet_protectregistererase_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD opcode; // êîìàíäà ÇÀÏÈÑÀÒÜ ÐÅÃÈÑÒÐ ÇÀÙÈÒÛ
- // ... ïðîäîëæåíèå ñì. ôóíêöèè __flash_hal__protectregister_write
- }
- __flash_packet_protectregisterwrite_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD __reserved : 24; // don't care bytes
- __FLASH_DWORD opcode : 8; // êîìàíäà ÏÐÎ×ÈÒÀÒÜ ÐÅÃÈÑÒÐ ÇÀÙÈÒÛ
- }
- __flash_packet_protectregisterread_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÏÐÎ×ÈÒÀÒÜ ÐÅÃÈÑÒÐ ÇÀÙÈÒÛ
- __FLASH_DWORD __reserved : 24; // don't care bytes
- }
- __flash_packet_protectregisterread_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_BYTE haddress; // ñòàðøàÿ ÷àñòü àäðåñà â ñåêòîðå (16...23 áèòû)
- __FLASH_WORD laddress; // ìëàäøàÿ ÷àñòü àäðåñà â ñåêòîðå (0...15 áèòû)
- __FLASH_DWORD opcode; // êîìàíäà ÇÀÁËÎÊÈÐÎÂÀÒÜ ñåêòîð
- }
- __flash_packet_sectorlockdown_t;
- typedef struct
- {
- __FLASH_DWORD opcode; // êîìàíäà ÇÀÁËÎÊÈÐÎÂÀÒÜ ñåêòîð
- __FLASH_WORD laddress; // ìëàäøàÿ ÷àñòü àäðåñà â ñåêòîðå (0...15 áèòû)
- __FLASH_BYTE haddress; // ñòàðøàÿ ÷àñòü àäðåñà â ñåêòîðå (16...23 áèòû)
- }
- __flash_packet_sectorlockdown_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD __reserved : 24; // don't care bytes
- __FLASH_DWORD opcode : 8; // êîìàíäà ÏÐÎ×ÈÒÀÒÜ ÐÅÃÈÑÒÐ ÁËÎÊÈÐÎÂÊÈ
- }
- __flash_packet_lockdownregisterread_t;
- typedef struct
- {
- __FLASH_DWORD opcode : 8; // êîìàíäà ÏÐÎ×ÈÒÀÒÜ ÐÅÃÈÑÒÐ ÁËÎÊÈÐÎÂÊÈ
- __FLASH_DWORD __reserved : 24; // don't care bytes
- }
- __flash_packet_lockdownregisterread_direct_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD opcode; // êîìàíäà ÇÀÏÈÑÀÒÜ ÐÅÃÈÑÒÐ ÁÅÇÎÏÀÑÍÎÑÒÈ
- // ... ïðîäîëæåíèå ñì. ôóíêöèè __flash_hal__securityregister_write
- }
- __flash_packet_securityregisterwrite_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #pragma pack( push, 1 )
- typedef struct
- {
- __FLASH_DWORD opcode; // êîìàíäà ÏÐÎ×ÈÒÀÒÜ ÐÅÃÈÑÒÐ ÁÅÇÎÏÀÑÍÎÑÒÈ
- }
- __flash_packet_securityregisterread_t;
- #pragma pack( pop )
- //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- #endif
- #endif
|