📄 sst39vfxxx.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 + -