1 |
1026 |
ivang |
@c
|
2 |
|
|
@c COPYRIGHT (c) 1988-2002.
|
3 |
|
|
@c On-Line Applications Research Corporation (OAR).
|
4 |
|
|
@c All rights reserved.
|
5 |
|
|
@c
|
6 |
|
|
@c bsp.t,v 1.7 2002/01/17 21:47:46 joel Exp
|
7 |
|
|
@c
|
8 |
|
|
|
9 |
|
|
@chapter Board Support Packages
|
10 |
|
|
|
11 |
|
|
@section Introduction
|
12 |
|
|
|
13 |
|
|
An RTEMS Board Support Package (BSP) must be designed
|
14 |
|
|
to support a particular processor and target board combination.
|
15 |
|
|
This chapter presents a discussion of i960CA specific BSP
|
16 |
|
|
issues. For more information on developing a BSP, refer to the
|
17 |
|
|
chapter titled Board Support Packages in the RTEMS
|
18 |
|
|
Applications User's Guide.
|
19 |
|
|
|
20 |
|
|
@section System Reset
|
21 |
|
|
|
22 |
|
|
An RTEMS based application is initiated when the
|
23 |
|
|
i960CA processor is reset. When the i960CA is reset, the
|
24 |
|
|
processor reads an Initial Memory Image (IMI) to establish its
|
25 |
|
|
state. The IMI consists of the Initialization Boot Record (IBR)
|
26 |
|
|
and the Process Control Block (PRCB) from an Initial Memory
|
27 |
|
|
Image (IMI) at location 0xFFFFFF00. The IBR contains the
|
28 |
|
|
initial bus configuration data, the address of the first
|
29 |
|
|
instruction to execute after reset, the address of the PRCB, and
|
30 |
|
|
the checksum used by the processor's self-test.
|
31 |
|
|
|
32 |
|
|
@section Processor Initialization
|
33 |
|
|
|
34 |
|
|
The PRCB contains the base addresses for system data
|
35 |
|
|
structures, and initial configuration information for the core
|
36 |
|
|
and integrated peripherals. In particular, the PRCB contains
|
37 |
|
|
the initial contents of the Arithmetic Control (AC) Register as
|
38 |
|
|
well as the base addresses of the Interrupt Vector Table, System
|
39 |
|
|
Procedure Entry Table, Fault Entry Table, and the Control Table.
|
40 |
|
|
In addition, the PRCB is used to configure the depth of the
|
41 |
|
|
instruction and register caches and the actions when certain
|
42 |
|
|
types of faults are encountered.
|
43 |
|
|
|
44 |
|
|
The Process Controls (PC) Register is initialized to
|
45 |
|
|
0xC01F2002 which sets the i960CA's interrupt level to 0x1F (31
|
46 |
|
|
decimal). In addition, the Interrupt Mask (IMSK) Register
|
47 |
|
|
(alternately referred to as Special Function Register 1 or sf1)
|
48 |
|
|
is set to 0x00000000 to mask all external and DMA interrupt
|
49 |
|
|
sources. Thus, all interrupts are disabled when the first
|
50 |
|
|
instruction is executed.
|
51 |
|
|
|
52 |
|
|
For more information regarding the i960CA's data
|
53 |
|
|
structures and their contents, refer to Intel's i960CA User's
|
54 |
|
|
Manual.
|