AT91 Support
[ARM]

AT91 peripheral registers. More...

Collaboration diagram for AT91 Support:


Modules

 AIC: Interrupt Controller
 Advanced interrupt controller registers.
 Chip Configuration
 Chip configuration register.
 Debug Unit
 Debug unit registers.
 Bus Interface
 External bus interface registers.
 Embedded Flash Controller
 Embedded flash controller registers.
 EMAC Module
 Ethernet MAC module registers.
 Bus Matrix
 Bus matrix registers.
 Multimedia Card
 Multimedia card registers.
 MCI Multimedia Card Interface
 Multimedia card interface registers.
 Parallel I/O
 Parallel I/O controller registers.
 Periodic Interval Timer
 Periodic interval timer registers.
 Power Management Controller
 Power management controller registers.
 Power Saving
 Power saving registers.
 AT91x40
 Register definitions.
 Reset Controller
 Reset controller registers.
 AT91SAM7X
 Register definitions.
 AT91SAM9260
 Register definitions.
 SDRAM Controller
 SDRAM controller registers.
 Special Function
 Special function registers.
 Static Memory Controller
 Static memory controller registers.
 Serial Peripheral Interface
 Serial peripheral interface registers.
 SPI Mode MMC Interface
 SPI mode MMC interface registers.
 Serial Synchronous Controller
 Serial synchronous controller registers.
 Timer/Counter
 Timer / Counter registers.
 Two Wire Interface
 Two wire interface registers.
 USB Device Port
 Universal serial bus device registers.
 USART
 Universal synchronous / asynchronous receiver / transmitter registers.
 Watchdog Registers
 Watchdog timer registers.
 Watchdog Functions
 AT91 on-chip watchdog timer.
 Davicom DM9161A
 Davicom DM9161A registers.
 SAM7X EMAC
 SAM7X EMAC registers.

Defines

#define IRQ_ENTRY()
 Interrupt entry.
#define IRQ_EXIT()
 Interrupt exit.
#define FIQ_ENTRY()
 Fast interrupt entry.
#define FIQ_EXIT()
 Fast interrupt exit.

Detailed Description

AT91 peripheral registers.

AT91 is a family of microcontrollers manufactured by Atmel. They are based on the 32-bit RISC microprocessors from ARM. The following members had been tested with Nut/OS:

The AT91 peripherals are connected to the 32-bit wide advanced peripheral bus. All registers are word accessible only.


Define Documentation

 
#define IRQ_ENTRY (  ) 

Value:

asm volatile("sub   lr, lr,#4"          "\n\t"  /* Adjust LR */ \
                 "stmfd sp!,{r0-r12,lr}"    "\n\t"  /* Save registers on IRQ stack. */ \
                 "mrs   r1, spsr"           "\n\t"  /* Save SPSR */ \
                 "stmfd sp!,{r1}"           "\n\t")
Interrupt entry.

Definition at line 122 of file at91.h.

Referenced by NicInterruptEntry().

 
#define IRQ_EXIT (  ) 

Value:

asm volatile("ldmfd sp!, {r1}"          "\n\t"  /* Restore SPSR */ \
                 "msr   spsr_c, r1"         "\n\t"  /* */ \
                 "ldr   r0, =0xFFFFF000"    "\n\t"  /* End of interrupt. */ \
                 "str   r0, [r0, #0x130]"   "\n\t"  /* */ \
                 "ldmfd sp!, {r0-r12, pc}^" "\n\t")
Interrupt exit.

Definition at line 131 of file at91.h.

Referenced by NicInterruptEntry().

 
#define FIQ_ENTRY (  ) 

Value:

asm volatile("sub   lr, lr,#4"          "\n\t"  /* Adjust LR */ \
                 "stmfd sp!,{r0-r7,lr}"    "\n\t"  /* Save registers on IRQ stack. */ \
                 "mrs   r1, spsr"           "\n\t"  /* Save SPSR */ \
                 "stmfd sp!,{r1}"           "\n\t")
Fast interrupt entry.

Definition at line 141 of file at91.h.

 
#define FIQ_EXIT (  ) 

Value:

asm volatile("ldmfd sp!, {r1}"          "\n\t"  /* Restore SPSR */ \
                 "msr   spsr_c, r1"         "\n\t"  /* */ \
                 "ldr   r0, =0xFFFFF000"    "\n\t"  /* End of interrupt. */ \
                 "str   r0, [r0, #0x130]"   "\n\t"  /* */ \
                 "ldmfd sp!, {r0-r7, pc}^" "\n\t")
Fast interrupt exit.

Definition at line 150 of file at91.h.


© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/