• Main Page
  • Data Structures
  • Files
  • File List
  • Globals

serial_ram.h

Go to the documentation of this file.
00001 #include <config.h>
00002 
00003 /* Requires use of spi.h, and hence assumes definitions of:
00004 
00005 
00006         SPI_PORT                Port for the SPI signals eg PORTB
00007         SPI_DDR                 DDR for the SPI signals eg DDRB
00008         SPI_PIN                 Input Port for the SPI signals eg PINB
00009 
00010         SPI_SCK                 Clock from master to slave
00011         SPI_MOSI                Data from Master to slave
00012         SPI_MISO                Data from slave to master
00013 
00014 
00015 
00016 Additionally, the following needs to be defined:
00017 
00018         RAM_CS
00019         RAM_PORT
00020         RAM_DDR
00021 
00022 
00023 
00024 /* Register definitions for M25P16 flash ram */
00025 #define RAM_WREN 0x06   /* write enable */
00026 #define RAM_WRDI 0x04   /* write disable */
00027 #define RAM_RDID 0x9F   /* read id */
00028 #define RAM_RDSR 0x05   /* read status */
00029 #define RAM_WRSR 0x01   /* write status */
00030 #define RAM_READ 0x03   /* read data */
00031 #define RAM_FASTREAD 0x0B       
00032 #define RAM_PP 0x02             /* page program */
00033 #define RAM_SE 0xD8             /* sector erase */
00034 #define RAM_BE 0xC7             /* bulk erase */
00035 #define RAM_DP 0xB9             /* deep power down */
00036 #define RAM_RES 0xAB    /* release from power down, read electronic signature */
00037 
00038 
00044 void read_ram_id(uint8_t* mem_ptr);
00045 
00046 
00047 
00053 uint8_t read_ram_status();
00054 
00055 
00056 
00064 void ram_bulk_erase();
00065 
00066 
00067 
00078 void ram_sector_erase(uint8_t sector);
00079 
00080 
00081 
00093 void write_flash_page(uint8_t flash_sector, uint8_t flash_page, uint8_t* mem_ptr);
00094 
00095 
00096 
00108 void read_flash_page(uint8_t flash_sector, uint8_t flash_page, uint8_t* mem_ptr);
00109 
00110 
00111 
00129 void read_write_flash_ram(uint8_t one_read_zero_write, uint16_t bytes_to_readwrite, uint8_t flash_sector, uint8_t flash_page, uint8_t offset, uint8_t* mem_ptr);
00130 
00131 
00138 void write_ram_status(uint8_t status);
00139 
00140 
00141 
00147 void power_up_flash_ram(void);
00148 
00149 
00150 
00159 void power_down_flash_ram(void);
00160 

Generated on Wed Aug 22 2012 11:44:35 by  doxygen 1.7.1