亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dataflash.h

?? 此文件為zigbee2006協(xié)議棧源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/***************** Header File for STFL-I based Serial Flash Memory Driver *****

   Filename:    C2195.h
   Description: Header file for C2195.c
                Consult also the C file for more details.

                Please note that some necessary changes are made to account for the
                SPI-specific communication property. So this specification slightly differs from
                the STFL-I Specification designed for parallel NOR Flash memories.
		The major differences from the STFL-I SOFTWARE DRIVER INTERFACE
		SPECIFICATION (Specification-STFL-I-V2-1a) are listed below:
                - Flash Configuration Selection is not used.
                - BASE_ADDR is not used.
                - InstructionType enumerations are re-formulated to use SPI Flash instructions.
                - CONFIGURATION CONSTANTS are fixed, with #define INS(A) not used.
                ...

   Version:     1.1
   Date:        10-17-2005
   Authors:     Tan Zhi, Da Gang Zhou STMicroelectronics, Shanghai (China)
   Copyright (c) 2005 STMicroelectronics.

   THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
   CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A
   RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR
   CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH
   SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN
   IN CONNECTION WITH THEIR PRODUCTS.
********************************************************************************

   Version History.
   Ver.  Date         Comments

   1.0   07/07/2005   M25PE10, M25PE20 and M25PE40 support
   1.1   10/17/2005   Add M25PE80 support
*******************************************************************************/


/*************** User Change Area *******************************************

   The purpose of this section is to give all the support necessary to customize the
   SW Drivers according to the requirements of the hardware and Flash memory configuration.
   It is possible to choose the Flash memory start address, CPU Bit depth, number of Flash
   chips, hardware configuration and performance data (TimeOut Info).

   Note that data Bytes will be referred to as elements throughout the document unless otherwise specified.

   The options are listed and explained below:

   ********* Data Types *********
   The source code defines hardware independent datatypes assuming that the
   compiler implements the numerical types as follows:

   unsigned char    8 bits (defined as ST_uint8)
   char             8 bits (defined as ST_sint8)
   unsigned short   16 bits (defined as ST_uint16)
   short            16 bits (defined as ST_sint16)
   unsigned long    32 bits (defined as ST_uint32)
   long             32 bits (defined as ST_sint32)

   In case the compiler does not support the currently used numerical types,
   they can be easily changed once (only once) here in the user area of the header file.
   The data types are consequently referenced in the source code as (u)ST_sint8,
   (u)ST_sint16 and (u)ST_sint32. No other data types like 'CHAR','SHORT','INT','LONG'
   are directly used in the code.


   ********* Flash Type *********
   This driver supports the following Serial Flash memory Types

   M25PE10	1Mb Page-Erasable Serial Flash Memory	    #define USE_M25PE10
   M25PE20	2Mb Page-Erasable Serial Flash Memory	    #define USE_M25PE20
   M25PE40	4Mb Page-Erasable Serial Flash Memory	    #define USE_M25PE40
   M25PE80	8Mb Page-Erasable Serial Flash Memory	    #define USE_M25PE80

   ********* TimeOut *********
   There are timeouts implemented in the loops of the code, in order
   to enable a timeout detection for operations that would otherwise never terminate.
   There are two possibilities:

   1) The ANSI Library functions declared in 'time.h' exist

      If the current compiler supports 'time.h' the define statement
      TIME_H_EXISTS should be activated. This makes sure that
      the performance of the current evaluation HW does not change
      the timeout settings.

   2) or they are not available (COUNT_FOR_A_SECOND)

      If the current compiler does not support 'time.h', the define
      statement cannot be used. In this case the COUNT_FOR_A_SECOND
      value has to be defined so as to create a one-second delay.
      For example, if 100000 repetitions of a loop are
      needed to give a time delay of one second, then
      COUNT_FOR_A_SECOND should have the value 100000.

      Note: This delay is HW (Performance) dependent and needs,
      therefore, to be updated with every new HW.

      This driver has been tested with a certain configuration and other
      target platforms may have other performance data. The value may
      therefore have to be changed.

      It is up to the user to implement this value to prevent the code
      from timing out too early and allow correct completion of the device
      operations.


   ********* Additional Routines *********
   The drivers also provide a subroutine which displays the full
   error message instead of just an error number.

   The define statement VERBOSE activates additional Routines.
   Currently it activates the function FlashErrorStr()

   No further changes should be necessary.

*****************************************************************************/

