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

📄 sst39vfxxx.h

📁 2009.02.13 (Chiron.ylq) ------------------------------ 该工程用于Analog Devices VisualDSP++ V5.0开发环境
💻 H
字号:
/*
****************************************************************************************************
* File name:   sst39vfxxx.h
* Description: This is a BF533 flash driver program.
****************************************************************************************************
* Company:     WASION METERS GROUP
* Created by:  Chiron.ylq
* Date:        2009.02.11
* Description: VisualDSP++ "Flash Programmer" flash driver for use with the
*              ADSP-BF533 EZ-KIT Lite containing the STMicroelectronics sst39vfxxx
*              series flash device.
****************************************************************************************************
*/

#ifndef __SST39VF020_H__
#define __SST39VF020_H__

/*
****************************************************************************
*                              DATA TYPES
*                         (Compiler Specific)
****************************************************************************
*/

// error enum define
#include <drivers\flash\Errors.h>

typedef unsigned int    U32;
typedef   signed int    S32;
typedef unsigned short  U16;
typedef   signed short  S16;
typedef unsigned char   U8;
typedef   signed char   S8;

/*
*****************************************************************************
*                        SST39VFXXX MACRO PREDEFINE
*****************************************************************************
*/

#define SIZE_64K    0x00010000
#define SIZE_128K   0x00020000
#define SIZE_256K   0x00040000
#define SIZE_512K   0x00080000

#define SST39VF512  0
#define SST39VF010  1
#define SST39VF020  2
#define SST39VF040  3

#define SST_FLASH_TYPE   SST39VF020

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

#if SST_FLASH_TYPE == SST39VF512

    #define SST_ROM_SIZE    SIZE_64K

#elif SST_FLASH_TYPE == SST39VF010

    #define SST_ROM_SIZE    SIZE_128K

#elif SST_FLASH_TYPE == SST39VF020

    #define SST_ROM_SIZE    SIZE_256K

#elif SST_FLASH_TYPE == SST39VF040

    #define SST_ROM_SIZE    SIZE_512K

#else

    #error "sst39vfxxx.h, SST_FLASH_TYPE muse be defined!"

#endif

#define SST_SECTOR_SIZE (4*1024u)       // 4K
#define SST_SECTOR_NUM  (SST_ROM_SIZE/SST_SECTOR_SIZE)

#define SST_ROM_BASE    0x20000000      // 地址重定向到0x20000000

#define SST_CMD_ADDR0   (0x5555*2 + SST_ROM_BASE)
#define SST_CMD_ADDR1   (0x2AAA*2 + SST_ROM_BASE)
#define pSST_CMD_ADDR0  ((volatile U16 *)SST_CMD_ADDR0)
#define pSST_CMD_ADDR1  ((volatile U16 *)SST_CMD_ADDR1)

#define SST_TO_14_US    0x00003000
#define SST_TO_18_MS    0x00FFFFFF
#define SST_TO_70_MS    0x02FFFFFF

/*
*****************************************************************************
*                           SST39VFXXX SERVICES
*****************************************************************************
*/

ERROR_CODE SST_Setup_For_Flash(void);

ERROR_CODE SST_Reset_Flash(void);
ERROR_CODE SST_Product_ID (U8 *pManufacturerID, U8 *pDeviceID);

ERROR_CODE SST_Toggle_Bit(U32 ulOffset, U32 nTimeOut);
ERROR_CODE SST_Polling_Data(U32 ulOffset, U16 nData, U32 nTimeOut);

ERROR_CODE SST_Chip_Erase(void);
ERROR_CODE SST_Sector_Erase(U32 nSector);

ERROR_CODE SST_Read_Byte(U32 ulOffset, U8 *pData);
ERROR_CODE SST_Write_Byte(U32 ulOffset, U8 nValue);

ERROR_CODE SST_Read_Data(U32 ulOffset, U8 *pStr, U32 Num);
ERROR_CODE SST_Write_Data(U32 ulOffset, U8 *pStr, U32 Num);

#endif // __SST39VF020_H__
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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