forked from Imagelibrary/rtems
Enabled Ada95 interrupt support chapter and reformatted a
bunch of stuff to avoid line wrappings.
This commit is contained in:
@@ -19,8 +19,8 @@ COMMON_FILES=../common/cpright.texi ../common/setup.texi
|
||||
|
||||
GENERATED_FILES= \
|
||||
intro.texi target.texi makefiles.texi linkcmds.texi support.texi \
|
||||
init.texi console.texi clock.texi timer.texi rtc.texi nvmem.texi \
|
||||
network.texi shmsupp.texi analog.texi discrete.texi
|
||||
adaintr.texi init.texi console.texi clock.texi timer.texi rtc.texi \
|
||||
nvmem.texi network.texi shmsupp.texi analog.texi discrete.texi
|
||||
|
||||
FILES=$(PROJECT).texi $(GENERATED_FILES)
|
||||
|
||||
@@ -88,11 +88,16 @@ makefiles.texi: makefiles.t Makefile
|
||||
|
||||
linkcmds.texi: linkcmds.t Makefile
|
||||
$(BMENU) -p "Makefiles Creating a New BSP Make Customization File" \
|
||||
-u "Top" \
|
||||
-n "Ada95 Interrupt Support" ${*}.t
|
||||
|
||||
adaintr.texi: adaintr.t Makefile
|
||||
$(BMENU) -p "Linker Script Initialized Data" \
|
||||
-u "Top" \
|
||||
-n "Miscellaneous Support Files" ${*}.t
|
||||
|
||||
support.texi: support.t Makefile
|
||||
$(BMENU) -p "Linker Script Initialized Data" \
|
||||
$(BMENU) -p "Ada95 Interrupt Support Version Requirements" \
|
||||
-u "Top" \
|
||||
-n "" ${*}.t
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ END-INFO-DIR-ENTRY
|
||||
@include makefiles.texi
|
||||
@include linkcmds.texi
|
||||
@include support.texi
|
||||
@include adaintr.texi
|
||||
@include init.texi
|
||||
@include console.texi
|
||||
@include clock.texi
|
||||
@@ -90,6 +91,7 @@ This is the online version of the RTEMS BSP and Device Driver Development Guide.
|
||||
* Makefiles::
|
||||
* Linker Script::
|
||||
* Miscellaneous Support Files::
|
||||
* Ada95 Interrupt Support::
|
||||
* Initialization Code::
|
||||
* Console Driver::
|
||||
* Clock Driver::
|
||||
@@ -100,27 +102,27 @@ This is the online version of the RTEMS BSP and Device Driver Development Guide.
|
||||
* Shared Memory Support Driver::
|
||||
* Analog Driver::
|
||||
* Discrete Driver::
|
||||
* Command and Variable Index::
|
||||
* Concept Index::
|
||||
@end menu
|
||||
|
||||
@c * Command and Variable Index::
|
||||
@c * Concept Index::
|
||||
@end ifinfo
|
||||
@c
|
||||
@c
|
||||
@c Need to copy the emacs stuff and "trailer stuff" (index, toc) into here
|
||||
@c
|
||||
|
||||
@c @node Command and Variable Index, Concept Index, Installing EGCS AND NEWLIB, Top
|
||||
@c @unnumbered Command and Variable Index
|
||||
@node Command and Variable Index, Concept Index, , Top
|
||||
@unnumbered Command and Variable Index
|
||||
|
||||
@c There are currently no Command and Variable Index entries.
|
||||
There are currently no Command and Variable Index entries.
|
||||
|
||||
@c @printindex fn
|
||||
|
||||
@c @node Concept Index, , Command and Variable Index, Top
|
||||
@c @unnumbered Concept Index
|
||||
@node Concept Index, , Command and Variable Index, Top
|
||||
@unnumbered Concept Index
|
||||
|
||||
@c There are currently no Concept Index entries.
|
||||
There are currently no Concept Index entries.
|
||||
@c @printindex cp
|
||||
|
||||
@contents
|
||||
|
||||
@@ -268,7 +268,8 @@ usually consists of:
|
||||
@item If interrupt driven, register the console interrupt routine to RTEMS:
|
||||
|
||||
@example
|
||||
rtems_interrupt_catch (InterruptHandler,CONSOLE_VECTOR,&old_handler);
|
||||
rtems_interrupt_catch(
|
||||
InterruptHandler, CONSOLE_VECTOR, &old_handler);
|
||||
@end example
|
||||
|
||||
@item enable the UART channels.
|
||||
|
||||
@@ -129,17 +129,18 @@ RamSize = DEFINED(RamSize) ? RamSize : 4M;
|
||||
|
||||
/*
|
||||
* Set the amount of RAM to be used for the application heap. Objects
|
||||
* allocated using malloc() come from this area. Having a tight heap size
|
||||
* is somewhat difficult and multiple attempts to squeeze it may be needed
|
||||
* reducing memory usage is important. If all objects are allocated from
|
||||
* the heap at system initialization time, this eases the sizing of the
|
||||
* application heap.
|
||||
* allocated using malloc() come from this area. Having a tight heap
|
||||
* size is somewhat difficult and multiple attempts to squeeze it may
|
||||
* be needed reducing memory usage is important. If all objects are
|
||||
* allocated from the heap at system initialization time, this eases
|
||||
* the sizing of the application heap.
|
||||
*
|
||||
* NOTE 1: The default may be overridden by passing an argument to ld.
|
||||
*
|
||||
* NOTE 2: The TCP/IP stack requires additional memory in the Heap.
|
||||
*
|
||||
* NOTE 3: The GNAT/RTEMS run-time requires additional memory in the Heap.
|
||||
* NOTE 3: The GNAT/RTEMS run-time requires additional memory in
|
||||
* the Heap.
|
||||
*/
|
||||
|
||||
HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
|
||||
@@ -157,8 +158,9 @@ StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
|
||||
/*
|
||||
* Starting addresses and length of RAM and ROM.
|
||||
*
|
||||
* The addresses must be valid addresses on the board. The Chip Selects
|
||||
* should be initialized such that the code addresses are valid.
|
||||
* The addresses must be valid addresses on the board. The
|
||||
* Chip Selects should be initialized such that the code addresses
|
||||
* are valid.
|
||||
*/
|
||||
|
||||
MEMORY @{
|
||||
@@ -171,17 +173,18 @@ MEMORY @{
|
||||
* for more details.
|
||||
*/
|
||||
|
||||
ETHERNET_ADDRESS = DEFINED(ETHERNET_ADDRESS) ? ETHERNET_ADDRESS : 0xDEAD12;
|
||||
ETHERNET_ADDRESS =
|
||||
DEFINED(ETHERNET_ADDRESS) ? ETHERNET_ADDRESS : 0xDEAD12;
|
||||
|
||||
/*
|
||||
* The following defines the order in which the sections should go.
|
||||
* It also defines a number of variables which can be used by the
|
||||
* application program.
|
||||
*
|
||||
* NOTE: Each variable appears with 1 or 2 leading underscores to insure
|
||||
* that the variable is accessible from C code with a single
|
||||
* underscore. Some object formats automatically add a leading
|
||||
* underscore to all C global symbols.
|
||||
* NOTE: Each variable appears with 1 or 2 leading underscores to
|
||||
* ensure that the variable is accessible from C code with a
|
||||
* single underscore. Some object formats automatically add
|
||||
* a leading underscore to all C global symbols.
|
||||
*/
|
||||
|
||||
SECTIONS @{
|
||||
|
||||
@@ -121,13 +121,15 @@ BSP_PIECES=startup clock console timer
|
||||
CPU_PIECES=
|
||||
GENERIC_PIECES=
|
||||
|
||||
# bummer; have to use $foreach since % pattern subst rules only replace 1x
|
||||
OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
|
||||
$(foreach piece, $(CPU_PIECES), \
|
||||
../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
|
||||
$(wildcard \
|
||||
../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/fpsp/$(ARCH)/fpsp.rel) \
|
||||
$(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
|
||||
# bummer; have to use $foreach since % pattern subst
|
||||
# rules only replace 1x
|
||||
OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).o) \
|
||||
$(foreach piece, $(CPU_PIECES), \
|
||||
../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).o) \
|
||||
$(wildcard \
|
||||
../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/fpsp/$(ARCH)/fpsp.rel) \
|
||||
$(foreach piece, \
|
||||
$(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).o)
|
||||
@end example
|
||||
|
||||
The variable @code{OBJS} is the list of "pieces" expanded to include
|
||||
|
||||
@@ -39,10 +39,10 @@ struct shm_config_info @{
|
||||
vol_u32 *base; /* base address of SHM */
|
||||
vol_u32 length; /* length (in bytes) of SHM */
|
||||
vol_u32 format; /* SHM is big or little endian */
|
||||
vol_u32 (*convert)(); /* neutral conversion routine */
|
||||
vol_u32 poll_intr; /* POLLED or INTR driven mode */
|
||||
vol_u32 (*convert)(); /* neutral conversion routine */
|
||||
vol_u32 poll_intr; /* POLLED or INTR driven mode */
|
||||
void (*cause_intr)( rtems_unsigned32 );
|
||||
Shm_Interrupt_information Intr; /* cause intr information */
|
||||
Shm_Interrupt_information Intr; /* cause intr information */
|
||||
@};
|
||||
|
||||
typedef struct shm_config_info shm_config_table;
|
||||
|
||||
Reference in New Issue
Block a user