Nut/OS  4.10.3
API Reference
AT91 Support

AT91 peripheral registers. More...

Collaboration diagram for AT91 Support:

Modules

 ADC
 

A/D Converter.


 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.


 PWM Controller
 

PWM controller registers.


 Power Saving
 

Power saving registers.


 AT91x40
 

Register definitions.


 AT91SAM7SE
 

Register definitions.


 AT91SAM7X
 

Register definitions.


 Reset Controller
 

Reset controller registers.


 AT91SAM9XE
 

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.


 AT91 Two Wire Interface
 

Two wire interface.


 USB Device Port
 

Universal serial bus device registers.


 USART
 

Universal synchronous / asynchronous receiver / transmitter registers.


 Watchdog Registers
 

Watchdog timer registers.


 AT91 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 124 of file at91.h.

Referenced by NicInterruptEntry(), Uart0IrqEntry(), and Uart1IrqEntry().

#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 133 of file at91.h.

Referenced by NicInterruptEntry(), Uart0IrqEntry(), and Uart1IrqEntry().

#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 143 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 152 of file at91.h.