00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "aduc7026.h"
00023 #include "global.h"
00024 #include "membus.h"
00025
00026 void membusInit(void)
00027 {
00028
00029 XMCFG = 0x01;
00030
00031
00032 GP2CON |= 0x22222220;
00033
00034 GP3CON |= 0x22222222;
00035 GP4CON |= 0x22222222;
00036
00037
00038 XM0CON = XMCON_16BIT | XMCON_ENABLE;
00039 XM1CON = XMCON_16BIT | XMCON_ENABLE;
00040 XM2CON = XMCON_16BIT | XMCON_ENABLE;
00041 XM3CON = XMCON_16BIT | XMCON_ENABLE;
00042
00043 XM0PAR = XMPAR_16BITADDR | XMPAR_EXTRAHOLD;
00044 XM1PAR = XMPAR_16BITADDR | XMPAR_EXTRAHOLD;
00045 XM2PAR = XMPAR_16BITADDR | XMPAR_EXTRAHOLD;
00046 XM3PAR = XMPAR_16BITADDR | XMPAR_EXTRAHOLD;
00047 }
00048
00049 uint16_t membusRead(uint32_t addr)
00050 {
00051 return *((unsigned short*)addr);
00052 }
00053
00054 void membusWrite(uint32_t addr, uint16_t data)
00055 {
00056 *((unsigned short*)addr) = data;
00057 }