forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

周巍
2024-04-11 91ef77c00ed797b1048c5187f416e351e646a009
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
/******************************************************************************
 * Copyright (C) 2014-2015 HangZhou SiZhu Co.,LTD.
 *
 *-----------------------------------------------------------------------------
 * File:                 W25X40BV.h
 * Description:        head file of W25X40BV.c used for flash operation
 * Author:              Lishoujian (867693272@qq.com)
 * Date:                Jan 8, 2015
 *****************************************************************************/
 
/* ----------------------- Platform includes --------------------------------*/
 
#ifndef __W25X40BV_H
#define __W25X40BV_H     
#include "sys.h"
 
//op cmd
#define FLASH_WREN            0x06      //write enable
#define FLASH_WRDI            0x04      //write disable
#define FLASH_RDSR            0x05      //read  status register
#define FLASH_WRSR            0x01      //write status register
#define FLASH_READ            0x03      //read  fram memory data
#define FLASH_FSTRD           0x0b      //fast  read  fram memory data
#define FLASH_WRITE           0x02      //write fram memory data
#define FLASH_POWERDOWN       0xb9      //go to power-down mode
#define FLASH_WKUP            0xab      //release from power-down mode
#define FLASH_RDID            0x90      //read  Manufacturer ID/Devive ID 16bit
#define FLASH_BlockErase            0xD8      //erase 64KB  block
#define FLASH_SectorErase          0x20      //erase 4KB   sector
#define FLASH_ChipErase              0xC7      //erase all chip 512KB 
 
#define  FLASH_CS_LOW             GPIO_ResetBits(GPIOB,GPIO_Pin_7)//CS = 0
#define  FLASH_CS_HIGH            GPIO_SetBits(GPIOB,GPIO_Pin_7)  //CS = 1
 
#define    FLASH_ReadWriteByte(dat)  SPI3_ReadWriteByte(dat)
#define FLASH_ioconfig()          SPI2_ioconfig()
 
u8 Flash_ReadSR(void);  
void FLASH_Write_SR(u8 sr);
void FLASH_Write_Enable(void);
void FLASH_Write_Disable(void);
u16 Flash_ReadID(void);
void Flash_Read(uint8* pBuffer,uint32 ReadAddr,uint16 NumByteToRead);
void Flash_Write_Page(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);
//void Flash_Write_NoCheck(uint8* pBuffer,uint32 WriteAddr,uint16 NumByteToWrite);
void Flash_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);
void Flash_Erase_Chip(void);
void Flash_Erase_Sector(u32 Dst_Addr);
void Flash_Wait_Busy(void);
void Flash_PowerDown(void);
void Flash_WAKEUP(void);
 
#endif