⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spi_device_settings.h

📁 Using the Blackfin Processor SPORT to Emulate a SPI Interface
💻 H
字号:

#include "SPI_Selection_Table.h"

//////////////////////////////////////////////////////////////////////////////////////////

#ifdef ST_M25P32

//This device is part of the flash family
#define SPI_FLASH
#define SPI_Description		"M25P32"

//Flash commands
#define SPI_WREN            (0x06)		//Set Write Enable Latch
#define SPI_WRDI            (0x04)		//Reset Write Enable Latch
#define SPI_RDSR            (0x05)		//Read Status Register
#define SPI_WRSR            (0x01)		//Write Status Register
#define SPI_READ            (0x03)		//Read data from memory
#define SPI_PP              (0x02)		//Program Data into memory
#define SPI_SE              (0xD8)		//Erase one sector in memory
#define SPI_BE              (0xC7)		//Erase all memory
#define WIP					(0x1)		//Check the write in progress bit of the SPI status register
#define WEL					(0x2)		//Check the write enable bit of the SPI status register

//Maximum number of bytes that can be sent to the SPI in a single program sequence
#define SPI_PAGE_SIZE		(256)
//Sector Size
#define SPI_SECTORS			(0x40)		//Includes 64 sectors
#define SPI_SECTOR_SIZE		(0x10000)	//The sector size

//24 bit addressable devices get an extra address byte
#define SPI_24BIT_ADDRESSING

#endif

//////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////

#ifdef ST_M25P20

//This device is part of the flash family
#define SPI_FLASH
#define SPI_Description		"STMicro. M25P20"

//Flash commands
#define SPI_WREN            (0x06)		//Set Write Enable Latch
#define SPI_WRDI            (0x04)		//Reset Write Enable Latch
#define SPI_RDSR            (0x05)		//Read Status Register
#define SPI_WRSR            (0x01)		//Write Status Register
#define SPI_READ            (0x03)		//Read data from memory
#define SPI_PP              (0x02)		//Program Data into memory
#define SPI_SE              (0xD8)		//Erase one sector in memory
#define SPI_BE              (0xC7)		//Erase all memory
#define WIP					(0x1)		//Check the write in progress bit of the SPI status register
#define WEL					(0x2)		//Check the write enable bit of the SPI status register

//Maximum number of bytes that can be sent to the SPI in a single program sequence
#define SPI_PAGE_SIZE		(256)
//Sector Size
#define SPI_SECTORS			(0x4)		//Includes 4 sectors
#define SPI_SECTOR_SIZE		(0x10000)	//The sector size

//24 bit addressable devices get an extra address byte
#define SPI_24BIT_ADDRESSING

#endif

//////////////////////////////////////////////////////////////////////////////////////////

#ifdef Atmel_AT25F512

//This this device is part of the flash family
#define SPI_FLASH

#define SPI_Description		"Atmel AT25F512"

//Flash commands
#define SPI_WREN            (0x06)  //Set Write Enable Latch
#define SPI_WRDI            (0x04)  //Reset Write Enable Latch
#define SPI_RDSR            (0x05)  //Read Status Register
#define SPI_WRSR            (0x01)  //Write Status Register
#define SPI_READ            (0x03)  //Read data from memory
#define SPI_PP              (0x02)  //Program Data into memory
#define SPI_SE              (0x52)  //Erase one sector in memory
#define SPI_BE              (0x62)  //Erase all memory
#define WIP					(0x1)	//Check the write in progress bit of the SPI status register
#define WEL					(0x2)	//Check the write enable bit of the SPI status register

//Maximum number of bytes that can be sent to the SPI in a single program sequence
#define SPI_PAGE_SIZE		(256)

//Sector Size
#define SPI_SECTORS			(0x2)		//Includes 4 sectors
#define SPI_SECTOR_SIZE		(0x8000)	//The sector size

//24 bit addressable devices get an extra address byte
#define SPI_24BIT_ADDRESSING

#endif

//////////////////////////////////////////////////////////////////////////////////////////

#ifdef Atmel_AT25F1024

//This device is part of the flash family
#define SPI_FLASH

#define SPI_Description		"Atmel AT25F1024"


//Flash commands
#define SPI_WREN            (0x06)  //Set Write Enable Latch
#define SPI_WRDI            (0x04)  //Reset Write Enable Latch
#define SPI_RDSR            (0x05)  //Read Status Register
#define SPI_WRSR            (0x01)  //Write Status Register
#define SPI_READ            (0x03)  //Read data from memory
#define SPI_PP              (0x02)  //Program Data into memory
#define SPI_SE              (0x52)  //Erase one sector in memory
#define SPI_BE              (0x62)  //Erase all memory
#define WIP					(0x1)	//Check the write in progress bit of the SPI status register
#define WEL					(0x2)	//Check the write enable bit of the SPI status register

//Maximum number of bytes that can be sent to the SPI in a single program sequence
#define SPI_PAGE_SIZE		(256)

//Sector Size
#define SPI_SECTORS			(0x4)		//Includes 4 sectors
#define SPI_SECTOR_SIZE		(0x8000)	//The sector size

//24 bit addressable devices get an extra address byte
#define SPI_24BIT_ADDRESSING



#endif


//////////////////////////////////////////////////////////////////////////////////////////

#ifdef Atmel_AT25P1024

