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

📄 def.h

📁 arm7 s3c44b0x开发板fs44b的bios启动源代码及使用说明 下载方法等
💻 H
字号:
#ifndef __DEF_H__
#define __DEF_H__

/*************************************************************************
【功能说明】类型定义
*************************************************************************/
#define U32 	unsigned int
#define U16 	unsigned short
#define S32 	int
#define S16 	short int
#define U8  	unsigned char
#define	S8  	signed char

#define	BYTE	char
#define	WORD 	short
#define	DWORD	int
#define	UINT	unsigned int
#define	LPSTR	(unsigned char *)
#define	BOOL	int
#define	USHORT	unsigned short

#define TRUE 	(unsigned int)1   
#define FALSE 	(unsigned int)0
#define	NULL	(void *)0

/*************************************************************************
【功能说明】常量定义
*************************************************************************/
#define	SIZE_1K		0x00000400
#define	SIZE_2K		0x00000800
#define	SIZE_4K		0x00001000
#define	SIZE_8K		0x00002000
#define	SIZE_16K	0x00004000
#define	SIZE_32K	0x00008000
#define	SIZE_64K	0x00010000
#define	SIZE_128K	0x00020000
#define	SIZE_256K	0x00040000
#define	SIZE_512K	0x00080000
#define	SIZE_1M		0x00100000
#define	SIZE_2M		0x00200000
#define	SIZE_4M		0x00400000
#define	SIZE_8M		0x00800000
#define	SIZE_16M	0x01000000
#define	SIZE_32M	0x02000000
#define	SIZE_64M	0x04000000
#define	SIZE_128M	0x08000000
#define	SIZE_256M	0x10000000
#define	SIZE_512M	0x20000000
#define	SIZE_1G		0x40000000
#define	SIZE_2G		0x80000000

#define	ENTER_KEY	0x0d
#define	BACK_KEY	0x08
#define BEEP_KEY	0x07
#define UP_KEY		0x41
#define DOWN_KEY	0x42
#define RIGHT_KEY	0x43
#define LEFT_KEY	0x44
#define HOME_KEY	0x48
#define END_KEY		0x4b
#define	ESC_KEY		0x1b

/*************************************************************************
【功能说明】系统时钟结构
*************************************************************************/
typedef struct{
	char *name;
	U32 freq;
}SysClock;

/*************************************************************************
【功能说明】日期时间结构
*************************************************************************/
typedef struct{
	unsigned short year;	//年
	unsigned char month;	//月
	unsigned char day;		//日
	unsigned char weekday;	//星期
	unsigned char hour;		//小时
	unsigned char min;		//分钟
	unsigned char sec;		//秒
}TIME_STRUC;

typedef struct{
	U32 vStart;
	U32 vEnd;
	U32 pStart;
	U32 attr;
}MMU_Table;

/*************************************************************************
【功能说明】分区结构
*************************************************************************/
struct Partition{
	U32 offset;
	U32 size;
	char *name;
};

/*************************************************************************
【功能说明】环境结构
*************************************************************************/
typedef struct {
	unsigned char flag[8];
	struct {							//网络结构
		unsigned long ip;				//IP 地址
		unsigned long mask;				//子网掩码
		unsigned long gate;				//网关
	}nic_cfg;							
	unsigned long baud;					//串口波特率
	unsigned int  current_uart;			//当前串口
	unsigned long clk_para[4];			//时钟
	unsigned long prog_s_addr;			//程序保存地址
	unsigned long prog_r_addr;			//程序运行地址
	struct Partition NandPartition[8];
	unsigned char boot_params[256];		//引导参数
	unsigned long boot_key;				//引导键
	unsigned long saved_in;				
	unsigned long initrd_addr;			//初始地址
	unsigned long machine;				//机器ID
}EnvParams;

/*
#define	outportb(port, data)	(*(volatile U8 *)(port) = (data))
#define	outportw(port, data)	(*(volatile U16 *)(port) = (data))
#define	outportl(port, data)	(*(volatile U32 *)(port) = (data))
#define	inportb(port)			*(volatile U8 *)(port)
#define	inportw(port)			*(volatile U16 *)(port)
#define	inportl(port)			*(volatile U32 *)(port)
*/

#endif /*__DEF_H__*/

⌨️ 快捷键说明

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