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

📄 norflash.h

📁 LPC2220的Bootloader自己写的,和 周立功的模版实现完全不一样
💻 H
字号:
//***************************************************************
//  ARM BOOT ROUTE VER1.0@0x0C000000 for 44B0X release
//  bjwork2007@gmail.com
//  chenjun @ 2005-6-10
//***************************************************************

#ifndef _NORFLASH_H_
#define _NORFLASH_H_

	#define AT49BV162_3 	0
	#define SST39VF160		1

	#define NorFlash_Type	SST39VF160
	#define	ROM_BASE		0x80000000

	#define APPBootBase (0x10000+ROM_BASE)
	#define APPBase		(0x40000+ROM_BASE)
	
	extern unsigned char state; //全局,存放程序当前的运行状态
	//***************************************************************
	#if(NorFlash_Type==AT49BV162_3)
		
		#define FlashSize	0x200000
		#define	CMD_ADDR0	((0x0555 << 1) + ROM_BASE)
		#define	CMD_ADDR1	((0x0aaa << 1) + ROM_BASE)

		void FlashRead(unsigned int ReadFlashStart, unsigned int SdramPrt, unsigned int Size);
		unsigned char FlashProg(unsigned int ReadFlashStart, unsigned int SdramPrt, unsigned int Size);
		void SetConfigReg(unsigned char mode);
		unsigned char DataPolling(unsigned int Address);
		unsigned char ChipErase(void);
		unsigned char SectorErase(unsigned int sector);
		unsigned char WordProg(unsigned int tempadd,unsigned short tempdata);
		void EnterSingerPulseProgMode(void);
		unsigned char SinglePulseByteProg(unsigned int tempadd,unsigned char tempdata);
		void SectorLock(unsigned int sector);
		void ProductIDEntry(void);
		void ProductIDExit(void);
		void CFIQueryExit(void);
		void ProgPR(unsigned char PRA,unsigned char tempdata);
		void LockPR(void);
		unsigned char StatusBP(void);
		void CFIQueryEntry(void);
		unsigned int GetFlashID(void);

	#elif(NorFlash_Type==SST39VF160)

		#define FlashSize	0x200000
		#define	CMD_ADDR0	((0x5555 << 1) + ROM_BASE)
		#define	CMD_ADDR1	((0x2aaa << 1) + ROM_BASE)
		
		void FlashRead(unsigned int ReadFlashStart, unsigned int SdramPrt, unsigned int Size);
		unsigned char FlashProg(unsigned int ReadFlashStart, unsigned int SdramPrt, unsigned int Size);
		unsigned char WordProg(unsigned int tempadd,unsigned short tempdata);
		unsigned char DataPolling(unsigned int Address);
		unsigned char ChipErase(void);
		unsigned char SectorErase(unsigned int sector);
		unsigned char BlockErase(unsigned int Block);
		void ProductIDEntry(void);
		void ProductIDExit(void);
		void CFIQueryExit(void);
		void CFIQueryEntry(void);
		unsigned int GetFlashID(void);

	#endif

#endif

⌨️ 快捷键说明

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