flash_lpc.h

来自「lpc-h22xx.zip 一款LPC2214开发板的代码。功能是测试开发板」· C头文件 代码 · 共 50 行

H
50
字号
/*
 * $Revision: 1.0 $
 */

#ifndef __FLASH_LPC
#define __FLASH_LPC
#include "config.h"

#define TRUE	1
#define FALSE	0
#define PASS	0
#define FAIL	-1

#define MAX_WRITE_BUFF		0x0F

typedef enum 
{
  MANUFACTURER_ID = 0,
  DEVICE_ID = 1,
  BLOCK_LOCK_STATUS = 2,
  PROTECTION_REG_LOCK_STATUS = 0x80
} DEV_INDENT_CODE_DEF;

typedef enum
{
  UNKNOW_MAN_ID = 0,
  INTEL_MAN_ID,MXID_MAN,
}FLASH_DEV_MANUFACTURER_ID_DEF;

// Flash const

#define FLASH_BOOT              0x8000                   //First 0x8000 bytes reserved for boot loader etc.

//#define FLASH_SIZE              0x10000        // Total area of Flash region in words 8 bit
//#define FLASH_WIDTH             16              // Effective Flash width (device width * FLASH_PAR_DEVICES)
//#define FLASH_SEQ_DEV           1               // Number of sequenctial flash devices
//#define FLASH_PAR_DEV           1               // Number of devices used to provide wider access width
#define FLASH_BLOCK             32768           // Block Size in words 32Kwords

int command(unsigned char command, unsigned short *address);
int ReadyWait(unsigned short* address,unsigned short data, FLASH_DEV_MANUFACTURER_ID_DEF DevID);
int FlashID(unsigned short* address);
int Flash_Unlock_Block(unsigned short *address,FLASH_DEV_MANUFACTURER_ID_DEF DevID);
int Flash_Write_Word(unsigned long *address, unsigned long data, FLASH_DEV_MANUFACTURER_ID_DEF DevID);
int Flash_Write_Area(unsigned long *address, long *data, long size, FLASH_DEV_MANUFACTURER_ID_DEF DevID);
int Flash_Erase_Block(unsigned long *address, FLASH_DEV_MANUFACTURER_ID_DEF DevID);
int Flash_Erase_Blocks(unsigned long *address, long size, FLASH_DEV_MANUFACTURER_ID_DEF DevID);

#endif // __FLASH_LPC

⌨️ 快捷键说明

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