init
This commit is contained in:
@@ -1,26 +1,29 @@
|
||||
//-----------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
// W25QXX<58><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
|
||||
// <20><> <20><>: <20><><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD>
|
||||
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>: 2018-08-04
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 2018-08-04
|
||||
// <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>:
|
||||
// <20><>ǰ<EFBFBD>汾: V1.0
|
||||
// <20><>ʷ<EFBFBD>汾:
|
||||
// - V1.0: (2018-08-04)W25QXX<58><58>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD>: <20><><EFBFBD><EFBFBD>STM32F429+CycloneIV<49><56><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD>塢LZE_ST_LINK2
|
||||
// ˵ <20><>:
|
||||
//
|
||||
//-----------------------------------------------------------------
|
||||
#ifndef __W25QXX_H
|
||||
#define __W25QXX_H
|
||||
#include "sys.h"
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>ѧϰʹ<EFBFBD>ã<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD>;
|
||||
//ALIENTEK STM32F429<32><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//W25QXX<58><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2016/1/16
|
||||
//<2F>汾<EFBFBD><E6B1BE>V1.0
|
||||
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
||||
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾ 2014-2024
|
||||
//All rights reserved
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
#include "stm32f429_winner.h"
|
||||
//-----------------------------------------------------------------
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//-----------------------------------------------------------------
|
||||
extern u16 W25QXX_TYPE; // <20><><EFBFBD><EFBFBD>W25QXXоƬ<D0BE>ͺ<EFBFBD>
|
||||
|
||||
//W25Xϵ<EFBFBD><EFBFBD>/Qϵ<51><CFB5>оƬ<D0BE>б<EFBFBD>
|
||||
//W25Q80 ID 0XEF13
|
||||
//W25Q16 ID 0XEF14
|
||||
//W25Q32 ID 0XEF15
|
||||
//W25Q64 ID 0XEF16
|
||||
//W25Q128 ID 0XEF17
|
||||
//W25Q256 ID 0XEF18
|
||||
//-----------------------------------------------------------------
|
||||
// <20>궨<EFBFBD><EAB6A8>
|
||||
//-----------------------------------------------------------------
|
||||
// W25Xϵ<EFBFBD><EFBFBD>/Qϵ<51><CFB5>оƬ<D0BE>б<EFBFBD>
|
||||
#define W25Q80 0XEF13
|
||||
#define W25Q16 0XEF14
|
||||
#define W25Q32 0XEF15
|
||||
@@ -28,49 +31,50 @@
|
||||
#define W25Q128 0XEF17
|
||||
#define W25Q256 0XEF18
|
||||
|
||||
extern u16 W25QXX_TYPE; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>W25QXXоƬ<EFBFBD>ͺ<EFBFBD>
|
||||
#define W25QXX_CS PGout(3) // W25QXX<EFBFBD><EFBFBD>Ƭѡ<EFBFBD>ź<EFBFBD>
|
||||
|
||||
#define W25QXX_CS PFout(6) //W25QXX<58><58>Ƭѡ<C6AC>ź<EFBFBD>
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//ָ<><D6B8><EFBFBD><EFBFBD>
|
||||
#define W25X_WriteEnable 0x06
|
||||
#define W25X_WriteDisable 0x04
|
||||
#define W25X_ReadStatusReg1 0x05
|
||||
#define W25X_ReadStatusReg2 0x35
|
||||
#define W25X_ReadStatusReg3 0x15
|
||||
#define W25X_WriteEnable 0x06
|
||||
#define W25X_WriteDisable 0x04
|
||||
#define W25X_ReadStatusReg1 0x05
|
||||
#define W25X_ReadStatusReg2 0x35
|
||||
#define W25X_ReadStatusReg3 0x15
|
||||
#define W25X_WriteStatusReg1 0x01
|
||||
#define W25X_WriteStatusReg2 0x31
|
||||
#define W25X_WriteStatusReg3 0x11
|
||||
#define W25X_ReadData 0x03
|
||||
#define W25X_FastReadData 0x0B
|
||||
#define W25X_FastReadDual 0x3B
|
||||
#define W25X_PageProgram 0x02
|
||||
#define W25X_BlockErase 0xD8
|
||||
#define W25X_SectorErase 0x20
|
||||
#define W25X_ChipErase 0xC7
|
||||
#define W25X_PowerDown 0xB9
|
||||
#define W25X_ReleasePowerDown 0xAB
|
||||
#define W25X_DeviceID 0xAB
|
||||
#define W25X_ManufactDeviceID 0x90
|
||||
#define W25X_JedecDeviceID 0x9F
|
||||
#define W25X_ReadData 0x03
|
||||
#define W25X_FastReadData 0x0B
|
||||
#define W25X_FastReadDual 0x3B
|
||||
#define W25X_PageProgram 0x02
|
||||
#define W25X_BlockErase 0xD8
|
||||
#define W25X_SectorErase 0x20
|
||||
#define W25X_ChipErase 0xC7
|
||||
#define W25X_PowerDown 0xB9
|
||||
#define W25X_ReleasePowerDown 0xAB
|
||||
#define W25X_DeviceID 0xAB
|
||||
#define W25X_ManufactDeviceID 0x90
|
||||
#define W25X_JedecDeviceID 0x9F
|
||||
#define W25X_Enable4ByteAddr 0xB7
|
||||
#define W25X_Exit4ByteAddr 0xE9
|
||||
|
||||
void W25QXX_Init(void);
|
||||
u16 W25QXX_ReadID(void); //<2F><>ȡFLASH ID
|
||||
u8 W25QXX_ReadSR(u8 regno); //<2F><>ȡ״̬<D7B4>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
void W25QXX_4ByteAddr_Enable(void); //ʹ<EFBFBD><EFBFBD>4<EFBFBD>ֽڵ<EFBFBD>ַģʽ
|
||||
void W25QXX_Write_SR(u8 regno,u8 sr); //д״̬<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
void W25QXX_Write_Enable(void); //дʹ<EFBFBD><EFBFBD>
|
||||
void W25QXX_Write_Disable(void); //д<><EFBFBD><EFBFBD><EFBFBD>
|
||||
void W25QXX_Write_NoCheck(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);
|
||||
void W25QXX_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead); //<2F><>ȡflash
|
||||
void W25QXX_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);//д<><D0B4>flash
|
||||
void W25QXX_Erase_Chip(void); //<2F><>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD>
|
||||
void W25QXX_Erase_Sector(u32 Dst_Addr); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void W25QXX_Wait_Busy(void); //<EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void W25QXX_PowerDown(void); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
||||
void W25QXX_WAKEUP(void); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//-----------------------------------------------------------------
|
||||
extern void W25QXX_Init(void);
|
||||
extern u16 W25QXX_ReadID(void); // <EFBFBD><EFBFBD>ȡFLASH ID
|
||||
extern u8 W25QXX_ReadSR(u8 regno); // <20><>ȡ״̬<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
extern void W25QXX_4ByteAddr_Enable(void); // ʹ<EFBFBD><EFBFBD>4<EFBFBD>ֽڵ<EFBFBD>ַģʽ
|
||||
extern void W25QXX_Write_SR(u8 regno,u8 sr); // д״̬<D7B4>Ĵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
extern void W25QXX_Write_Enable(void); // дʹ<D0B4><CAB9>
|
||||
extern void W25QXX_Write_Disable(void); // д<><D0B4><EFBFBD><EFBFBD>
|
||||
extern void W25QXX_Write_NoCheck(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);
|
||||
extern void W25QXX_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead); // <20><>ȡflash
|
||||
extern void W25QXX_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);// д<><D0B4>flash
|
||||
extern void W25QXX_Erase_Chip(void); // <20><>Ƭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
extern void W25QXX_Erase_Sector(u32 Dst_Addr); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
extern void W25QXX_Wait_Busy(void); // <20>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
extern void W25QXX_PowerDown(void); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
||||
extern void W25QXX_WAKEUP(void); // <20><><EFBFBD><EFBFBD>
|
||||
#endif
|
||||
//-----------------------------------------------------------------
|
||||
// End Of File
|
||||
//-----------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user