RTEMS: LEON3 and LEON4

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Modules | Files | Macros | Typedefs | Functions | Variables
LEON3 and LEON4
Board Support Packages » SPARC

LEON3 and LEON4 Board Support Package. More...

## Modules
| LEON3 AMBA Driver Handler
| AMBA Plag & Play Bus Driver Macros.

## Files
file | bsp.h
| Global BSP definitions.

## Macros
#define | LEON3 1
#define | BSP_IDLE_TASK_BODY bsp_idle_thread
#define | BSP_NUMBER_OF_TERMIOS_PORTS 8
#define | RTEMS_BSP_NETWORK_DRIVER_NAME_OPENETH "open_eth1"
#define | RTEMS_BSP_NETWORK_DRIVER_ATTACH_OPENETH rtems_leon_open_eth_driver_attach
#define | RTEMS_BSP_NETWORK_DRIVER_NAME_SMC91111 "smc_eth1"
#define | RTEMS_BSP_NETWORK_DRIVER_ATTACH_SMC91111 rtems_smc91111_driver_attach_leon3
#define | RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH "gr_eth1"
#define | RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH rtems_leon_greth_driver_attach
#define | RTEMS_BSP_NETWORK_DRIVER_NAME RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH
#define | RTEMS_BSP_NETWORK_DRIVER_ATTACH RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH
#define | HAS_SMC91111
#define | GRETH_SUPPORTED
#define | GRETH_MEM_LOAD(addr) leon_r32_no_cache((uintptr_t)addr)
#define | AMBAPPBUS_INFO_AVAIL /* AMBAPP Bus driver */
#define | APBUART_INFO_AVAIL /* APBUART Console driver */
#define | GPTIMER_INFO_AVAIL /* GPTIMER Timer driver */
#define | GRETH_INFO_AVAIL /* GRETH Ethernet driver */

## Typedefs
typedef void(* | bsp_shared_isr) (void *arg)

## Functions
void * | bsp_idle_thread (uintptr_t ignored)
| Optimized idle task.
int | rtems_leon_open_eth_driver_attach (struct rtems_bsdnet_ifconfig *config, int attach)
int | rtems_smc91111_driver_attach_leon3 (struct rtems_bsdnet_ifconfig *config, int attach)
int | rtems_leon_greth_driver_attach (struct rtems_bsdnet_ifconfig *config, int attach)
rtems_isr_entry | set_vector (rtems_isr_entry handler, rtems_vector_number vector, int type)
| Install an interrupt handler.
void | BSP_fatal_exit (uint32_t error)
void | bsp_spurious_initialize (void)
void | rtems_bsp_delay (int usecs)
void | BSP_shared_interrupt_init (void)
void | bsp_isr_handler (rtems_vector_number vector)
void | BSP_shared_interrupt_clear (int irq)
void | BSP_shared_interrupt_unmask (int irq)
void | BSP_shared_interrupt_mask (int irq)

## Variables
int | CPU_SPARC_HAS_SNOOPING
int | RAM_START
int | RAM_END
int | RAM_SIZE
int | PROM_START
int | PROM_END
int | PROM_SIZE
int | CLOCK_SPEED
int | end

## Detailed Description

LEON3 and LEON4 Board Support Package.

## Function Documentation

## ◆ bsp_idle_thread()

void * bsp_idle_thread | ( | uintptr_t | ignored | ) |

Optimized idle task.

This BSP provides its own IDLE thread to override the RTEMS one.

This idle task sets the power mode to idle. This causes the processor clock to be stopped, while on-chip peripherals remain active. Any enabled interrupt from a peripheral or an external interrupt source will cause the processor to resume execution.

To enable the idle task use the following in the system configuration:

#include <bsp.h>
#define CONFIGURE_INIT
#define CONFIGURE_IDLE_TASK_BODY bsp_idle_thread
#include <confdefs.h>
confdefs.h
Evaluate Configuration Options.

This BSP provides its own IDLE thread to override the RTEMS one.

Optimized idle task.

The MSR[POW] bit is set to put the CPU into the low power mode defined in HID0. HID0 is set during starup in start.S.

This BSP provides its own IDLE thread to override the RTEMS one.

This idle task sets the power mode to idle. This causes the processor clock to be stopped, while on-chip peripherals remain active. Any enabled interrupt from a peripheral or an external interrupt source will cause the processor to resume execution.

To enable the idle task use the following in the system configuration:

#include <bsp.h>
#define CONFIGURE_INIT
#define CONFIGURE_IDLE_TASK_BODY bsp_idle_thread
#include <confdefs.h>

Optimized idle task.

The MSR[POW] bit is set to put the CPU into the low power mode defined in HID0. HID0 is set during starup in start.S.

## ◆ set_vector()

rtems_isr_entry set_vector | ( | rtems_isr_entry | handler,
|  | rtems_vector_number | vector,
|  | int | type
| ) |  |

Install an interrupt handler.

This method installs an interrupt handle.

Parameters

  [in] | handler | is the isr routine
  [in] | vector | is the vector number
  [in] | type | indicates whether RTEMS or RAW intr

Returns
  returns old vector