Vector Table
Ralf Corsepius
corsepiu at faw.uni-ulm.de
Wed Nov 12 02:47:25 UTC 2003
On Tue, 2003-11-11 at 15:10, James Yates wrote:
> Can anyone tell me why my vector table is empty? When I run the hello
> sample application, it fails to run but think this is something to do
> with a missing vector table.
>
> See part of map file below:
>
> .monvects 0x00000000 0x0
> 0x00000000 _monvects = .
>
> .monram 0x008d1000 0x0
> 0x008d1000 _ramstart = .
>
> .vects 0x00800200 0x0
> 0x00800200 _vectab = .
> *(.vects)
> 0x00800600 . = 0x800600
>
> .interp
> *(.interp)
Looks like an excerpt of an sh1/sh2 linker script to me (I am the
original author) ;)
The .monvects sections is assumed to be located in ROM, and therefore is
not initialized by RTEMS images.
The .vects section is assumed to be initialized by the compiler's
startup code and/or RTEMS initialization code.
Background: Our boards, the gensh1-BSP is derived from was equipped with
a ROM containing a gdb-stub, CMON-support (Hitachi debugger) and
board-initialization code. All RAM was battery-backed. We used gdb over
a serial to download images, and could boot either from ROM (through
gdb) or directly from preloaded images in battery backed RAM.
Therefore, we could use 3 different vector tables, 1 in ROM, 1 initial
vector table in battery-backed RAM (treated read-only) and the actual
(dynamic) vector table in RAM.
May-be this explains your confusion about the SH-vector tables.
Ralf
More information about the users
mailing list