📄 nan.h
字号:
/****************************************Copyright (c)**************************************************
**
**
** ** 杭州央海软件科技有限公司(armgcc@foxmail.com)
**
** http://www.armgcc.com
**
**--------------文件信息--------------------------------------------------------------------------------
** 文 件 名: nan.h
** 创 建 人: 罗辉联
** 创建日期: 2007年11月10日
** 描 述: 该文件包含了所有NAN FLASH 功能函数原型与所需要的常量
**
** 技术顾问: 楼东武(副教授) 浙江大学信电系
**
**---------- 版本信息-----------------------------------------------------------------------------------
** 版 本: V1.0
** 说 明:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "types.h"
/************************************** 宏定义,常量定义 ******************************************/
//NAN 操作定义
#define NAN_ADDRESS_BASE (0x66000000)
#define NAN_ALE (NAN_ADDRESS_BASE + 4)
#define NAN_CLE (NAN_ADDRESS_BASE + 2)
#define NAN_WRITE_COMMAND(command) \
(*(volatile UINT8 *)NAN_CLE) = (UINT8)(command)
#define NAN_WRITE_ADDRESS(address) \
(*(volatile UINT8 *)NAN_ALE) = (UINT8)(address)
#define NAN_WRITE_DATA(data) \
(*(volatile UINT8 *)NAN_ADDRESS_BASE) = (UINT8)(data)
#define NAN_READ_DATA() (*(volatile UINT8 *)NAN_ADDRESS_BASE)
#define NAN_GET_RB (GPIO_ReadBit(GPIO2,11))
//NAN 信息定义
#define NAN_BLOCKS (1 << 12)
#define NAN_PAGE_PER_BLOCK (1 << 5)
#define NAN_PAGES (1 << 17)
#define NAN_PAGE_SIZE (528)
#define NAN_HALF_ADDRESS (256)
#define NAN_SPARE_ADDRESS (512)
/************************************** 枚举类型定义 *******************************************/
//函数返回信息定义
typedef enum
{
NAN_SUCCESS = 0,
NAN_TIMEOUT,
NAN_PROGRAM_ERROR,
NAN_COPY_ERROR,
nan_earse_ERROR,
NAN_PARA_ERROR,
NAN_BLOCK_ERROR
}NAN_RETURN_T;
/************************************** 结构体类型定义 ******************************************/
/********************************** 全局外部函数原型声明 *****************************************/
extern UINT32 nan_get_id(void);
extern void nan_poll_bad_blocks(void);
extern NAN_RETURN_T nan_earse(UINT32 block);
extern NAN_RETURN_T nan_program(UINT32 page,UINT16 column, UINT8 * p_data, UINT16 size);
extern NAN_RETURN_T nan_read(UINT32 page, UINT16 column, UINT8 * p_buf, UINT16 size);
extern NAN_RETURN_T nan_copy_back(UINT32 src_page, UINT32 dest_page);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -