本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:組み込み用マイコンのスタックについて)

組み込み用マイコンのスタックについて

2023/10/15 12:25

このQ&Aのポイント
  • 組み込み用マイコンのスタックについて知りたい
  • ルネサスのH8マイコンの開発をしているが、スタックサイズの計算方法が分からない
  • HEWを使わずにスタックの計算方法を学びたい
※ 以下は、質問の原文です

組み込み用マイコンのスタックについて

2007/08/02 16:33

お世話になっております。

現在、ルネサスのH8マイコンの開発を勉強しております。
その一環として、以前に他の人が作ったプログラムを調べたりしているのですが、スタックサイズの計算方法が分かりません。

本来純正のコンパイラであるHEWを使っていれば、付属のツールでスタックの計算が出来ることは知っているのですが、それらのプログラムは、

・秋月のAKI-H8についてくるCコンパイラ
・BestTechのgcc用コンパイラGDL

などで開発されているので、統合開発環境であるHEWのように便利なツールはついていません。

とはいえ、本来、そんなツールが無くてもスタックの計算は必須事項だとは分かっているのですが、どうやって計算したものか悩んでいます。

ソースファイルをHEW用に書き直すという手もあるのですが、ツールに頼らない
根本的なスタックの計算手法を身につけたいと考えています。

上記のコンパイラを使った場合のスタック計算について、皆様のアドバイスを頂きたいと思います。

どうかよろしくお願い致します。

回答 (1件中 1~1件目)

2007/08/03 09:17
回答No.1

オーム社「C言語でH8マイコンを使いこなす」ISBN4-274-07964-3の5章に詳しく記載されています。
御参照下さい。

補足

2007/08/03 11:11

早速の回答ありがとうございます。
じつは、「C言語でH8マイコンを使いこなす」は私もすでに読んでおりま
す。

この本のから引用ますと、
・本文中の例題は、すべてHEWを使用している場合のもの。
・他のコンパイラでもスタックの計算方法は基本的に変わらない。
 ただし、コンパイラがスタック領域に関するサイズ情報を出力してくれな
 いとスタックサイズの計算は出来ない。
とあります。

確かに、HEWでコンパイルした場合には、ツールとは別に、mainやサブルーチ
ンで消費するスタックのサイズが個別に出力されますので、地道に経路を追
えばある程度のスタックサイズが計算出来ました。

しかし、質問であげましたコンパイラですと、恐らく私がコンパイラの設定
やオプションの設定を完全に理解できていないためだと思うのですが、各関
数ごとのスタックサイズの情報が出力されない、若しくはどこに出力されて
いるのかが分からない状態です。

そのため、上記コンパイラの使用経験のある方のアドバイスをお願いしたい
次第です。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。