ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
38317 Топик полностью
Romario (02.09.2005 13:20, просмотров: 1) ответил Andy Mozzhevilov на Поставил ADS. В комплекте нет хидеров для IO конкретных uC.
я сам писал для недостающих областей нужно дописать...

#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