я сам писал для недостающих областей нужно дописать...
#ifndef __LPC2138_REGMAP_H__ #define __LPC2138_REGMAP_H__ #include "gpub.h" #define VPBCLOCK 60000000L #define LPC2138_VPBBASE 0xE0000000 #define LPC2138_VICBASE 0xFFFFF000 #define LPC2138_GPIOBASE (LPC2138_VPBBASE + 0x00028000) #define LPC2138_MAMBASE (LPC2138_VPBBASE + 0x001FC000) #define LPC2138_PLLBASE (LPC2138_VPBBASE + 0x001FC080) #define LPC2138_PINBASE (LPC2138_VPBBASE + 0x0002C000) #define LPC2138_SPI0BASE (LPC2138_VPBBASE + 0x00020000) #define LPC2138_TMR0BASE (LPC2138_VPBBASE + 0x00004000) #define LPC2138_TMR1BASE (LPC2138_VPBBASE + 0x00008000) #define MEMMAP (*((volatile u32_t *) 0xE01FC040)) /* Timer/Counter registers */ typedef struct { u32_t IR ; u32_t TCR ; u32_t TC ; u32_t PR ; u32_t PC ; u32_t MCR ; u32_t MR0 ; u32_t MR1 ; u32_t MR2 ; u32_t MR3 ; u32_t CCR ; u32_t CR0 ; u32_t CR1 ; u32_t CR2 ; u32_t CR3 ; u32_t EMR ; u32_t pad0[12]; u32_t CTCR ; } TMR2138Set; /* SPIO registers */ typedef struct { u32_t SPCR ; u32_t SPSR ; u32_t SPDR ; u32_t SPCCR ; u32_t pad[3] ; u32_t SPINT ; } SPI02138Set; /* PINSEL registers */ typedef struct { u32_t PINSEL0 ; u32_t PINSEL1 ; u32_t pad0[3] ; u32_t PINSEL2 ; } PIN2138Set; /* GPIO registers */ typedef struct { u32_t IO0PIN ; u32_t IO0SET ; u32_t IO0DIR ; u32_t IO0CLR ; u32_t IO1PIN ; u32_t IO1SET ; u32_t IO1DIR ; u32_t IO1CLR ; } GPIO2138Set; /* MAM registers */ typedef struct { u32_t MAMCR ; u32_t MAMTIM ; } MAM2138Set; /* PLL registers */ typedef struct { u32_t PLLCON ; u32_t PLLCFG ; u32_t PLLSTAT ; u32_t PLLFEED ; } PLL2138Set; /* VIC registers */ typedef struct { u32_t VICIRQStatus ; u32_t VICFIQStatus ; u32_t VICRawIntr ; u32_t VICIntSelect ; u32_t VICIntEnable ; u32_t VICIntEnClr ; u32_t VICSoftInt ; u32_t VICSoftIntClear ; u32_t VICProtection ; u32_t pad0[3] ; u32_t VICVectAddr ; u32_t VICDefVectAddr ; u32_t pad1[50] ; u32_t VICVectAddr0 ; u32_t VICVectAddr1 ; u32_t VICVectAddr2 ; u32_t VICVectAddr3 ; u32_t VICVectAddr4 ; u32_t VICVectAddr5 ; u32_t VICVectAddr6 ; u32_t VICVectAddr7 ; u32_t VICVectAddr8 ; u32_t VICVectAddr9 ; u32_t VICVectAddr10 ; u32_t VICVectAddr11 ; u32_t VICVectAddr12 ; u32_t VICVectAddr13 ; u32_t VICVectAddr14 ; u32_t VICVectAddr15 ; u32_t pad2[48] ; u32_t VICVectCntl0 ; u32_t VICVectCntl1 ; u32_t VICVectCntl2 ; u32_t VICVectCntl3 ; u32_t VICVectCntl4 ; u32_t VICVectCntl5 ; u32_t VICVectCntl6 ; u32_t VICVectCntl7 ; u32_t VICVectCntl8 ; u32_t VICVectCntl9 ; u32_t VICVectCntl10 ; u32_t VICVectCntl11 ; u32_t VICVectCntl12 ; u32_t VICVectCntl13 ; u32_t VICVectCntl14 ; u32_t VICVectCntl15 ; } VIC2138Set; #define GPIO2138 ((volatile GPIO2138Set *) LPC2138_GPIOBASE) #define MAM2138 ((volatile MAM2138Set *) LPC2138_MAMBASE ) #define PLL2138 ((volatile PLL2138Set *) LPC2138_PLLBASE ) #define VIC2138 ((volatile VIC2138Set *) LPC2138_VICBASE ) #define PIN2138 ((volatile PIN2138Set *) LPC2138_PINBASE ) #define SPI02138 ((volatile SPI02138Set *) LPC2138_SPI0BASE) #define TMR02138 ((volatile TMR2138Set *) LPC2138_TMR0BASE) #define TMR12138 ((volatile TMR2138Set *) LPC2138_TMR1BASE) #endif