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

📄 at91c_spi_dataflash.h

📁 (1)基于部分u-boot代码自己调试的vxworks BSP (2)实现了nand/nor flash的tffs文件系统 (3)实现了对spi dataflash的访问 (4)实现了对启动参数
💻 H
字号:
/*---------------------------------------------------------------------------*//*         ATMEL Microcontroller Software Support  -  ROUSSET  -*//*---------------------------------------------------------------------------*//* The software is delivered "AS IS" without warranty or condition of any*//* kind, either express, implied or statutory. This includes without*//* limitation any warranty or condition with respect to merchantability or*//* fitness for any particular purpose, or against the infringements of*//* intellectual property rights of others.*//*---------------------------------------------------------------------------*//* File Name           : AT91C_SPI_DataFlash.h*//* Object              : Data Flash Atmel Description File*//* Translator          :*//* 1.0 03/04/01 HI	: Creation*//* 1.2 20/10/02 FB	: Adapatation Service and Lib v3*//*---------------------------------------------------------------------------*/#ifndef AT91C_DataFlash_h#define AT91C_DataFlash_h#include "AT91RM9200.h"#include "lib_AT91RM9200.h"typedef unsigned int AT91S_DataFlashStatus;/****************************************************************************************************/    /* DataFlash Structures *//****************************************************************************************************/    /*---------------------------------------------*//* DataFlash Descriptor Structure Definition   *//*---------------------------------------------*/typedef struct _AT91S_DataflashDesc{	unsigned char			*tx_cmd_pt;	unsigned int			tx_cmd_size;	unsigned char			*rx_cmd_pt;	unsigned int			rx_cmd_size;	unsigned char			*tx_data_pt;	unsigned int			tx_data_size;	unsigned char			*rx_data_pt;	unsigned int			rx_data_size;	volatile unsigned char	state;	volatile unsigned char	DataFlash_state;	unsigned char *			command;} AT91S_DataflashDesc, *AT91PS_DataflashDesc;/*---------------------------------------------*//* DataFlash device definition structure       *//*---------------------------------------------*/typedef struct _AT91S_Dataflash{	int		pages_number;	/* dataflash page number*/	int		pages_size;		/* dataflash page size*/	int		page_offset;	/* page offset in command*/	int		byte_mask;		/* byte mask in command*/} AT91S_DataflashFeatures, *AT91PS_DataflashFeatures;/*---------------------------------------------*//* DataFlash Structure Definition   		   *//*---------------------------------------------*/typedef struct _AT91S_DataFlash{	BLK_DEV blkDev; 	int drive;    int blkOffset	;	AT91PS_DataflashDesc		 	pDataFlashDesc;	/* dataflash descriptor*/	AT91PS_DataflashFeatures		pDevice;		/* Pointer on a dataflash features array  */}AT91S_DataFlash_Device, *AT91PS_DataFlash_Device;/* Global Variables*/extern AT91S_DataflashFeatures		DeviceAT45DB;extern AT91S_DataflashFeatures		DeviceAT45DCB;#define DATAFLASH_TCSS		(0xf << 16)	/* 250ns 12/48000000 */#define DATAFLASH_TCHS		(0x1 << 24)	/* 250ns 32*1/48000000 */#define AT91C_SPI_PCS0_SERIAL_DATAFLASH		0xE     /* Chip Select 0 : NPCS0 %1110 */#define AT91C_SPI_PCS3_DATAFLASH_CARD		0x7     /* Chip Select 3 : NPCS3 %0111 *//* DataFlash return value */#define DATAFLASH_BUSY				0x00#define DATAFLASH_OK				0x01#define DATAFLASH_ERROR				0x02#define DATAFLASH_MEMORY_OVERFLOW	0x03#define DATAFLASH_BAD_COMMAND		0x04#define DATAFLASH_BAD_ADDRESS		0x05#define DATAFLASH_CLK				5000000#define DATAFLASH_TIMEOUT			30/* Driver State */#define IDLE						0x0#define	BUSY						0x1#ifdef ERROR#undef ERROR#endif#define	ERROR						0x2/* DataFlash Driver State */#define	GET_STATUS					0x0F/****************************************************************************************************/    /* Command Definition*//****************************************************************************************************/    /* READ COMMANDS */#define DB_CONTINUOUS_ARRAY_READ   	0xE8		/* Continuous array read */#define DB_BURST_ARRAY_READ        	0xE8		/* Burst array read */#define DB_PAGE_READ               	0xD2		/* Main memory page read */#define DB_BUF1_READ               	0xD4		/* Buffer 1 read */#define DB_BUF2_READ               	0xD6		/* Buffer 2 read */#define DB_STATUS                  	0xD7		/* Status Register *//* PROGRAM and ERASE COMMANDS */#define DB_BUF1_WRITE              	0x84		/* Buffer 1 write */#define DB_BUF2_WRITE              	0x87		/* Buffer 2 write */#define DB_BUF1_PAGE_ERASE_PGM     	0x83		/* Buffer 1 to main memory page program with built-In erase */#define DB_BUF1_PAGE_ERASE_FASTPGM 	0x93		/* Buffer 1 to main memory page program with built-In erase, Fast program */#define DB_BUF2_PAGE_ERASE_PGM     	0x86		/* Buffer 2 to main memory page program with built-In erase */#define DB_BUF2_PAGE_ERASE_FASTPGM 	0x96		/* Buffer 1 to main memory page program with built-In erase, Fast program */#define DB_BUF1_PAGE_PGM           	0x88		/* Buffer 1 to main memory page program without built-In erase */#define DB_BUF1_PAGE_FASTPGM       	0x98		/* Buffer 1 to main memory page program without built-In erase, Fast program*/#define DB_BUF2_PAGE_PGM           	0x89		/* Buffer 2 to main memory page program without built-In erase */#define DB_BUF2_PAGE_FASTPGM       	0x99		/* Buffer 1 to main memory page program without built-In erase, Fast program*/#define DB_PAGE_ERASE              	0x81		/* Page Erase */#define DB_BLOCK_ERASE             	0x50		/* Block Erase */#define DB_PAGE_PGM_BUF1           	0x82		/* Main memory page through buffer 1 */#define DB_PAGE_FASTPGM_BUF1       	0x92		/* Main memory page through buffer 1, Fast program */#define DB_PAGE_PGM_BUF2           	0x85		/* Main memory page through buffer 2 */#define DB_PAGE_FastPGM_BUF2       	0x95		/* Main memory page through buffer 2, Fast program *//* ADDITIONAL COMMANDS */#define DB_PAGE_2_BUF1_TRF         	0x53		/* Main memory page to buffer 1 transfert */#define DB_PAGE_2_BUF2_TRF         	0x55		/* Main memory page to buffer 2 transfert */#define DB_PAGE_2_BUF1_CMP         	0x60		/* Main memory page to buffer 1 compare */#define DB_PAGE_2_BUF2_CMP          0x61		/* Main memory page to buffer 2 compare */#define DB_AUTO_PAGE_PGM_BUF1      	0x58		/* Auto page rewrite throught buffer 1 */#define DB_AUTO_PAGE_PGM_BUF2      	0x59		/* Auto page rewrite throught buffer 2 *//****************************************************************************************************/    #endif

⌨️ 快捷键说明

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