📄 norflash.h
字号:
#ifndef NORFLASH_H
#define NORFLASH_H
//********************** Including Libs **********************
#include "Comdef.h"
#include "2410.h"
//**************** Structure & Type Definition ****************
typedef volatile unsigned long vu_long;
typedef volatile unsigned short vu_short;
//********************** Macro Definition **********************
#define NOR_FLASH_SECTOR_SIZE 0x20000 // Nor Flash的扇区大小
//注意:顺序号要连续
#define NOR_FLASH_AM29LV320D 1
#define NOR_FLASH_AM29LV160D 2
#define NOR_FLASH_AM29LV800B 3
#define NOR_FLASH_S29GL256N 4
#define TRUE 1
#define FALSE 0
#define CFG_HZ 1562500
#define CFG_FLASH_ERASE_TOUT (15*CFG_HZ) /* :Timeout for Flash Erase */
#define CFG_FLASH_WRITE_TOUT (2*CFG_HZ) /* Timeout for Flash Write */
//NORFLASH偏移地址的定义
#define FLASH_ADDRESS 0x00000000 //定义NORFLASH的起始地址
//NORFLAHS复位引脚
#define Set_MRST() ( rGPCDAT |= (0x01<<14) )
#define Clr_MRST() ( rGPCDAT &= ~(0x01<<14) )
//NORFLASH的WP引脚
#define Set_FLASHWP() ( rGPDDAT |= (0x01<<5) )
#define Clr_FLASHWP() ( rGPDDAT &= ~(0x01<<5) )
//NORFLASH的忙标记判断定义(0为忙)
#define FLASHReady (rGPDDAT&(0x01<<2))
//********************** Local Function **********************
#ifdef __NORFLASH
#define EXTERN
#else
#define EXTERN extern
#endif
EXTERN BYTE ReadNorFlashType (void);
EXTERN BYTE EraseSector(WORD wSector);
EXTERN int Writeflash (uchar *src, ulong addr, ulong cnt);
#undef EXTERN
//********************** Extern Variable **********************
//********************** Extern Function **********************
void enable_interrupts (void);
void disable_interrupts (void);
ulong get_timer(int t);
//*****************************************************************
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -