summaryrefslogtreecommitdiffstats
path: root/doc/bsp_howto
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-10-15 21:20:42 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-10-15 21:20:42 +0000
commit3351d41fbf8a418bf4470b81d6605af49f9501bc (patch)
tree7e1516c28191afb10e73d509bb3330f7642c3c96 /doc/bsp_howto
parentRemoved bsp structure as chapter and renamed some other chapters. (diff)
downloadrtems-3351d41fbf8a418bf4470b81d6605af49f9501bc.tar.bz2
Redid sections to have right depth.
Diffstat (limited to 'doc/bsp_howto')
-rw-r--r--doc/bsp_howto/clock.t4
-rw-r--r--doc/bsp_howto/console.t25
-rw-r--r--doc/bsp_howto/init.t52
3 files changed, 40 insertions, 41 deletions
diff --git a/doc/bsp_howto/clock.t b/doc/bsp_howto/clock.t
index a00eb0f769..918f6331b2 100644
--- a/doc/bsp_howto/clock.t
+++ b/doc/bsp_howto/clock.t
@@ -18,7 +18,7 @@ The clock driver is located in the clock directory of the BSP.
@section Primitives
-@section Initialization
+@subsection Initialization
The major and minor numbers of the clock driver can be made available to
the others, such as the Shared Memory Driver.
@@ -36,7 +36,7 @@ the VBR:
rtems_interrupt_catch (InterruptHandler, CONSOLE_VECTOR, &old_handler);
@end example
-@section The clock interrupt subroutine
+@subsection The Clock Interrupt Subroutine
It only has to inform the kernel that a ticker has elapsed, so call :
diff --git a/doc/bsp_howto/console.t b/doc/bsp_howto/console.t
index 8ed64be4bc..09d8b25640 100644
--- a/doc/bsp_howto/console.t
+++ b/doc/bsp_howto/console.t
@@ -99,7 +99,7 @@ $RTEMS_ROOT/c/src/lib/libc directory,
@end itemize
-@section Termios and Polled I/O
+@subsection Termios and Polled I/O
You have to point Termios out which functions are used for simple
character input/output:
@@ -122,17 +122,12 @@ int pollread(int minor)
wait for a character to be available in the UART channel minor, then return it.
-@section Termios and Interrupt Driven I/O
+@subsection Termios and Interrupt Driven I/O
The UART generally generates interrupts when it is ready to accept or to
emit a number of characters. In this mode, the interrupt subroutine is the
core of the driver:
-
-Function
-
-Description
-
@example
rtems_isr InterruptHandler (rtems_vector_number v)
@end example
@@ -162,7 +157,7 @@ UART.
Figure 5: general TERMIOS driven serial driver functioning
-@section Initialization
+@subsection Initialization
The driver initialization is called once during RTEMS initialization
process.
@@ -200,7 +195,7 @@ rtems_io_register_name ("dev/console", major, i);
@end itemize
-@section Opening a serial device
+@subsection Opening a serial device
The console device is opened during RTEMS initialization but the
console_open function is called when a new device is opened. For instance,
@@ -221,13 +216,13 @@ The gen68340 BSP defines two kinds of callbacks:
@end itemize
-@ection Polled I/O
+@subsubsection Polled I/O
You have to point Termios out which functions are used for simple
character input/output, i.e. pointers to pollWrite and pollRead functions
defined in 8.4.1.
-@ection Interrupt Driven I/O
+@subsubsection Interrupt Driven I/O
Driver functioning is quite different in this mode. You can see there's no
read function passed to Termios. Indeed a console_read call returns the
@@ -236,14 +231,14 @@ interrupt subroutine (cf. 8.4.2).
But you actually have to provide a pointer to the InterruptWrite function.
-@section Closing a serial device
+@subsection Closing a serial device
The driver entry point is: console_close.
You just have to notify Termios that the serial device was closed, with a
call to rtems_termios_close.
-@section Reading characters from the serial device
+@subsection Reading characters from the serial device
The driver entry point is: console_read.
@@ -251,7 +246,7 @@ You just have to return the content of the Termios input buffer.
Call rtems_termios_read.
-@section Writing characters to the serial device
+@subsection Writing characters to the serial device
The driver entry point is: console_write.
@@ -260,7 +255,7 @@ buffer.
Call rtems_termios_write.
-@section Changing serial line parameters
+@subsection Changing serial line parameters
The driver entry point is: console_control.
diff --git a/doc/bsp_howto/init.t b/doc/bsp_howto/init.t
index 32d66257ce..50137ad754 100644
--- a/doc/bsp_howto/init.t
+++ b/doc/bsp_howto/init.t
@@ -31,7 +31,7 @@ You'll find two files under the $BSP340_ROOT/start340/ directory, open
rtemsfor340only.s which holds initialization code for a MC68340 board only
and is simpler.
-@section The Interrupts Vector Table
+@subsection The Interrupts Vector Table
After the entry label starts a code section in which some room is
allocated for the table of interrupts vectors. They are assigned to the
@@ -44,7 +44,7 @@ $BSP_ROOT/startup/dumpanic.c - that pri nts which address caused the
interrupt and the contents of the registers, stack...), but this should
not return.
-@section Chip Select Initialization
+@subsection Chip Select Initialization
When the microprocessor accesses a memory area, address decoding is
handled by an address decoder (!), so that the microprocessor knows which
@@ -57,20 +57,20 @@ the linkcmds settings. In this BSP ROM and RAM addresses can be found in
both the linkcmds and initialization code, but this is not a great way to
do, better use some shared variables .
-@section Integrated processor registers initialization
+@subsection Integrated processor registers initialization
There are always some specific integrated processor registers
initialization to do. Integrated processors' user manuals often detail
them.
-@section Data section recopy
+@subsection Data section recopy
The next initialization part can be found in
$BSP340_ROOT/start340/init68340.c. First the Interrupt Vector Table is
copied into RAM, then the data section recopy is initiated
(_CopyDataClearBSSAndStart in $BSP340_ROOT/start340/startfor340only.s).
-This code :
+This code performs the following actions:
@itemize @bullet
@@ -85,7 +85,7 @@ Then control is passed to the RTEMS-specific initialization code.
@section RTEMS-Specific Initialization
-@section The RTEMS configuration table
+@subsection The RTEMS configuration table
The RTEMS configuration table contains the maximum number of objects RTEMS
can handle during the application (e.g. maximum number of tasks,
@@ -101,7 +101,7 @@ The BSP_Configuration label points on this table.
For more information on the RTEMS configuration table, refer to C user's
guide, chapter 23 <insert a link here>.
-@section RTEMS initialization procedure
+@subsection RTEMS initialization procedure
The RTEMS initialization procedure is described in the 3rd chapter of the
C user's manual <insert a link here>. Please read it carefully.
@@ -109,32 +109,28 @@ C user's manual <insert a link here>. Please read it carefully.
There are a few BSP specific functions called from the initialization
manager. They can be found in the startup directory of the BSP.
+@table @b
-
-File
-
-Function
-
-Note
-
-bspstart.c
-
-
+@item bspstart.c
It starts the application. It includes application, board, and monitor
specific initialization and configuration.
-bspstart.c
+@item bspstart.c
-bsp_pretasking_hook
+@table @b
+@item bsp_pretasking_hook
It starts libc support (needed to allocate some memory using C primitive
malloc for example). Heap size must be passed in argument, this is the one
which is defined in the linkcmds (cf. 5.)
-bspstart.c
+@end table
-bsp_start
+@item bspstart.c
+
+@table @b
+@item bsp_start
Here the user and application specific configuration table has been
"loaded" so that BSP_Configuration is up to date.
@@ -143,13 +139,21 @@ You can make last modifications here, for instance reserve more room for
the RTEMS Work Space, or adjust the heap size (you can for example use the
memory left for the lone heap).
-bspclean.c
+@end table
+
+@item bspclean.c
+
+@table @b
-bsp_cleanup
+@item bsp_cleanup
Return control to the monitor.
-@section Drivers initialization
+@end table
+
+@end table
+
+@subsection Drivers initialization
The Driver Address Table is part of the RTEMS configuration table. It
defines RTEMS drivers entry points (initialization, open, close, read,