(toppers-users 2045) Re: cxx_sample1でBus erroeが出てしまいます
=?iso-2022-jp?B?GyRCJU8lQyVUITw5KTZILWolXyU3JXM1Oz1RSXQbKEI=?=
sew-gijyutsu @ happy-ind.co.jp
2005年 7月 5日 (火) 15:22:57 JST
新井田です。
高木様、もなか様、色々ありがとうございます。まだ動いてはいないのですが、
> 止まってしまうのはバナー出力の前でしょうか?後でしょうか?
ハイパーターミナルには何も出てきません。
main_task()の先頭にブレークポイントを入れてみましたが、そこまでも来ていない
ようです。
> .initセクションが0x0番地になっているようです。
> .textの前後になるようにリンカスクリプトを調整してください。
以下のようになりました。
Loading section .text, size 0xdc80 lma 0xc004000
Loading section .init, size 0x36 lma 0xc011c80
現在の状況は、次の通りです。
Program received signal SIGBUS, Bus error.
_malloc_r (reent_ptr=0x45aa5da8, bytes=59)
> STACKTOPの定義と、.bssおよび_endの定義が分かれば、ある程度見えてくるかもし
れません。
> (gdb) print _end
> などして、_endに割当てられたアドレスを
> 見てみるというのが第一歩かと思います。
No symbol "_end" in current context.と言われてしまいました。やはり何か違って
いるのかもしれません。
リンカスクリプトも実は内容がよくわからないまま
sh-hitachi-elf/lib/ldscripts/shelf.x の該当するセクションを持ってきただけの
ような感じです。
.bss、_endのあたりは下記のようになっています。
__idata_end = __idata_start + SIZEOF(.data);
_edata = . ;
PROVIDE (edata = .);
. = ALIGN(4);
__bss_start = . ;
.bss :
{
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON)
. = ALIGN(32 / 8);
}
_end = . ;
PROVIDE (end = .) ;
.comment 0 : { *(.comment) }
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
}
STACKTOPは /config/sh3/hsb7727st/sys_defs.h で、下記のように定義されていま
す。これが使われているのでしょうか?
#define STACKTOP 0x0c200000
何もわからない状態でご迷惑おかけしますが、宜しくお願い致します。