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

📄 flashdev.h

📁 umon bootloader source code, support mips cpu.
💻 H
字号:
/* 
 * flash.h
 *
 * by Thomas E. Arvanits (tharvan@inaccessnetworks.com)
 *
 * Original header file for use with 29F128J3A (intel strata flash)
 * for 16 bit mode, in x2 configuration for 32 bit access.
 *
 * Modified by els for use with alchemy hardware.
 */
#ifndef _flash_h
#define _flash_h

/* 
 * FLASHFUNCSIZE:
 * Size of the array used by the flash operations to copy functions into
 * RAM space for execution out of non-flash memory.
 */
#define FLASHFUNCSIZE		320

#define FLASH_TIMEOUT		1000000

/* Manufacturer and device ids... */
#define INTEL28F128J	0x00890018

#define WIDTH		4
#define WIDTH_IN_BYTES	4
#define WIDTH_IN_BITS	32
#define WIDTH_MASK	1

#define	ftype			    volatile unsigned long

#define FLASHLOCK	    Flashlock32
#define ENDFLASHLOCK	    EndFlashlock32
#define FLASHERASE	    Flasherase32
#define ENDFLASHERASE	    EndFlasherase32
#define FLASHWRITE	    Flashwrite32
#define ENDFLASHWRITE	    EndFlashwrite32
#define FLASHEWRITE	    Flashewrite32
#define ENDFLASHEWRITE	    EndFlashewrite32
#define FLASHTYPE	    Flashtype32
#define ENDFLASHTYPE	    EndFlashtype32

#define FWrite(to,frm)		(*(ftype *)(to) = *(ftype *)(frm))
#define Write_to(add, val)	(*(ftype *)(add) = (val))
#define Write_01_to(add)	(*(ftype *)(add) = 0x00010001)
#define Write_20_to(add)	(*(ftype *)(add) = 0x00200020)
#define Write_40_to(add)	(*(ftype *)(add) = 0x00400040)
#define Write_70_to(add)	(*(ftype *)(add) = 0x00700070)
#define Write_d0_to(add)	(*(ftype *)(add) = 0x00d000d0)

#define Write_50_to_base()	(*(ftype *)(fdev->base) = 0x00500050)
#define Write_60_to_base()	(*(ftype *)(fdev->base) = 0x00600060)
#define Write_70_to_base()	(*(ftype *)(fdev->base) = 0x00700070)
#define Write_90_to_base()	(*(ftype *)(fdev->base) = 0x00900090)
#define Write_ff_to_base()	(*(ftype *)(fdev->base) = 0x00FF00FF)

#define Read_from(add)		(*(ftype *)(add))
#define Read_0000_from_base()	(*(ftype *)(fdev->base+(0x00000000<<2)))
#define Read_0001_from_base()	(*(ftype *)(fdev->base+(0x00000001<<2)))
#define Read_5555_from_base()	(*(ftype *)(fdev->base+(0x5555<<1)))

#define Is_ff(add)		(*(ftype *)(add) == 0xFFFFFFFF)
#define Is_not_ff(add)		(*(ftype *)(add) != 0xFFFFFFFF)

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

#define Not32BitAligned(ptr)	((long)ptr & 3)

#endif /* _flash_h */

⌨️ 快捷键说明

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