source: rtems/doc/supplements/powerpc/bsp.t @ 6449498

4.104.114.84.95
Last change on this file since 6449498 was 6449498, checked in by Joel Sherrill <joel.sherrill@…>, on 01/17/02 at 21:47:47

2001-01-17 Joel Sherrill <joel@…>

  • SUPPORT, LICENSE: New files.
  • Numerous files touched as part of merging the 4.5 branch onto the mainline development trunk and ensuring that the script that cuts snapshots and releases works on the documentation.
  • Property mode set to 100644
File size: 2.8 KB
Line 
1@c
2@c  COPYRIGHT (c) 1988-2002.
3@c  On-Line Applications Research Corporation (OAR).
4@c  All rights reserved.
5@c
6@c  $Id$
7@c
8
9@chapter Board Support Packages
10
11@section Introduction
12
13An RTEMS Board Support Package (BSP) must be designed
14to support a particular processor and target board combination.
15This chapter presents a discussion of PowerPC specific BSP issues.
16For more information on developing a BSP, refer to the chapter
17titled Board Support Packages in the RTEMS
18Applications User's Guide.
19
20@section System Reset
21
22An RTEMS based application is initiated or
23re-initiated when the PowerPC processor is reset.  The PowerPC
24architecture defines a Reset Exception, but leaves the
25details of the CPU state as implementation specific.  Please
26refer to the User's Manual for the CPU model in question.
27
28In general, at power-up the PowerPC begin execution at address
290xFFF00100 in supervisor mode with all exceptions disabled.  For
30soft resets, the CPU will vector to either 0xFFF00100 or 0x00000100
31depending upon the setting of the Exception Prefix bit in the MSR.
32If during a soft reset, a Machine Check Exception occurs, then the
33CPU may execute a hard reset.
34
35@section Processor Initialization
36
37It is the responsibility of the application's
38initialization code to initialize the CPU and board
39to a quiescent state before invoking the @code{rtems_initialize_executive}
40directive.  It is recommended that the BSP utilize the @code{predriver_hook}
41to install default handlers for all exceptions.  These default handlers
42may be overwritten as various device drivers and subsystems install
43their own exception handlers.  Upon completion of RTEMS executive
44initialization, all interrupts are enabled.
45
46If this PowerPC implementation supports on-chip caching
47and this is to be utilized, then it should be enabled during the
48reset application initialization code.  On-chip caching has been
49observed to prevent some emulators from working properly, so it
50may be necessary to run with caching disabled to use these emulators.
51
52In addition to the requirements described in the
53@b{Board Support Packages} chapter of the @b{@value{LANGUAGE}
54Applications User's Manual} for the reset code
55which is executed before the call to @code{rtems_initialize_executive},
56the PowrePC version has the following specific requirements:
57
58@itemize @bullet
59@item Must leave the PR bit of the Machine State Register (MSR) set
60to 0 so the PowerPC remains in the supervisor state.
61
62@item Must set stack pointer (sp or r1) such that a minimum stack
63size of MINIMUM_STACK_SIZE bytes is provided for the
64@code{rtems_initialize_executive} directive.
65
66@item Must disable all external interrupts (i.e. clear the EI (EE)
67bit of the machine state register).
68
69@item Must enable traps so window overflow and underflow
70conditions can be properly handled.
71
72@item Must initialize the PowerPC's initial Exception Table with default
73handlers.
74
75@end itemize
76
Note: See TracBrowser for help on using the repository browser.