RTEMS 6.1-rc7
Loading...
Searching...
No Matches
bsp.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/* bsp.h
12 *
13 * This include file contains all mrm board IO definitions.
14 */
15
16/*
17 * COPYRIGHT (c) 1989-2009.
18 * On-Line Applications Research Corporation (OAR).
19 *
20 * Redistribution and use in source and binary forms, with or without
21 * modification, are permitted provided that the following conditions
22 * are met:
23 * 1. Redistributions of source code must retain the above copyright
24 * notice, this list of conditions and the following disclaimer.
25 * 2. Redistributions in binary form must reproduce the above copyright
26 * notice, this list of conditions and the following disclaimer in the
27 * documentation and/or other materials provided with the distribution.
28 *
29 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
33 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
34 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
35 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
36 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
37 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39 * POSSIBILITY OF SUCH DAMAGE.
40 */
41
42#ifndef LIBBSP_M68K_MRM332_BSP_H
43#define LIBBSP_M68K_MRM332_BSP_H
44
55#include <bspopts.h>
57
58#include <rtems.h>
59#include <rtems/bspIo.h>
60#include <mrm332.h>
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66#define CONSOLE_SCI
67
68/* externals */
69
70extern char _etext[];
71extern char _copy_start[];
72extern char _edata[];
73extern char _clear_start[];
74extern char end[];
75extern bool _copy_data_from_rom;
76
77/* constants */
78
79#ifdef __START_C__
80#define STACK_SIZE "#0x800"
81#else
82#define STACK_SIZE 0x800
83#endif
84
85/* macros */
86
87#define RAW_PUTS(str) \
88 { register char *ptr = str; \
89 while (*ptr) SCI_output_char(*ptr++); \
90 }
91
92#define RAW_PUTI(n) { \
93 register int i, j; \
94 \
95 RAW_PUTS("0x"); \
96 for (i=28;i>=0;i -= 4) { \
97 j = (n>>i) & 0xf; \
98 SCI_output_char( (j>9 ? j-10+'a' : j+'0') ); \
99 } \
100 }
101
102/* miscellaneous stuff assumed to exist */
103
104extern rtems_isr_entry M68Kvec[]; /* vector table address */
105
106extern int stack_size;
107extern int stack_start;
108
109/* functions */
110
111rtems_isr_entry set_vector(
112 rtems_isr_entry handler,
113 rtems_vector_number vector,
114 int type
115);
116
117void Spurious_Initialize(void);
118
119void _UART_flush(void);
120
121void outbyte(char);
122
123#ifdef __cplusplus
124}
125#endif
126
129#endif
This header file provides the kernel character input/output support API.
This header file provides the default definition of BSP_INITIAL_EXTENSION.
ISR_Handler_entry rtems_isr_entry
Interrupt service routines installed by rtems_interrupt_catch() shall have this type.
Definition: intr.h:134
ISR_Vector_number rtems_vector_number
This integer type represents interrupt vector numbers.
Definition: intr.h:102
This header file defines the RTEMS Classic API.