📄 ide_interface.h
字号:
//************************************************************************************************************
//************************************************************************************************************
// CompactFlash Interface Memory Map
//============================================================================================================
//============================================================================================================
#ifndef __IDE_H__
#define __IDE_H__
//---------------------------------------------------
#define data_register 0x05d001f0//0x05100020
#define error_register 0x05d005f0//0X05100024
#define sector_count 0x05d001f2//0x05100028
#define sector_number 0x05d005f2//0X0510002c
#define cylinder_low 0x05d001f4//0x05100030
#define cylinder_high 0x05d005f4//0X05100034
#define drive_head 0x05d001f6//0x05100038
#define status_register 0x05d005f6//0X0510003c
//---------------------------------------------------
#define feature_register 0x05d005f0//0X05100024
#define command_register 0x05d005f6//0X0510003c
//---------------------------------------------------
#define alternate_status 0x05d002f6//0x05100058
#define control_register 0x05d002f6//0x05100058
#define address_register 0x05d006f6//0x0510005c
//************************************************************************************************************
//************************************************************************************************************
// EXTERNAL MEMORY SPACE
//============================================================================================================
//============================================================================================================
#define R_EXT_MEM_REG_SET 0x30A00
#define R_CS0CTRL1 ((volatile unsigned short *)(R_EXT_MEM_REG_SET))
#define R_CS3CTRL1 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0000E))
#define R_CS4CTRL1 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00012))
#define R_CS1CTRL1A ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00004))
#define R_CS1CTRL1B ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00006))
#define R_CS2CTRL1 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0000A))
#define R_CS0CTRL2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00002))
#define R_CS1CTRL2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00008))
#define R_CS2CTRL2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0000C))
#define R_CS3CTRL2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00010))
#define R_CS4CTRL2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00014))
#define R_BUSCTRL ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00016))
#define R_BUSRLS ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00018))
#define R_CFCTRL1 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0001A))
#define R_CFCTRL2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0001C))
#define R_SMCTRL ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0001E))
#define R_BUSINTEN ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00020))
#define R_BUSINTSTS ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00022))
#define R_BUSSTS ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00024))
#define R_BUSWAITMD ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00026))
#define R_ECC1CP ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00028))
#define R_ECC1LP ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0002A))
#define R_ECC2CP ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0002C))
#define R_ECC2LP ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0002E))
#define R_ECCCLR ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00030))
#define R_PAGESZ ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00032))
#define R_VIFCDSPDEST ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00034))
#define R_PRIORCTL ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00036))
#define R_SOURCEADD1 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00038))
#define R_SOURCEADD2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0003A))
#define R_DESTADD1 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0003C))
#define R_DESTADD2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x0003E))
#define R_DMASIZE ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00040))
#define R_DMADEVSEL ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00042))
#define R_EMIFDMACTL ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00044))
#define R_VIFCDSPADD1 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00046))
#define R_VIFCDSPADD2 ((volatile unsigned short *)(R_EXT_MEM_REG_SET+0x00048))
//************************************************************************************************************
//************************************************************************************************************
// register type
//============================================================================================================
//============================================================================================================
#define REG_MEM *(unsigned short*)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -