[H8-ML(2441)] RE: [H8-ML(2440)] Re: sprintfを使うと暴走?
From: "Norio Onda" <n.onda@xxxxxxxxxxxxxxxxxxx>
Date: 2002年11月25日(月)10時34分08秒
eqpredさん、こんにちは。恩田です。

割り込んでしまってすみません。
H8OS、私もはまりました。

> > こんにちは。平田@今日は仕事がなくてぶらぶら です
> (^_^)
> 
> >  問題ありません(^_^) するとstackサイズかな・・ sprintfは結構stackを消費し
> > ますが余裕ありますか?
> 
>   ス、スタックですか?H8OSのシステムコールの仕様書(キット付属)を読むと、sprintfは
> システムのAPIと説明され、本来はprintf.hはインクルードしないでも、syscall.hで動作
> するような気がしています。平田さんのご指摘を試すには、どのようにプログラムを変更
> するべきなのでしょうか。
 H8OSは、そのままの状態ではH8内蔵メモリ16KBしか使用してないようです。(外部RAMは
ユーザーがすべて利用可能という記述がありました)したがって、スタック・ユーザープログラム
システムが使用するメモリなど全て内蔵RAMで行っているので、スタックがオーバーフロー
しているのかなと思います。
 これを後からいじるには、スタートアップルーチンに手を加えねばならないのでは?と思います。
もしくは、あまり期待できないですが、運良く、ユーザープログラムを走らす前にシステムがサブ
ルーチンコール・退避していなければ、ユーザープログラムでスタックポインタを外部RAM領域に
変更してもいいんじゃないでしょうか?
(インラインアセンブラでSP(ER7)を直接いじってみてはどうでしょうか?)

-----------------------------
恩田紀雄
n.onda@xxxxxxxxxxxxxxxxxxx
スレッド概略
[2434(R)](起点)
 └[2440(U)]
   └[表示中]
     └[2445(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]