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

📄 flashdev.h

📁 umon bootloader source code, support mips cpu.
💻 H
字号:
/*******************************************************************************
Copyright (c) Lucent Technologies, 1999.  All rights reserved.

FILENAME:      Flash.c

DESCRIPTION:   Flash utility

================================================================================
EDIT HISTORY:

DATE      INITIALS  ABSTRACT
03-25-99  M. Hunag  Created.

*******************************************************************************/
/* flash.h:
   Header file for use with 29F800B for 16 bit mode.
*/
/* FLASHFUNCSIZE:
	Size of the array used by the flash operations to copy functions into
	RAM space for execution out of non-flash memory.
*/
#include "config.h"

#define FLASHFUNCSIZE		350

#define FLASH_TIMEOUT		1000000

/* Manufacturer and device ids... */
#ifdef ATLAS_BOARD
#define AMD29F800T	0x000122d6
#define AMD29F800B	0x00012258
#else

#if FLASH_29F160
#define AMD29LV160T		0x000122C4
#define AMD29LV160BB	0x00012249
#elif FLASH_29F800
#define M29W800B	    0x0020005b
#define AM29LV800BB	  0x0001225b
#define AMD29F800B	  0x00012258
#define AMD29F800T	  0x000122d6
#endif

#endif

#define WIDTH			2
#define WIDTH_IN_BYTES	2
#define WIDTH_IN_BITS	16
#define WIDTH_MASK		1
#define	ftype			    volatile unsigned short
#define FLASHERASE		    Flasherase16
#define ENDFLASHERASE	    EndFlasherase16
#define FLASHWRITE		    Flashwrite16
#define ENDFLASHWRITE	    EndFlashwrite16
#define FLASHEWRITE		    Flashewrite16
#define ENDFLASHEWRITE	    EndFlashewrite16
#define FLASHTYPE		    Flashtype16
#define ENDFLASHTYPE	    EndFlashtype16
#define	NotAligned(ptr)	    ((long)ptr & 1)
#define Write_aa_to_555()  (*(ftype *)(fdev->base+(0x555<<1)) = 0xaaaa)
#define Write_55_to_2aa()  (*(ftype *)(fdev->base+(0x2aa<<1)) = 0x5555)
#define Write_80_to_555()  (*(ftype *)(fdev->base+(0x555<<1)) = 0x8080)
#define Write_a0_to_555()  (*(ftype *)(fdev->base+(0x555<<1)) = 0xa0a0)
#define Write_f0_to_555()  (*(ftype *)(fdev->base+(0x555<<1)) = 0xf0f0)
#define Write_90_to_555()  (*(ftype *)(fdev->base+(0x555<<1)) = 0x9090)
#define Write_30_to_(add)   (*(ftype *)add = 0x3030)
#define Read_0000()		    (*(ftype *)(fdev->base+(0x0000<<1)))
#define Read_0001()		    (*(ftype *)(fdev->base+(0x0001<<1)))
#define Read_5555()		    (*(ftype *)(fdev->base+(0x5555<<1)))
#define Is_ff(add)		    (*(ftype *)add == 0xffff)
#define Is_not_ff(add)	    (*(ftype *)add != 0xffff)
#define D5_Timeout(add)	    ((*(ftype *)add & 0xdfdf) == 0x2020)

#define Fwrite(to,frm)      (*(ftype *)to = *(ftype *)frm)
#define Is_Equal(p1,p2)     (*(ftype *)p1 == *(ftype *)p2)
#define Is_Not_Equal(p1,p2) (*(ftype *)p1 != *(ftype *)p2)

⌨️ 快捷键说明

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