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

📄 flash.h

📁 《ARM与嵌入式系统基础教程》
💻 H
字号:
//*------------------------------------------------------------------------------------------------
//* 文件名		   : flash.c
//* 功能描述	   : flash驱动函数
//* 作者    	   : 焦海波
//* 版本		   : 0.2
//* 建立日期、时间 : 2006/06/29 08:54
//* 修改日期、时间 : 
//* 修改原因	   : 
//*------------------------------------------------------------------------------------------------
#ifndef	__flash_h__
#define	__flash_h__
//*------------------------------------- 常量、变量、宏 --------------------------------------------
#define	ERR_WFLASH_OK	 			0				//* 写入成功
#define	ERR_WFLASH_INVALID_ADDR	 	1				//* 指定写入的地址无效
#define	ERR_WFLASH_LOCK				2				//* 正在编程的页面已被锁定
#define	ERR_WFLASH_PROG				3				//* 编程出错
#define	ERR_WFLASH_UNLOCK			4				//* 解锁出错。参数cIsLocked为TRUE时,该返回值有效

//* 网络配置参数
#define	DOMAIN_NAME_LEN				127				//* 域名最大长度
typedef struct {
	INT32U		u32Flag;
	INT32U		u32IP;
	INT32U		u32NetMask;
	INT32U		u32Gateway;
	INT8S		szDN[DOMAIN_NAME_LEN + 1];
} ST_NET_CFG_PARAM;

#define	NET_CFG_FLAG				0x00ABCDEF		//* 网络参数配置标志
#define	SET_HTML_STORE_ADDR			0x00114100		//* set.html文件的存储地址
#define	SET1_HTML_STORE_ADDR		0x00114C00		//* set1.html文件的存储地址
#define	NET_CFG_PARAM_STORE_ADDR	0x00114F00		//* 网络参数存储地址

#define	PST_NET_CFG_PARAM			((ST_NET_CFG_PARAM*)NET_CFG_PARAM_STORE_ADDR)		//* 以结构指针的形式定义网络参数存储地址
#define	ST_NETCFG_PARAM_HDR_LEN		16													//* 指定ST_NET_CFG_PARAM结构前三个成员的长度		

#define	macGetIPAddr(s8Index)		(INT8U)(*(((INT8S*)NET_CFG_PARAM_STORE_ADDR) + 4 + s8Index))
#define	macGetNetMask(s8Index)		(INT8U)(*(((INT8S*)NET_CFG_PARAM_STORE_ADDR) + 8 + s8Index))
#define	macGetGateway(s8Index)		(INT8U)(*(((INT8S*)NET_CFG_PARAM_STORE_ADDR) + 12 + s8Index))
//*------------------------------------------ 函数原型声明 -----------------------------------------
extern int DFL_IsLockedPage(INT16S s16PageIdx);
extern int DFL_PageLock(INT16S s16PageIdx);
extern int DFL_PageUnlock(INT16S s16PageIdx);
extern unsigned int DFL_WriteFlash(INT32U *pu32From, INT32U u32To, INT32S s32Size);
extern unsigned int DFL_WriteAndLockFlash(INT32U *pu32From, INT32U u32To, INT32S s32Size);
extern int DFL_EraseAllFlash(void);
extern int DFL_SetNVM(INT8S s8NVMBit);
extern int DFL_ClearNVM(INT8S s8NVMBit);

extern BOOLEAN blSetNetCFGParam(INT32U u32IP, INT32U u32NetMask, INT32U u32Gateway);
extern BOOLEAN blSetDN(INT8S *pszDN, INT32S s32Len);
extern void vReadASCIIIP(INT8S *pszIP);
extern void vReadASCIINetMask(INT8S *pszNetMask);
extern void vReadASCIIGateway(INT8S *pszGateway);
#endif

⌨️ 快捷键说明

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