//This device is part of the EEPROM family
#define SPI_EEPROM

#define SPI_Description		"Atmel AT25P1024"

//Flash commands
#define SPI_WREN            (0x06)		//Set Write Enable Latch
#define SPI_WRDI            (0x04)		//Reset Write Enable Latch
#define SPI_RDSR            (0x05)		//Read Status Register
#define SPI_WRSR            (0x01)		//Write Status Register
#define SPI_READ            (0x03)		//Read data from memory
#define SPI_PP              (0x02)		//Program Data into memory
#define SPI_SE              (0xD8)		//Erase one sector in memory
#define SPI_BE              (0xC7)		//Erase all memory
#define WIP					(0x1)		//Check the write in progress bit of the SPI status register
#define WEL					(0x2)		//Check the write enable bit of the SPI status register

//Maximum number of bytes that can be sent to the SPI in a single program sequence
#define SPI_PAGE_SIZE		(128)
//Sector Size
#define SPI_SECTORS			(0x1)		//Includes 1 sector
#define SPI_SECTOR_SIZE		(0x20000)	//The sector size

//24 bit addressable devices get an extra address byte
#define SPI_24BIT_ADDRESSING

#endif

//////////////////////////////////////////////////////////////////////////////////////////

#ifdef Atmel_AT45DB081B

#define SPI_Description		"Atmel AT45DB081B"

//Flash commands
#define SPI_WREN            (0x06)		//Set Write Enable Latch
#define SPI_WRDI            (0x04)		//Reset Write Enable Latch

#define SPI_RDSR            (0xD7)		//Read Status Register
#define SPI_WRSR            (0x01)		//Write Status Register

#define SPI_READ            (0xE8)		//Read data from memory
#define SPI_PP              (0x82)		//Program Data into memory

#define SPI_SE              (0xD8)		//Erase one sector in memory
#define SPI_BE              (0xC7)		//Erase all memory

#define WIP					(0x80)		//Check the write in progress bit of the SPI status register

#define WEL					(0x80)		//Check the write enable bit of the SPI status register

//Maximum number of bytes that can be sent to the SPI in a single program sequence
#define SPI_PAGE_SIZE		(264)
//Sector Size
#define SPI_SECTORS			(0x1)		//Includes 1 sector
#define SPI_SECTOR_SIZE		(0x107EF8)	//The sector size
#define PAGE_SIZE_DIFF		(248)

//24 bit addressable devices get an extra address byte
#define SPI_24BIT_ADDRESSING
#define ATMEL_DATAFLASH

#endif

//////////////////////////////////////////////////////////////////////////////////////////

#if defined (Atmel_AT25640) || defined (MicroChip_25xx640)

//This device is part of the EEPROM family
#define SPI_EEPROM

#ifdef Atmel_AT25640
#define SPI_Description		"Atmel AT25640"
#endif

#ifdef MicroChip_25xx640
#define SPI_Description		"MicroChip 25xx640"
#endif


//Flash commands
#define SPI_WREN            (0x06)		//Set Write Enable Latch
#define SPI_WRDI            (0x04)		//Reset Write Enable Latch
#define SPI_RDSR            (0x05)		//Read Status Register
#define SPI_WRSR            (0x01)		//Write Status Register
#define SPI_READ            (0x03)		//Read data from memory
#define SPI_PP              (0x02)		//Program Data into memory
#define SPI_SE              (0xD8)		//Erase one sector in memory
#define SPI_BE              (0xC7)		//Erase all memory
#define WIP					(0x1)		//Check the write in progress bit of the SPI status register
#define WEL					(0x2)		//Check the write enable bit of the SPI status register

//Maximum number of bytes that can be sent to the SPI in a single program sequence
#define SPI_PAGE_SIZE		(32)
//Sector Size
#define SPI_SECTORS			(0x1)		//Includes 1 sector
#define SPI_SECTOR_SIZE		(0x2000)	//The sector size

//16 bit addressable device
#define SPI_16BIT_ADDRESSING



#endif
//////////////////////////////////////////////////////////////////////////////////////////

#ifdef Atmel_AT25020

//This device is part of the EEPROM family
#define SPI_EEPROM


#define SPI_Description		"Atmel AT25020"

//Flash commands
#define SPI_WREN            (0x06)		//Set Write Enable Latch
#define SPI_WRDI            (0x04)		//Reset Write Enable Latch
#define SPI_RDSR            (0x05)		//Read Status Register
#define SPI_WRSR            (0x01)		//Write Status Register
#define SPI_READ            (0x03)		//Read data from memory
#define SPI_PP              (0x02)		//Program Data into memory
#define SPI_SE              (0xD8)		//Erase one sector in memory
#define SPI_BE              (0xC7)		//Erase all memory
#define WIP					(0x1)		//Check the write in progress bit of the SPI status register
#define WEL					(0x2)		//Check the write enable bit of the SPI status register

//Maximum number of bytes that can be sent to the SPI in a single program sequence
#define SPI_PAGE_SIZE		(8)
//Sector Size
#define SPI_SECTORS			(0x1)		//Includes 1 sector
#define SPI_SECTOR_SIZE		(0xFF)		//The sector size

//16 bit addressable device
#define SPI_8BIT_ADDRESSING



#endif

//////////////////////////////////////////////////////////////////////////////////////////


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -