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

📄 flashmem.h

📁 这是micrel公司宽带路由ARM9芯片的VXWORKS BSP 源代码
💻 H
字号:
/* flashMem.h - generic FLASH memory header */

/* Copyright 1994 Wind River Systems, Inc. */

/*
modification history
--------------------
28Apr04,pcd      Added to support AMD AM29LV033 flash chip. This code will be used for both KS8695 CPU board.
01b,04Jan00,twh  Add structure definitions and function templates for new
                 flash driver
01a,08jan94,dzb  created.
*/

/*
DESCRIPTION
This file contains header information for generic FLASH memory routines.


8bit 4MByte of AMD AM29LV017 memoy layout (BF50-0000 to BFD0-0000)
------------------------------------------------------------------
Sector  Address Range    CPU Virtual  Stored
                         address
SA0     000000-00FFFF    BF50-0000    bootRom (16 secotr:1MB)
SA1     010000-01FFFF    
              .
              .
SA16    100000-10FFFF                 vxWorks (32 sector:2MB)
SA17    110000-11FFFF
              .
              .
SA48    1F0000-1FFFFF                 NVM+    (15 secotr:1MB - 64KB)
SA33    1F0000-1FFFFF         
              .
              .
SA63    1F0000-1FFFFF                 Boot line (boot params) (1 sector:64KB)
*/


#ifndef __INCflashMemh
#define __INCflashMemh

#ifdef __cplusplus
extern "C" {
#endif



/* defines */

#define FLASH_BANK_WIDTH           FLASH_WIDTH 		/* 8-bit flash for now */

#define	FLASH_SECTOR_SIZE	       FLASH_SIZE       /* size of per-sector (64k) */
#define	FLASH_BANK_SECTOR_SIZE	(  FLASH_SECTOR_SIZE * FLASH_BANK_WIDTH)


#define	FLASH_ERASE_TIMEOUT_COUNT  10 /*750*/
#define	FLASH_ERASE_TIMEOUT_TICKS  2

#define EB_FLASH_SECTORS           64               /* total sectors to be erased */

#define SECTOR_0	               0      
#define SECTOR_16                  16
#define SECTOR_48                  48
#define SECTOR_63                  63

/* Boot ROM Beginning sector number */
#define BOOT_BEGIN_SECTOR          SECTOR_0      

/* Application (vxWorks.Z) Beginning sector number */
#define APPLICATION_BEGIN_SECTOR   SECTOR_16      

/* NVM+ Beginning sector number */
#define NVM_BEGIN_SECTOR           SECTOR_48      

/* boot line (boot params) Beginning sector number */
#define FLASH_ADRS_BEGIN_SECTOR    SECTOR_63      



/* FLASH BASE ADDRESS */
#define FLASH_BASE_ADDRESS         FLASH_BASE


/* Boot ROM Beginning address */
#define BOOT_SECTOR_BASE_ADDRESS        FLASH_BASE_ADDRESS                     

/* Application (vxWorks.Z) Beginning address */
#define APPLICATION_SECTOR_BASE_ADDRESS (FLASH_BASE_ADDRESS + \
                                         APPLICATION_BEGIN_SECTOR * FLASH_BANK_SECTOR_SIZE)

/* NVM+ Beginning address */
#define NVM_SECTOR_BASE_ADDRESS         (FLASH_BASE_ADDRESS + \
                                         NVM_BEGIN_SECTOR * FLASH_BANK_SECTOR_SIZE)

/* boot line (boot params) Beginning address */
#define FLASH_ADRS                      (FLASH_BASE_ADDRESS + \
                                         FLASH_ADRS_BEGIN_SECTOR * FLASH_BANK_SECTOR_SIZE)


/* AMD AM29LV033 FLASH29 command register addresses */

#define	FLASH_5555H_OFFSET	       0x5555
#define	FLASH_2AAAH_OFFSET	       0x2AAA

#define	FLASH_5555H_PTR	(FLASH_DEF *)((int)(FLASH_5555H_OFFSET + (FLASH_BASE_ADDRESS * FLASH_WIDTH) ))
#define	FLASH_2AAAH_PTR	(FLASH_DEF *)((int)(FLASH_2AAAH_OFFSET + (FLASH_BASE_ADDRESS * FLASH_WIDTH) ))
                                                    
    
/* function declarations */


#ifdef __cplusplus
}
#endif

#endif /* __INCflashMemh */

⌨️ 快捷键说明

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