藤澤@神工大です。お世話になっています。 hamayanさん、クラタニさん、フォローありがとうございました。 亀レスで恐縮ですが、、、 S-formatのドキュメントについてはまだ読み始めたばかりです(各種I/Fの フォーマットまで大量にあって、私はただ驚愕するばかりでした。今後何か と役立ちそうなのでで、本当に感謝しています。) セクションに関しては、図書館でトラ技のバックナンバーを探してみました。 2002年3月号の「特集 H8マイコン活用テクニック」に期待して、特集部分を 何度も読みましたが、セクションの書き方に関する情報には辿りつけませんでし た。 (収穫といえば、秋月のCコンパイラマニュアルPDFの20ページにセクション名の 意味が書いてあったぐらいで・・・) > Rセクションは、ROM化プログラムならではのセクションで、通常、初期化 時に > ROMの中のDセクションの内容を、RAM上に有るRセクションにコピーし て、 > 使います。Dセクションの内容は初期値付き変数領域です。 > だから、DセクションとRセクションが同じROM領域に設定される事が変だ な! > と思った次第です。 > 他の人のプログラムを参考にすると、 > > ROM(D,R) > VECTOR(0),P,C,D(100),R,B(0FFEF10) > > 辺りで使用していないでしょうか? 初期化つき変数を用いているのでセクションDがRAMにコピーされないと まずそうですね。仙台電波高専の熊谷さんのページを参考にすると、その コピーはライブラリ関数を利用されるそうですね。秋月のC言語マニュアル にはライブラリとしてセクションのコピー関数が見当たらないのですが、 そのような関数はどこかにあるのでしょうか。。。 http://www.sendai-ct.ac.jp/~ckuma/micom/3048/c_start.html ROM(D,R)のは領域確保だけでコピーはしない筈ですし・・・。 > Cセクションですが、多分MAPファイルを見ると、Bセクションの後ろに配 > 置されていないでしょうか? > CセクションはROM領域に取る領域で、定数が書かれています。 MAPファイルにCセクションが無いのですが、CONST型を使っていないから OKということにはなりませんか? > ちなみに、ROM化を目的としたターゲットのC言語を使ったプログラミング > では、先の初期値付き変数領域のコピーと、初期値無し変数領域、つまりBセ クショ > ンのクリアを、BOOT時に行う必要がありますが、行っていますか? > > この辺の解説は、ちょっと前のトラ技に特集されていますよ。 Bセクションのクリアについてもやはり、やり方が分かりません。。。 トラ技の年月号か、アバウトでもいつ頃出ていたかお分かりでしたら 教えていただけると助かります。 相変わらず初歩的な質問で恐縮ですが・・・ 以上、宜しくお願いいたします。 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.423 / Virus Database: 238 - Release Date: 2002/11/25