#ifndef __DATAFLASH__H__
#define __DATAFLASH__H__

#define DRIVER_VERSION_MAJOR 1
#define DRIVER_VERSION_MINOR 0

#if 1
typedef unsigned char  ST_uint8; /* All HW dependent Basic Data Types */
typedef          char  ST_sint8;
typedef unsigned short ST_uint16;
typedef          short ST_sint16;
typedef unsigned long  ST_uint32;
typedef          long  ST_sint32;
#endif

/* With SYNCHRONOUS_IO defined, each function that sends an instruction (e.g. PE)
   will not return until the Flash memory finishes executing the instruction
   or a pre-set timeout occurs. the pre-set timeout value is in
   accordance with the datasheet of each memory.

   To achieve Send-n-Forget feature, comment out this #define*/
#define SYNCHRONOUS_IO

#define USE_M25PE10
/* Possible Values:	USE_M25PE10
					USE_M25PE20
					USE_M25PE40
					USE_M25PE80
                    */

/*#define TIME_H_EXISTS*/  /* set this macro if C-library "time.h" is supported */
/* Possible Values: TIME_H_EXISTS
                    - no define - TIME_H_EXISTS */

#ifndef TIME_H_EXISTS
  #define COUNT_FOR_A_SECOND 432666    /* Timer Usage */
#endif

#define xVERBOSE /* Activates additional Routines */
/* Currently the Error String Definition */

/********************** End of User Change Area *****************************/

/*******************************************************************************
     DERIVED DATATYPES
*******************************************************************************/
/******** InstructionCode ********/
enum
{
	//instruction set
	SPI_FLASH_INS_WREN      = 0x06,		// Write Enable
	SPI_FLASH_INS_WRDI      = 0x04,		// Write Disable
	SPI_FLASH_INS_RDSR	    = 0x05,		// Read Status Register
	SPI_FLASH_INS_WRSR      = 0x01,		// write status register
	SPI_FLASH_INS_READ	    = 0x03,		// Read Data Bytes
	SPI_FLASH_INS_FAST_READ = 0x0B,		// Read Data Bytes at Higher Speed
	SPI_FLASH_INS_PP	      = 0x02,		// Page Program
	SPI_FLASH_INS_SE	      = 0xD8,		// Sector Erase
	SPI_FLASH_INS_BE        = 0xC7,     // Bulk Erase
	SPI_FLASH_INS_DP	      = 0xB9,		// Deep Power-down
	SPI_FLASH_INS_RDID	    = 0x9F,		// Read Identification
	SPI_FLASH_INS_PW	      = 0x0A,		// Page Write
	SPI_FLASH_INS_PE	      = 0xDB,		// Page Erase
	SPI_FLASH_INS_WRLR      = 0xE5,     // Write to Lock Register	
	SPI_FLASH_INS_RDLR      = 0xE8,     // Read Lock Register
	SPI_FLASH_INS_RDP	      = 0xAB,		// Release from Deep Power-down
	SPI_FLASH_INS_DUMMY	    = 0xAA		// dummy byte to check Deep Power-down.
};


/******** InstructionType ********/

typedef enum {
    WriteEnable,
    WriteDisable,
    ReadDeviceIdentification,
    ReadManufacturerIdentification,
    ReadStatusRegister,
    Read,
    FastRead,
    PageWrite,
    PageProgram,
    PageErase,
    SectorErase,
    BulkErase,
    DeepPowerDown,
    ReleaseFromDeepPowerDown,
    Write,
    Program,
    ReadLockRegister,
    WriteLockRegister,
} InstructionType;

/******** ReturnType ********/

typedef enum {
    Flash_AddressInvalid,
    Flash_MemoryOverflow,
    Flash_PageEraseFailed,
    Flash_PageNrInvalid,
    Flash_SectorNrInvalid,
    Flash_FunctionNotSupported,
    Flash_NoInformationAvailable,
    Flash_OperationOngoing,
    Flash_OperationTimeOut,
    Flash_ProgramFailed,
    Flash_WrongType,
    Flash_Success
} ReturnType;

