[H8-ML(2505)] Re: 20KBを超えると転送できない??
From: Fujisawa Toru <fujisawa@xxxxxxxxxxxxxxxxxxxxx>
Date: 2002年11月28日(木)22時49分41秒
こんばんは。藤澤@神工大です。

たろすけさん,hamayanさん,お返事ありがとうございます。

やはり,セクションの記述がおかしかったようですね。マニュアルを見ても秋
月のドキュメント見てもよく分からなかったので,大変参考になりました。


>だからCはどこ?というのはさておいても、3048のRAMってff000なんかから始ま
>ってたっけ?ちなみに、Pはプログラム、Cはリテラル等のデータ、Dは定数、Bは
>変数、Rは変数の初期値です。CとDの区別があやふやだけど。
>というわけでSTART行をSTARTUP,P,C,D,R(0),B(ffef10)と書けばいいのでは?
>
>なお、これはプレフィックスなので#pragma section HOGEとやって書いた関数の
>セクション名はPHOGEになります。

なるほどですね。明日もう一度メモリマップを見てみます。
ちなみに今日はCPUボードがお亡くなりになったので,仕事を切り上げて早々
と
帰ってきた次第です。


>Rセクションは、ROM化プログラムならではのセクションで、通常、初期化時に
>ROMの中のDセクションの内容を、RAM上に有るRセクションにコピーして、
>使います。Dセクションの内容は初期値付き変数領域です。
>だから、DセクションとRセクションが同じROM領域に設定される事が変だな!
>と思った次第です。
>他の人のプログラムを参考にすると、
>
>ROM(D,R)
>VECTOR(0),P,C,D(100),R,B(0FFEF10)
>
>辺りで使用していないでしょうか?
>Cセクションですが、多分MAPファイルを見ると、Bセクションの後ろに配置され
>ていないでしょうか?
>CセクションはROM領域に取る領域で、定数が書かれています。
>
>CセクションがBセクションの後ろに配置された為に、物凄く広大な領域をROMに
>書こうとして、書き込みのパーセント表示が進まなかったのではないでしょうか?

まさにそのとおりです。パーセント表示が進まないのでなにか大きな領域に書
こうと
している感じでした。


>ちなみに、ROM化を目的としたターゲットのC言語を使ったプログラミングでは、
>先の初期値付き変数領域のコピーと、初期値無し変数領域、つまりBセクションの
>クリアを、BOOT時に行う必要がありますが、行っていますか?

確認してみます。


>この辺の解説は、ちょっと前のトラ技に特集されていますよ。

トラ技の特集を探すというのは目からうろこでした。とびとびだったり,全部
読ま
なかったりで手元にないので,無いものと思い込んでいました。週末に大きな
本屋
に繰り出して,バックナンバーを探してみることにします。


みなさんのおかげでようやく希望の光が見えてきました。
またチャレンジしてみます!


スレッド概略
[2478(R)](起点)
 └[2504(U)]
   └[表示中]


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


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