[H8-ML(2519)] Re: 20KB を超えると転送できない??
From: "Fujisawa Toru" <fujisawa@xxxxxxxxxxxxxxxxxxxxx>
Date: 2002年12月06日(金)22時28分41秒
藤澤@神工大です。お世話になっています。
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


スレッド概略
[2478(R)](起点)
 └[2504(U)]
   └[表示中]
     ├[2520(1)]
     ├[2522(2)]
     └[2525(3)]


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


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