source: rtems/c/src/lib/libbsp/arm/lpc176x/include/bsp.h @ 19260fb

4.115
Last change on this file since 19260fb was 19260fb, checked in by Martin Boretto <martin.boretto@…>, on Jun 9, 2014 at 2:27:18 PM

bsp/lpc176x: New BSP

  • Property mode set to 100644
File size: 2.0 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc176x
5 *
6 * @brief Global BSP definitions.
7 */
8
9/*
10 * Copyright (c) 2008-2013 embedded brains GmbH.  All rights reserved.
11 *
12 *  embedded brains GmbH
13 *  Obere Lagerstr. 30
14 *  82178 Puchheim
15 *  Germany
16 *  <rtems@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.com/license/LICENSE.
21 */
22
23#ifndef LIBBSP_ARM_LPC176X_BSP_H
24#define LIBBSP_ARM_LPC176X_BSP_H
25
26#include <bspopts.h>
27
28#define LPC176X_PCLK ( LPC176X_CCLK / LPC176X_PCLKDIV )
29#define LPC176X_MPU_REGION_COUNT 8u
30
31#define BSP_FEATURE_IRQ_EXTENSION
32#define BSP_ARMV7M_IRQ_PRIORITY_DEFAULT ( 29u << 3u )
33#define BSP_ARMV7M_SYSTICK_PRIORITY ( 30u << 3u )
34#define BSP_ARMV7M_SYSTICK_FREQUENCY LPC176X_CCLK
35
36#ifndef ASM
37
38#include <rtems.h>
39#include <rtems/console.h>
40#include <rtems/clockdrv.h>
41#include <bsp/default-initial-extension.h>
42
43/** Define operation count for Tests */
44#define OPERATION_COUNT 4
45
46#ifdef __cplusplus
47extern "C" {
48#endif /* __cplusplus */
49
50struct rtems_bsdnet_ifconfig;
51
52/**
53 * @defgroup lpc176x LPC176X Support
54 *
55 * @ingroup bsp_arm
56 *
57 * @brief LPC176X support package.
58 *
59 * @{
60 */
61
62/**
63 * @brief Optimized idle task.
64 *
65 * This idle task sets the power mode to idle.  This causes the processor
66 * clock to be stopped, while on-chip peripherals remain active.
67 * Any enabled interrupt from a peripheral or an external interrupt source
68 *  will cause the processor to resume execution.
69 *
70 * To enable the idle task use the following in the system configuration:
71 *
72 * @code
73 * #include <bsp.h>
74 *
75 * #define CONFIGURE_INIT
76 *
77 * #define CONFIGURE_IDLE_TASK_BODY bsp_idle_thread
78 *
79 * #include <confdefs.h>
80 * @endcode
81 */
82void*bsp_idle_thread( uintptr_t ignored );
83
84#define BSP_CONSOLE_UART_BASE 0x4000C000U
85
86/**
87 * @brief Restarts the bsp with "addr" address
88 * @param addr Address used to restart the bsp
89 */
90void bsp_restart( const void *addr );
91
92/** @} */
93
94#ifdef __cplusplus
95}
96#endif /* __cplusplus */
97
98#endif /* ASM */
99
100#endif /* LIBBSP_ARM_LPC176X_BSP_H */
Note: See TracBrowser for help on using the repository browser.