TOP > ソフトウェア > プログラムをRAM上で動かす。
 ■ RAM上で動かすには・・・

 H8は、ROM書き込み回数に制限があり、約1000回ほどしか書き込めません。そのため、ちょっとしたプログラムでもROMへ書き込むのに抵抗を感じてしまいます。
 そこで登場するのが、RAM上でプログラムを動かすという方法です。RAMですから、何度でもプログラムを転送できます。制限としては、RAMの容量が8KBしかないことです。それでも、書き込みの制限は気にしなくて済みますから、ちょっとした実験的なプログラムも試しやすくなります。
 今回は、RAMへの転送するためのプログラムの作り方をご紹介します。

 ■ RAMへの転送は、Sectionの編集だけ

  RAMへ転送するプログラムを作るには、実はSectionのアドレスを変更するだけで済みます。それでは、上部メニューのOptionsからLinkerを選択してください。

 ここで、Sectionタブに切り替えます。この画面の各種アドレスを順番に変えていきます。



 アドレスを変更する箇所を書き出してみます。
StarAddress Group Name
 0x00000000 .vects  ⇒ 0x000FE000
 0x00000100 .text   ⇒ 0x000FE100
 0x00FFDF10 .data   ⇒ ※1
 0x00FFFF10 .stack  ⇒ 0x000FFF10
 アドレスは上記のように変更します。※1に関しては、次のステップで変更方法を説明します。

 .dataの部分をダブルクリック、もしくは.dataを選択後、Modifyを押して、右の画像と同じ状態にします。
 ここで、Start addressの下の文字を[Follow on from previous group]に変更します。そして、Initialy place after を.dataの前にある[ .tor]にします。

 最終的な表示は以下の通り。 StarAddress Group Name 0x000FE000 .vects 0x000FE100 .text .data 0x000FFF10 .stack  この状態で、ビルドすれば完成。あとは、モニタデバッガに転送し、G[Enter]でOKです。

 ■ おまけ

 今回、ベクタテーブルをFE00に置きました。なぜFDF10じゃダメなのか・・・。FDF10には、モニタデバッガ自身が使用しているデータが置いてあるので、ベクタテーブルで上書きしてしまうと誤動作してしまうのです。
 


履歴 2005年9月29日 公開 2005年12月15日 印刷しやすい様にレイアウトを修正

[TOP] [ソフトウェア] [Sectionの編集]
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送