/******** SectorType ********/

typedef ST_uint16 uSectorType;

/******** PageType ********/

typedef ST_uint16 uPageType;

/******** AddrType ********/

typedef ST_uint32 uAddrType;

/******** ParameterType ********/

typedef union {

    /**** WriteEnable has no parameters ****/

    /**** WriteDisable has no parameters ****/

    /**** FlashDeepPowerDown has no parameters ****/

    /**** FlashReleaseFromDeepPowerDown has no parameters ****/

    /**** FlashBulkErase has no parameters ****/

    /**** ReadDeviceIdentification Parameters ****/
    struct {
      ST_uint16 ucDeviceIdentification;
    } ReadDeviceIdentification;

    /**** ReadManufacturerIdentification Parameters ****/
    struct {
      ST_uint8 ucManufacturerIdentification;
    } ReadManufacturerIdentification;

    /**** ReadStatusRegister Parameters ****/
    struct {
      ST_uint8 ucStatusRegister;
    } ReadStatusRegister;

    /**** Read Parameters ****/
    struct {
      uAddrType udAddr;
      ST_uint32 udNrOfElementsToRead;
      void *pArray;
    } Read;

    /**** FastRead Parameters ****/
    struct {
      uAddrType udAddr;
      ST_uint32 udNrOfElementsToRead;
      void *pArray;
    } FastRead;

    /**** PageWrite Parameters ****/
    struct {
      uAddrType udAddr;
      ST_uint32 udNrOfElementsInArray;
      void *pArray;
    } PageWrite;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频中文字幕| 日韩一区二区麻豆国产| 麻豆精品视频在线观看视频| 久久久久99精品一区| 在线观看亚洲专区| 粉嫩aⅴ一区二区三区四区五区| 亚洲福利视频三区| 国产精品久久久久影院亚瑟| 精品国产人成亚洲区| 欧美色男人天堂| 在线免费精品视频| 成人一级片在线观看| 蜜桃视频在线观看一区| 亚洲一区免费视频| 国产精品久久福利| 久久精品夜夜夜夜久久| 欧美大片在线观看| 欧美妇女性影城| 欧美性猛片aaaaaaa做受| 丁香网亚洲国际| 国产精品中文有码| 久草热8精品视频在线观看| 亚洲国产精品一区二区www| 1024国产精品| 中文字幕一区二区不卡| 国产日韩精品一区二区三区 | 久久久久久久久97黄色工厂| 在线电影院国产精品| 91福利在线播放| 91在线视频播放| 99国产精品国产精品毛片| 国产91精品一区二区麻豆网站| 久久精品国产网站| 日韩av网站在线观看| 日韩在线卡一卡二| 免费高清不卡av| 麻豆一区二区三| 蜜臀av性久久久久蜜臀aⅴ | 日韩免费高清av| 日韩欧美一区二区在线视频| 在线成人小视频| 日韩免费在线观看| 精品久久久久久久久久久久久久久久久| 欧美电影在哪看比较好| 91麻豆精品国产91久久久更新时间| 欧美精品在线观看一区二区| 欧美精品乱码久久久久久按摩| 欧美精品三级在线观看| 欧美一区二区视频在线观看2020| 制服视频三区第一页精品| 69成人精品免费视频| 日韩视频在线一区二区| www久久精品| 国产精品久久久久久久浪潮网站 | 国产综合色在线| 国产91精品露脸国语对白| 成人av影院在线| 在线视频欧美区| 这里只有精品免费| 2021国产精品久久精品| 国产精品麻豆99久久久久久| 中文字幕一区日韩精品欧美| 亚洲裸体xxx| 欧美aaa在线| 国产精品一级在线| www.66久久| 国产欧美日韩久久| 亚洲国产经典视频| 亚洲国产中文字幕在线视频综合| 免费人成在线不卡| 岛国一区二区三区| 欧美伊人久久久久久久久影院| 欧美一区二区三区免费大片| 亚洲国产精品传媒在线观看| 一个色在线综合| 久久综合综合久久综合| 99国产精品99久久久久久| 欧美男男青年gay1069videost | 久久蜜桃一区二区| 一区二区三区四区不卡视频| 裸体在线国模精品偷拍| 97久久精品人人爽人人爽蜜臀| 欧美撒尿777hd撒尿| 国产欧美综合在线观看第十页| 亚洲一区电影777| 国产aⅴ精品一区二区三区色成熟| 在线视频欧美区| 国产日产欧美一区| 日本中文字幕一区| 97久久超碰国产精品| 欧美大片在线观看| 一级女性全黄久久生活片免费| 国产制服丝袜一区| 欧美中文字幕一二三区视频| 久久综合九色综合久久久精品综合 | 亚洲欧美激情在线| 国产又黄又大久久| 欧美精品自拍偷拍| 亚洲欧美偷拍三级| 国产精品自拍在线| 在线不卡一区二区| 亚洲少妇中出一区| 国产麻豆成人精品| 91精品国产综合久久久蜜臀粉嫩| 中文字幕在线观看一区二区| 久久香蕉国产线看观看99| 日韩无一区二区| 国产精品女同一区二区三区| 麻豆91精品91久久久的内涵| 在线这里只有精品| 国产精品不卡一区| 国产精品一区二区果冻传媒| 欧美一区二区国产| 午夜欧美电影在线观看| 色天使色偷偷av一区二区| 中文一区二区在线观看| 精品一区二区日韩| 亚洲精品第一国产综合野| 成人丝袜18视频在线观看| 国产日韩欧美电影| 国产69精品久久99不卡| 国产天堂亚洲国产碰碰| 成人美女在线观看| 日韩精品在线网站| 日韩二区三区四区| 日韩一区二区在线看| 热久久一区二区| 久久久久国产精品人| 成人av在线看| 亚洲成在线观看| 久久影院电视剧免费观看| 国产一区二区福利| 一区二区三区日韩欧美精品| 欧美日韩一区久久| 国产精品一区二区视频| 亚洲精品中文在线影院| 日韩午夜激情电影| 日本韩国欧美一区二区三区| 色哦色哦哦色天天综合| 亚洲高清一区二区三区| 26uuu精品一区二区在线观看| 日韩中文字幕91| 久久亚洲春色中文字幕久久久| 91国偷自产一区二区使用方法| 成人在线视频一区| 欧美日韩你懂得| 亚洲少妇30p| 亚洲成国产人片在线观看| 欧美人动与zoxxxx乱| 免费久久99精品国产| 欧美v亚洲v综合ⅴ国产v| 国产精品1区2区| 中文字幕在线一区免费| 日本高清不卡在线观看| 亚洲不卡在线观看| 日韩亚洲欧美在线| 国产福利视频一区二区三区| 国产精品久久久久久久久动漫| 91在线免费播放| 图片区小说区国产精品视频 | 91精品国产综合久久精品麻豆 | 免费一区二区视频| 欧美一区二区三区思思人| 国产一区日韩二区欧美三区| 国产精品免费aⅴ片在线观看| 色综合天天天天做夜夜夜夜做| 亚洲一区av在线| 日韩精品中文字幕在线一区| 成人性色生活片免费看爆迷你毛片| 中文字幕一区二| 欧美福利视频一区| 国产成人精品www牛牛影视| 亚洲蜜臀av乱码久久精品| 91精品国产色综合久久不卡蜜臀 | 亚洲人被黑人高潮完整版| 欧美精品精品一区| 国产精品一区2区| 亚洲一区中文日韩| 337p粉嫩大胆噜噜噜噜噜91av| 99国产麻豆精品| 老司机精品视频导航| 亚洲嫩草精品久久| 精品久久免费看| 91国产福利在线| 国产在线国偷精品产拍免费yy| 亚洲美女屁股眼交| 欧美成人vps| 日本电影亚洲天堂一区| 久久电影网站中文字幕| 日韩久久一区二区| 精品久久久久一区| 欧美三级日韩三级国产三级| 高清不卡在线观看| 男人的天堂久久精品| 亚洲欧洲制服丝袜| 久久久91精品国产一区二区三区| 欧美日韩黄色一区二区| av影院午夜一区| 国内精品嫩模私拍在线| 亚洲h在线观看|