Mercurial > ~darius > hgwebdir.cgi > stm32temp
view flash.h @ 27:5c9d2e3d6591
Add flashread/writeblock commands which read/write a block of data to
flash with a CRC.
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Tue, 20 Nov 2012 21:54:06 +1030 |
parents | a9cc07caa801 |
children | 03592ca4d37e |
line wrap: on
line source
void flashcmd(char **, int); uint16_t flashreadid(void); uint8_t flashreadstatus(void); void flashwritestatus(uint8_t status); void flashwritectl(int enable); void flash4kerase(uint32_t addr); uint8_t flashread(uint32_t addr); void flashenablewrite(void); void flashwrite(uint32_t addr, uint8_t data); void flashwait(void); int flashreadblock(uint32_t addr, uint32_t len, void *_data); void flashwriteblock(uint32_t addr, uint32_t len, void *_data); /* Streaming read/write */ void flashstartread(uint32_t addr); uint8_t flashreadbyte(void); void flashstartwrite(uint32_t addr, uint16_t data); void flashwriteword(uint16_t data); void flashstopread(void); void flashstopwrite(void); #define FL_BUSY (1<<0) #define FL_WEL (1<<1) #define FL_BP0 (1<<2) #define FL_BP1 (1<<3) #define FL_BP2 (1<<4) #define FL_BP3 (1<<5) #define FL_AAI (1<<6) #define FL_BPL (1<<7) #define FL_READ 0x03 #define FL_HSREAD 0x0b #define FL_4KERASE 0x20 #define FL_32KERASE 0x52 #define FL_64KERASE 0xd8 #define FL_CHIPERASE 0x60 #define FL_BYTEPROG 0x02 #define FL_AAIWP 0xad #define FL_RDSR 0x05 #define FL_EWSR 0x50 #define FL_WRSR 0x01 #define FL_WREN 0x06 #define FL_WRDI 0x04 #define FL_RDID 0x90 #define FL_JEDECID 0x9f #define FL_EBSY 0x70 #define FL_DBSY 0x80