123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifndef __BSP_SPI_MASTER_H_
- #define __BSP_SPI_MASTER_H_
- #define FLASH_PAGE_SIZE 256
- #define FLASH_BLOCK_SIZE 65536
- #define FLASH_SECTOR_SIZE 4096
- #define SPIM_CLK_1MHZ 32
- #define SPIM_CLK_2MHZ 16
- #define SPIM_CLK_4MHZ 8
- #define SPIM_CLK_8MHZ 4
- #define SPIM_CLK_16MHZ 2
- extern void Init_spi_master(uint32_t ch, uint32_t freq);
- extern void spi_flash_Read_Page(uint32_t PageAddR, uint8_t *buff);
- extern uint8_t spi_flash_wait_till_ready (void);
- extern void spi_flash_chip_erase(void);
- extern uint32_t spi_flash_block_num(uint32_t size);
- extern void spi_flash_block_erase(uint32_t blknum);
- extern void spi_flash_write_enable(void);
- extern void spi_flash_write_page(uint32_t PageAddR, uint8_t *buff);
- extern void spi_flash_sector_erase(uint32_t no);
- extern void spi_flash_Release_powerdown(void);
- extern void spi_flash_Enter_powerdown(void);
- extern uint16_t spi1_write_read_uint16(uint16_t val);
- extern void spi1_write_read_stream(uint16_t *input, uint16_t *output, uint16_t length);
- extern void spi_flash_Read(uint32_t ReadAddR, uint8_t *buff,uint16_t ReadLength);
- extern void spi_flash_write(uint32_t WriteAddR, uint8_t *buff,uint16_t WriteLength);
- extern void spi_flash_Read_128bitsID(uint8_t *buff);
- /*--------------------------------------------------------------
- for Example:
- -----------
- for(i=0; i<256; i++) {
- data_buff[i] = i;
- }
- spi_flash_write_enable();
- spi_flash_block_erase(0);
- while(spi_flash_wait_till_ready());
- spi_flash_write_enable();
- spi_flash_write_page(3, &data_buff[0]);
- while(spi_flash_wait_till_ready());
- for(i=0; i<256; i++) {
- data_buff[i] = 0;
- }
- spi_flash_Read_Page(3, &data_buff[0]);
- --------------------------------------------------------------*/
- #endif
|