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