forked from Imagelibrary/rtems
2000-12-06 Joel Sherrill <joel@OARcorp.com>
* README: Updated to reflect status. * startup/linkcmds: Added .ctor and .dtor sections to no avail.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2000-12-06 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
|
* README: Updated to reflect status.
|
||||||
|
* startup/linkcmds: Added .ctor and .dtor sections to no avail.
|
||||||
|
|
||||||
2000-11-30 Joel Sherrill <joel@OARcorp.com>
|
2000-11-30 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* README: Updated to reflect current status. Misaligned reference
|
* README: Updated to reflect current status. Misaligned reference
|
||||||
|
|||||||
@@ -6,26 +6,20 @@ Simple BSP for the TX3904 simulator built into gdb.
|
|||||||
|
|
||||||
Simulator Invocation
|
Simulator Invocation
|
||||||
====================
|
====================
|
||||||
The following is not 100% correct since it does not work. :)
|
The following is how the simulator is invoked.
|
||||||
|
|
||||||
target sim --board=jmr3904pal --memory-region 0x8800000,0x100000
|
target sim --board=jmr3904
|
||||||
|
|
||||||
|
GDB must be configured with a target like "tx39-rtems". Otherwise,
|
||||||
|
the simulator will not be built for the correct instruction
|
||||||
|
and peripheral set.
|
||||||
|
|
||||||
Status
|
Status
|
||||||
======
|
======
|
||||||
|
|
||||||
+ printk() works and is being called from bsp_start as prove.
|
+ hello.exe locks up while running the global destructors. This almost
|
||||||
|
has to be a linkcmds issue.
|
||||||
|
|
||||||
+ There appears to be a compilation problem in _Thread_Handler_initialization
|
+ There is no clock tick device driver.
|
||||||
where _Thread_Ready_chain[1] is only 1 byte -- not 12 from
|
|
||||||
_Thread_Ready_chain[0]. I am throwing this to the RTEMS list
|
|
||||||
first before reporting it.
|
|
||||||
|
|
||||||
Made it to bsp_start
|
|
||||||
mips-core: 4 byte write to unaligned address 0x8803bb01 at 0x8800d83c
|
|
||||||
|
|
||||||
Program received signal SIGBUS, Bus error.
|
|
||||||
0x8800d83c in _Chain_Initialize_empty (the_chain=0x8803bb01)
|
|
||||||
at ../../../../../jmr3904/lib/include/rtems/score/chain.inl:222
|
|
||||||
222 the_chain->first = _Chain_Tail( the_chain );
|
|
||||||
(gdb) q
|
|
||||||
|
|
||||||
|
+ There is no timer device driver.
|
||||||
|
|||||||
@@ -32,6 +32,38 @@ SECTIONS
|
|||||||
etext = .;
|
etext = .;
|
||||||
_etext = .;
|
_etext = .;
|
||||||
}
|
}
|
||||||
|
.ctors :
|
||||||
|
{
|
||||||
|
/* gcc uses crtbegin.o to find the start of
|
||||||
|
the constructors, so we make sure it is
|
||||||
|
first. Because this is a wildcard, it
|
||||||
|
doesn't matter if the user does not
|
||||||
|
actually link against crtbegin.o; the
|
||||||
|
linker won't look for a file to match a
|
||||||
|
wildcard. The wildcard also means that it
|
||||||
|
doesn't matter which directory crtbegin.o
|
||||||
|
is in. */
|
||||||
|
|
||||||
|
KEEP (*crtbegin.o(.ctors))
|
||||||
|
|
||||||
|
/* We don't want to include the .ctor section from
|
||||||
|
from the crtend.o file until after the sorted ctors.
|
||||||
|
The .ctor section from the crtend file contains the
|
||||||
|
end of ctors marker and it must be last */
|
||||||
|
|
||||||
|
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
||||||
|
KEEP (*(SORT(.ctors.*)))
|
||||||
|
KEEP (*(.ctors))
|
||||||
|
}
|
||||||
|
|
||||||
|
.dtors :
|
||||||
|
{
|
||||||
|
KEEP (*crtbegin.o(.dtors))
|
||||||
|
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
||||||
|
KEEP (*(SORT(.dtors.*)))
|
||||||
|
KEEP (*(.dtors))
|
||||||
|
}
|
||||||
|
|
||||||
. = .;
|
. = .;
|
||||||
.rdata : {
|
.rdata : {
|
||||||
*(.rdata)
|
*(.rdata)
|
||||||
@@ -44,7 +76,6 @@ SECTIONS
|
|||||||
*(.data)
|
*(.data)
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
*(.gnu.linkonce.d*)
|
*(.gnu.linkonce.d*)
|
||||||
CONSTRUCTORS
|
|
||||||
}
|
}
|
||||||
. = ALIGN(8);
|
. = ALIGN(8);
|
||||||
_gp = . + 0x8000;
|
_gp = . + 0x8000;
|
||||||
@@ -73,8 +104,10 @@ SECTIONS
|
|||||||
*(.bss)
|
*(.bss)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN (64);
|
. = ALIGN (64);
|
||||||
_stack_init = .;
|
_stack_limit = .;
|
||||||
. += _StackSize;
|
. += _StackSize;
|
||||||
|
__stack = .;
|
||||||
|
_stack_init = .;
|
||||||
_clear_end = .;
|
_clear_end = .;
|
||||||
WorkspaceBase = .;
|
WorkspaceBase = .;
|
||||||
. += 512K; /* reserve some memory for workspace */
|
. += 512K; /* reserve some memory for workspace */
|
||||||
@@ -87,7 +120,7 @@ SECTIONS
|
|||||||
|
|
||||||
/* Put starting stack in SRAM (8 Kb); this size is the same as the stack from
|
/* Put starting stack in SRAM (8 Kb); this size is the same as the stack from
|
||||||
the original script (when everything was in SRAM). */
|
the original script (when everything was in SRAM). */
|
||||||
__stack = 0x8000A000;
|
/* __stack = 0x8000A000; */
|
||||||
/* DWARF debug sections.
|
/* DWARF debug sections.
|
||||||
Symbols in the DWARF debugging sections are relative to
|
Symbols in the DWARF debugging sections are relative to
|
||||||
the beginning of the section so we begin them at 0. */
|
the beginning of the section so we begin them at 0. */
|
||||||
|
|||||||
Reference in New Issue
Block a user