bsp_spi_master.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef __BSP_SPI_MASTER_H_
  2. #define __BSP_SPI_MASTER_H_
  3. #define FLASH_PAGE_SIZE 256
  4. #define FLASH_BLOCK_SIZE 65536
  5. #define FLASH_SECTOR_SIZE 4096
  6. #define SPIM_CLK_1MHZ 32
  7. #define SPIM_CLK_2MHZ 16
  8. #define SPIM_CLK_4MHZ 8
  9. #define SPIM_CLK_8MHZ 4
  10. #define SPIM_CLK_16MHZ 2
  11. extern void Init_spi_master(uint32_t ch, uint32_t freq);
  12. extern void spi_flash_Read_Page(uint32_t PageAddR, uint8_t *buff);
  13. extern uint8_t spi_flash_wait_till_ready (void);
  14. extern void spi_flash_chip_erase(void);
  15. extern uint32_t spi_flash_block_num(uint32_t size);
  16. extern void spi_flash_block_erase(uint32_t blknum);
  17. extern void spi_flash_write_enable(void);
  18. extern void spi_flash_write_page(uint32_t PageAddR, uint8_t *buff);
  19. extern void spi_flash_sector_erase(uint32_t no);
  20. extern void spi_flash_Release_powerdown(void);
  21. extern void spi_flash_Enter_powerdown(void);
  22. extern uint16_t spi1_write_read_uint16(uint16_t val);
  23. extern void spi1_write_read_stream(uint16_t *input, uint16_t *output, uint16_t length);
  24. extern void spi_flash_Read(uint32_t ReadAddR, uint8_t *buff,uint16_t ReadLength);
  25. extern void spi_flash_write(uint32_t WriteAddR, uint8_t *buff,uint16_t WriteLength);
  26. extern void spi_flash_Read_128bitsID(uint8_t *buff);
  27. /*--------------------------------------------------------------
  28. for Example:
  29. -----------
  30. for(i=0; i<256; i++) {
  31. data_buff[i] = i;
  32. }
  33. spi_flash_write_enable();
  34. spi_flash_block_erase(0);
  35. while(spi_flash_wait_till_ready());
  36. spi_flash_write_enable();
  37. spi_flash_write_page(3, &data_buff[0]);
  38. while(spi_flash_wait_till_ready());
  39. for(i=0; i<256; i++) {
  40. data_buff[i] = 0;
  41. }
  42. spi_flash_Read_Page(3, &data_buff[0]);
  43. --------------------------------------------------------------*/
  44. #endif