📄 base.h
字号:
//*******************************************************************
// Copyright 2003 SHENZHEN UNIVERSITY EDA CENTER
//*******************************************************************
// File Name : base.h
// Abstract : define type header file
// Modifications :
// Model 1.0
// Rev. Date Coded by
// 0.0.1 03-05-29 K.H.Li frist release
//*******************************************************************
#ifndef _BASE_H
#define _BASE_H
#include "type.h"
#include "mcf5249.h"
//*******************************************************************
// hardware #defines
//*******************************************************************
#define DISABLEIRQ5 imm2->gpio.GIEN &= ~MCF5249_GPIO5_HL
#define ENABLEIRQ5 imm2->gpio.GIEN |= MCF5249_GPIO5_HL
// OUTPUT
#define IDE_RST 0x0001
#define D12_RST 0x0002
#define SMC_CE 0x0004
#define FLA_CE 0x0008
#define D12_PD 0x0010
#define FLA_WP 0x0020
// STATUS
#define D12_IRQ 0x0040
#define IDE_IRQ 0x0020
#define D12_SUSPD 0x0010
#define SMC_RB 0x0008
#define SMC_WP 0x0004
#define SMC_CD 0x0002
#define SMC_LVD 0x0001
//*************************************************************************
// basic #defines
//*************************************************************************
// USB address
#define D12_DATA (0x30F00000)
#define D12_COMMAND (0x30F00002)
// IDE register
#define IDE_DATA (0x30E000E0)
#define IDE_ERR (0x30E000E2)
#define IDE_SEC_CNT (0x30E000E4)
#define IDE_SECTOR (0x30E000E6)
#define IDE_CYL_LSB (0x30E000E8)
#define IDE_CYL_MSB (0x30E000EA)
#define IDE_HEAD (0x30E000EC)
#define IDE_COMMAND (0x30E000EE)
#define IDE_STATUS (0x30E000EE)
#define IDE_CONTROL (0x30E000DC)
#define IDE_ASTATUS (0x30E000DC)
// CFC register
#define CFC_DATA (0x30E000B0)
#define CFC_ERR (0x30E000B2)
#define CFC_SEC_CNT (0x30E000B4)
#define CFC_SECTOR (0x30E000B6)
#define CFC_CYL_LSB (0x30E000B8)
#define CFC_CYL_MSB (0x30E000BA)
#define CFC_HEAD (0x30E000BC)
#define CFC_COMMAND (0x30E000BE)
#define CFC_STATUS (0x30E000BE)
#define CFC_CONTROL (0x30E0007C)
#define CFC_ASTATUS (0x30E0007C)
// SMC address
#define SMC_COMMAND (0x30D00004)
#define SMC_ADDRESS (0x30D00002)
#define SMC_DATA (0x30D00000)
// STATUS address
#define STA_ADDRESS (0x30C00004)
// OUTPUT address
#define OUT_ADDRESS (0x30B00000)
//ColdFire base address
#define FLASH_ADDRESS (0x50000000)
#define NET_ADDRESS (0xe0000000)
#define IDE_ADDRESS (0x30000000)
#define SDRAM_ADDRESS (0x40000000)
#define SDRAM_SIZE (0x00080000)
#define IMM_ADDRESS (0x10000000)
#define IMM2_ADDRESS (0x80000000)
#define INT_SRAM0_ADDRESS (0x00000000)
#define INT_SRAM1_ADDRESS (0x20010000)
#define GPIO_READ (IMM2_ADDRESS+0x0)
#define GPIO_OUT (IMM2_ADDRESS+0x4)
#define GPIO1_READ (IMM2_ADDRESS+0xB0)
#define GPIO1_OUT (IMM2_ADDRESS+0xB4)
//*******************************************************************
// Public variable data
//*******************************************************************
extern MCF5249_IMM *imm;
extern MCF5249_IMM2 *imm2;
extern uint16 *DRAMBuffer;
extern uint16 Testflags;
extern uint16 Isrflags;
extern uint16 Keyflags;
extern uint16 Keyloop;
extern uint16 MP3Play_min;
extern uint16 MP3Play_sec;
extern uint8 AVol;
extern uint8 DVol;
extern IDENTIFY_DATA IDEid;
extern IDE_BUFFER IDEBuffer;
extern uint32 buffer0;
extern uint32 buffer1;
extern uint32 buffer2;
extern uint32 buffer3;
/********************************************************************
* Function Prototypes
********************************************************************/
extern uint32 VECTOR_TABLE[256];
extern uint32 _SP_INIT;
extern void cpu_cache_flush(void);
extern void cpu_cache_disable(void);
extern void mcf5249_wr_cacr(uint32);
extern void mcf5249_wr_acr0(uint32);
extern void mcf5249_wr_acr1(uint32);
#endif /* _BASE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -