RTEMS  5.0.0
Modules | Files | Macros | Typedefs | Functions | Variables
LEON3 and LEON4

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 BSP_MAXIMUM_DEVICES   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. More...
 
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. More...
 
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>

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]handleris the isr routine
[in]vectoris the vector number
[in]typeindicates whether RTEMS or RAW intr
Returns
returns old vector